团购网站信息管理系统.docx

上传人:b****8 文档编号:11182328 上传时间:2023-02-25 格式:DOCX 页数:19 大小:18.15KB
下载 相关 举报
团购网站信息管理系统.docx_第1页
第1页 / 共19页
团购网站信息管理系统.docx_第2页
第2页 / 共19页
团购网站信息管理系统.docx_第3页
第3页 / 共19页
团购网站信息管理系统.docx_第4页
第4页 / 共19页
团购网站信息管理系统.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

团购网站信息管理系统.docx

《团购网站信息管理系统.docx》由会员分享,可在线阅读,更多相关《团购网站信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。

团购网站信息管理系统.docx

团购网站信息管理系统

#include

#include

#include

#definePFprintf

#defineSFscanf

#defineN100

structuser//定义结构体

{

intnumber;

chara[4];

inttime;

};

typedefstructuseruser;

userus[N];//定义全局可用的结构体数组

voidmenu()

{

PF("\t\t**************团购信息管理系统欢迎您**************\n");

PF("\t\t*\t\t|1.管理员登录*\n");

PF("\t\t*\t\t|0.退出*\n");

PF("\t\t**************团购信息管理系统欢迎您**************\n\n");

}

voidadministrator()

{

PF("\t\t*****************团购信息管理系统*****************\n");

PF("\t\t*\t\t|1.团购信息录入*\n");

PF("\t\t*\t\t|2.团购信息浏览*\n");

PF("\t\t*\t\t|3.团购信息查询*\n");

PF("\t\t*\t\t|4.团购信息的添加*\n");

PF("\t\t*\t\t|5.团购信息的删除*\n");

PF("\t\t*\t\t|0.退出系统*\n");

PF("\t\t*****************团购信息管理系统*****************\n\n\n");

PF("\t\t请输入以上序号进行选择:

");

}

voiddisplay()

{

PF("\n\t\t*******************团购信息查询*******************\n");

PF("\t\t*\t\t|1.团购信息表*\n");

PF("\t\t*\t\t|2.团购利润排序统计*\n");

PF("\t\t*\t\t|3.团购支出排序统计*\n");

PF("\t\t*\t\t|0.返回主菜单*\n");

PF("\t\t*******************团购信息查询*******************\n\n\n");

PF("\t\t请输入以上序号进行选择:

");

}

voidcheckID()//检验用户名

{

charc[6];

PF("\t\t请输入用户名:

");

while

(1)

{

SF("%s",c);getchar();

if(c[0]=='a'&&c[1]=='d'&&c[2]=='m'&&c[3]=='i'&&c[4]=='n'&&c[5]=='\0')

break;

PF("\t\t用户名错误,请重新输入:

");

}

}

voidpassword(intp)//检验密码

{

intn=0;

while(p!

=123456)

{

n++;

if(n==1)

PF("\t\t密码错误,您还有两次输入机会:

");

if(n==2)

PF("\t\t密码错误,您还有一次输入机会:

");

if(n==3)

exit(0);

scanf("%d",&p);

}

PF("\n");

}

inttongji(inti,intc,intd,intm)//输入起始和结束时间筛选出各项在该时间段内的个数

{

intk=0,n;

for(n=0;n

{

if(us[n].time>=c&&us[n].time<=d)

{

if(us[n].a[i]=='y')

k++;

}

}

returnk;

}

voidxinxi(n)//这个输出最全的团购信息,但是不排序,不保存

{

intb[4],c,d,i,k=0;

PF("\n\t\t请输入起始时间:

");

SF("%d",&c);

PF("\t\t请输入结束时间:

");

SF("%d",&d);

for(i=0;i<=3;i++)//执行统计子函数,将各项在时间段内的个数存到b[0]、b[1]、b[2]、b[3]中

{

b[k]=tongji(i,c,d,n);

k++;

}

PF("\n类型商户名称地点电话最低人数");

PF("实际人数\t收入\t支出\t利润\n");

PF("电影A北京132111111112");

PF("%d\t%d\t%d\t%d\n",b[0],b[0]*100,b[0]*85,b[0]*15);//制表符后加空格才有用

PF("健身房B上海136222222223");

PF("%d\t%d\t%d\t%d\n",b[1],b[1]*150,b[1]*130,b[1]*20);

PF("餐厅C南京137333333332");

PF("%d\t%d\t%d\t%d\n",b[2],b[2]*200,b[2]*175,b[2]*25);

PF("宾馆D杭州138444444443");

PF("%d\t%d\t%d\t%d\n",b[3],b[3]*250,b[3]*220,b[3]*30);

PF("\n\t\t\t总计:

\t收入\t支出\t利润\t\n");

PF("\t\t\t\t%d\t%d\t%d\t\n",b[0]*100+b[1]*150+b[2]*200+b[3]*250,b[0]*85+b[1]*130+b[2]*175+b[3]*220,b[0]*15+b[1]*20+b[2]*25+b[3]*30);

PF("\n");

}

voidlirun(intn)//将各项利润按由大到小排序

{

FILE*fp=fopen("D:

\\lirun.txt","w");//定义一个文件指针,新建并将指针指向文件

intb[4],c,d,i,k=0,s,temp,l,index,t=0;

char*t1="\t\t\t\t类型\t利润\n",*t2="\t\t\t\t电影",*t3="\t\t\t\t健身房",*t4="\t\t\t\t总计",*t5="\t\t\t\t餐厅",*t6="\t\t\t\t宾馆",*t7="\t\t\t\t起始时间:

",*t8="\t\t\t\t结束时间:

";

charlen1,len2,len3,len4,len5,len6;

structf//定义结构体数组,用来存放利润和标记项目的数字

{

inty,z;

}f[4];

PF("\n\t\t请输入起始时间:

");

SF("%d",&c);

PF("\t\t请输入结束时间:

");

SF("%d",&d);

for(i=0;i<=3;i++)//执行统计子函数,将各项在时间段内的个数存到b[0]、b[1]、b[2]、b[3]中

{

b[k]=tongji(i,c,d,n);

k++;

}

f[0].z=b[0]*15;f[0].y=0;

f[1].z=b[1]*20;f[1].y=1;

f[2].z=b[2]*25;f[2].y=2;

f[3].z=b[3]*30;f[3].y=3;

s=f[0].z+f[1].z+f[2].z+f[3].z;

PF("\n\t\t\t\t类型\t利润\n");

for(l=0;l<3;l++)//将存于f[l].z中的数按有大到小的顺序排序并保存,并将标记相应项目的数字交换

{

index=l;

for(t=l+1;t<4;t++)

if(f[t].z>f[index].z)

index=t;

if(index!

=l)

{

temp=f[index].z;

f[index].z=f[l].z;

f[l].z=temp;

temp=f[index].y;

f[index].y=f[l].y;

f[l].y=temp;

}

}

len1=strlen(t1);//将想要输出的文段所占空间长度测出,以便之后的文本输出

len2=strlen(t2);

len3=strlen(t3);

len4=strlen(t4);

len5=strlen(t7);

len6=strlen(t8);

fwrite(t7,len5,1,fp);//将文段输入到fp所指的文档中

fprintf(fp,"%d\n",c);

fwrite(t8,len6,1,fp);

fprintf(fp,"%d\n\n",d);

fwrite(t1,len1,1,fp);

for(l=0;l<4;l++)//将统计信息输出到屏幕并保存为文件

{

if(f[l].y==0)

{

PF("\t\t\t\t电影");PF("\t%d\n",f[l].z);

fwrite(t2,len2,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

if(f[l].y==1)

{

PF("\t\t\t\t健身房");PF("\t%d\n",f[l].z);

fwrite(t3,len3,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

if(f[l].y==2)

{

PF("\t\t\t\t餐厅");PF("\t%d\n",f[l].z);

fwrite(t5,len2,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

if(f[l].y==3)

{

PF("\t\t\t\t宾馆");PF("\t%d\n",f[l].z);

fwrite(t6,len2,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

}

PF("\t\t\t\t总计");PF("\t%d\n\n",s);

fwrite(t4,len4,1,fp);fprintf(fp,"\t%d\n",s);

fclose(fp);

}

voidzhichu(intn)//将支出由大到小排序

{

FILE*fp=fopen("D:

\\zhichu.txt","w");//定义一个文件指针,新建并将指针指向文件

intb[4],c,d,i,k=0,s,temp,l,index,t=0;

char*t1="\t\t\t\t类型\t支出\n",*t2="\t\t\t\t电影",*t3="\t\t\t\t健身房",*t4="\t\t\t\t总计",*t5="\t\t\t\t餐厅",*t6="\t\t\t\t宾馆",*t7="\t\t\t\t起始时间:

",*t8="\t\t\t\t结束时间:

";

charlen1,len2,len3,len4,len5,len6;

structf//定义结构体数组,用来存放利润和标记项目的数字

{

inty,z;

}f[4];

PF("\n\t\t请输入起始时间:

");

SF("%d",&c);

PF("\t\t请输入结束时间:

");

SF("%d",&d);

for(i=0;i<=3;i++)//执行统计子函数,将各项在时间段内的个数存到b[0]、b[1]、b[2]、b[3]中

{

b[k]=tongji(i,c,d,n);

k++;

}

f[0].z=b[0]*85;f[0].y=0;

f[1].z=b[1]*130;f[1].y=1;

f[2].z=b[2]*175;f[2].y=2;

f[3].z=b[3]*220;f[3].y=3;

s=f[0].z+f[1].z+f[2].z+f[3].z;

PF("\n\t\t\t\t类型\t支出\n");

for(l=0;l<3;l++)//将存于f[l].z中的数按有大到小的顺序排序并保存,并将标记相应项目的数字交换

{

index=l;

for(t=l+1;t<4;t++)

if(f[t].z>f[index].z)

index=t;

if(index!

=l)

{

temp=f[index].z;

f[index].z=f[l].z;

f[l].z=temp;

temp=f[index].y;

f[index].y=f[l].y;

f[l].y=temp;

}

}

len1=strlen(t1);//将想要输出的文段所占空间长度测出,以便之后的文本输出

len2=strlen(t2);

len3=strlen(t3);

len4=strlen(t4);

len5=strlen(t7);

len6=strlen(t8);

fwrite(t7,len5,1,fp);//将文段输入到fp所指的文档中

fprintf(fp,"%d\n",c);

fwrite(t8,len6,1,fp);

fprintf(fp,"%d\n\n",d);

fwrite(t1,len1,1,fp);

for(l=0;l<4;l++)//将统计信息输出到屏幕并保存为文件

{

if(f[l].y==0)

{

PF("\t\t\t\t电影");PF("\t%d\n",f[l].z);

fwrite(t2,len2,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

if(f[l].y==1)

{

PF("\t\t\t\t健身房");PF("\t%d\n",f[l].z);

fwrite(t3,len3,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

if(f[l].y==2)

{

PF("\t\t\t\t餐厅");PF("\t%d\n",f[l].z);

fwrite(t5,len2,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

if(f[l].y==3)

{

PF("\t\t\t\t宾馆");PF("\t%d\n",f[l].z);

fwrite(t6,len2,1,fp);fprintf(fp,"\t%d\n",f[l].z);

}

}

PF("\t\t\t\t总计");PF("\t%d\n\n",s);

fwrite(t4,len4,1,fp);fprintf(fp,"\t%d\n",s);

fclose(fp);

}

voidchaxun(intn)//这是核心功能,团购信息查询

{

intchoice;

do

{

display();

scanf("%d",&choice);

switch(choice)

{

case1:

xinxi(n);

break;

case2:

lirun(n);

break;

case3:

zhichu(n);

break;

case0:

break;

default:

PF("\t\t\t\t请重新输入!

\n\n");

break;

}

}while(choice);

PF("\n");

}

intluru()//录入函数

{

intn=0;

while

(1)

{

charch;

PF("\n\t\t~~~~~~~~~~~~~~~开始输入信息~~~~~~~~~~~~~\n");

PF("\t\t请输入客户编号:

");getchar();

SF("%d",&us[n].number);PF("\n");

PF("\t\t请输入电影,健身房,餐厅,宾馆的订购情况(y/n):

");getchar();//此步千万不能少,少了整个程序完全崩溃

SF("%c,%c,%c,%c",&(us[n].a[0]),&(us[n].a[1]),&(us[n].a[2]),&(us[n].a[3]));PF("\n");getchar();

PF("\t\t请输入购物时间:

");

SF("%d",&us[n].time);PF("\n");getchar();//两次输入之间回车作为保护,否则下次输入跳过

n++;

PF("\t\t是否继续输入,请选择(y/n):

");

SF("%c",&ch);

if(ch=='n')

break;

}

PF("\n");

returnn;

}

voidliulan(n)//此部分验证正确

{

intk;

PF("\n\t\t客户编号电影健身房餐厅宾馆消费时间\n");

for(k=0;k

{

PF("\t\t");

PF("%d",us[k].number);

PF("\t");PF("%c",us[k].a[0]);

PF("\t");PF("%c",us[k].a[1]);

PF("\t");PF("%c",us[k].a[2]);

PF("\t");PF("%c",us[k].a[3]);

PF("\t");PF("%d",us[k].time);

PF("\n");

}

PF("\n");

}

inttianjia(n)

{

while

(1)

{

charch;

PF("\n\t\t请输入客户编号:

");

SF("%d",&(us[n].number));getchar();//跳过回车

PF("\t\t此客户订购电影吗?

");

SF("%c",&(us[n].a[0]));getchar();

PF("\t\t此客户订购健身房吗?

");

SF("%c",&(us[n].a[1]));getchar();

PF("\t\t此客户订购餐厅吗?

");

SF("%c",&(us[n].a[2]));getchar();

PF("\t\t此客户订购宾馆吗?

");

SF("%c",&(us[n].a[3]));getchar();

PF("\t\t请输入此客户的订购时间:

");

SF("%d",&(us[n].time));getchar();

n++;

PF("\t\t还要再次输入吗?

(y/n)");

SF("%c",&ch);

if(ch=='n')

break;

}

PF("\n");

returnn;

}

intshanchu(n)

{

inti,t,f=0,k,l=0;

while

(1)

{

charch;

intc=0;

if(f==0)

PF("\n\t\t请输入需要删除的客户编号:

");

SF("%d",&t);getchar();//输入客户编号不能出现字符,否则输出时出错!

for(i=0;i

{

k=i;

if(us[i].number==t)

{

c=1;

f=1;

break;

}

}

if(c==0)

{

PF("\t\t输入有误,请重新输入客户编号!

\n\n");

continue;

}

l++;

for(i=k;i

{

us[i].number=us[i+1].number;

us[i].a[0]=us[i+1].a[0];

us[i].a[1]=us[i+1].a[1];

us[i].a[2]=us[i+1].a[2];

us[i].a[3]=us[i+1].a[3];

us[i].time=us[i+1].time;

}

PF("\t\t还要再删除吗?

(y/n)");

SF("%c",&ch);

if(ch=='n')

break;

f=0;

}

PF("\n");

returnn-l;

}

voidrunmain()//这是次主体结构

{

intchoice,n=0;

do

{

choice=6;getchar();

administrator();

scanf("%d",&choice);

switch(choice)

{

case1:

n=luru();

break;

case2:

liulan(n);

break;

case3:

chaxun(n);

break;

case4:

n=tianjia(n);

break;

case5:

n=shanchu(n);

break;

case0:

exit(0);

default:

PF("\t\t\t\t请重新输入!

\n\n");

break;

}

}while(choice);

}

intmain()//这是主体结构

{

intchoice,p;

system("colorF9");

do

{

menu();

PF("\t\t\t\t\t");

scanf("%d",&choice);

if(choice==1)

{

checkID();

printf("\t\t请输入登录密码:

");

scanf("%d",&p);

password(p);

runmain(choice);

}

if(choice!

=0&&choice!

=1)

printf("\t\t\t\t请重新输入!

\n\n");

}while(choice);

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1