团购网站信息管理系统.docx
- 文档编号:11182328
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:19
- 大小:18.15KB
团购网站信息管理系统.docx
《团购网站信息管理系统.docx》由会员分享,可在线阅读,更多相关《团购网站信息管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
团购网站信息管理系统
#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; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网站 信息管理 系统