您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 饭店管理系统实验报告(c语言)
饭店管理系统一.需求分析设计一个饭店的系统用来实现预约订餐等基本功能。饭店管理系统的主要功能:1.餐饮管理包括提前预约、点菜的功能;通过这项功能从而能够使得客户在到饭店以前就可以提前预约好,从而可以使客户能够在未到饭店以前就可以约定好了.2.收银管理为结账.3.查询管理包括账单查询和预约查询。预约查询可以查询客户已经预约的情况。从而当预约的客户过来时能够方便的验证。账单查询能够方便的显示出各个桌子的消费情况。二.思路分析首先编写一个程序用来存储本店的菜单以及菜的价格,这样就可以快捷方便的调用出来,接下来开始编写主要的程序。本系统总共有三个模块,分辨是餐饮管理,查询管理,以及收银管理,餐饮管理用来存储顾客的预约信息和点菜的信息,查询管理用来查看顾客的预约信息,从而来确认以及每个桌子上的消费信息,最后收银管理用来结账。三.概要设计饭店管理系统餐饮管理收银管理查询管理输入密码进入系统退出系统提前预约点菜系统退出预约查询账单查询退出结帐记录预约客户姓名记录手机号码后四位记录预约时间给客人分配座位查询菜单记录客户的点菜情况饭店管理系统功能餐饮管理查询管理收银管理餐饮管理功能提前预约点菜系统查询管理功能预约查询账单查询收银管理功能结帐提前预约功能记录预约客户姓名记录预约客户手机后四位记录预约的时间点菜系统功能分配客人座位显示菜单记录消费情况消费情况的记录桌位号菜名价格菜单的显示菜名价格输入密码打开系统有人预约进入餐饮管理打开提前预约功能,记录预约信息预约客户过来,进入查询管理,打开预约信息查询,确认预约客户来点菜系统,显示菜单,分配座位号,记录消费信息查询消费信息,进行最后结算员工下班退出系统四.详细设计菜单设定程序代码#includestdio.h#definesize15structcaidan_type{charcainame[15];intjiage;}caidan[10000];voidsave(){FILE*fp;inti;if((fp=fopen(caidan_list,wb))==NULL){printf(cannotopenfile);return;}for(i=0;isize;i++){菜单的设定输入菜名和价格和保存在caidan_list中if(fwrite(&caidan[i],sizeof(structcaidan_type),1,fp)!=1)printf(filewriteerror\n);}fclose(fp);}voidmain(){inti;for(i=0;isize;i++){scanf(%s%d,caidan[i].cainame,&caidan[i].jiage);save();}}饭店系统代码#includestdio.h#definesize10000structyuyuexitong_type//定义顾客的预约信息{charname[10];intmobilenum;inttime;}yuyue[10000];structcaidan_type//定义菜单的信息{charcainame[15];intjiage;}caidan[10000];structdiancai_type//定义每个桌子点菜的信息{intzhuoweihao;charcaiming[15];intjiage;}dian[1000];voidsave(inti,intf)//储存预约人信息{FILE*fp;if((fp=fopen(yuyu_list,wb))==NULL){printf(cannotopenfile);return;}for(i=0;if;i++){if(fwrite(&yuyue[i],sizeof(structyuyuexitong_type),1,fp)!=1)printf(filewriteerror\n);}fclose(fp);}voidsavedian(intg,inte)//储存每个桌子的点菜的信息{FILE*fp;if((fp=fopen(diancai_list,wb))==NULL){printf(cannotopenfile);return;}for(g=0;ge;g++){if(fwrite(&dian[g],sizeof(structdiancai_type),1,fp)!=1)printf(filewriteerror\n);}fclose(fp);}voidcaidanxianshi()//显示菜单{inti;FILE*fp;fp=fopen(caidan_list,rb);for(i=0;i15;i++){fread(&caidan[i],sizeof(structcaidan_type),1,fp);printf(%-12s%-12d\n,caidan[i].cainame,caidan[i].jiage);}fclose(fp);}voidxianshi(intf)//显示预约者的信息{inti;FILE*fp;fp=fopen(yuyu_list,rb);//显示每个桌子的点菜的信息for(i=0;if;i++){fread(&yuyue[i],sizeof(structyuyuexitong_type),1,fp);printf(%-12s%-12d%-12d\n,yuyue[i].name,yuyue[i].mobilenum,yuyue[i].time);}fclose(fp);}voiddiancaixianshi(inth){inti;FILE*fp;fp=fopen(diancai_list,rb);for(i=0;ih;i++){fread(&dian[i],sizeof(structdiancai_type),1,fp);printf(%-12d%-12s%-12d\n,dian[i].zhuoweihao,dian[i].caiming,dian[i].jiage);}fclose(fp);}voidmain()//主函数{inti=0,n,f,nn,m,a=0,b,d,e,g,h=0,j,k,l;longz;re:printf(请输入6位密码进入系统\n);//输入密码用来组织非本店人员的进入scanf(%d,&z);if(z==695730){printf(进入饭店管理系统\n);kaishi:printf(功能选项1.餐饮管理2.查询管理3.收银管理4.退出系统\n);scanf(%d,&nn);if(nn==1)//进入餐饮管理功能{ss:printf(餐饮管理选项1.预约记录2.桌台点菜3.退出\n);scanf(%d,&n);f=i;b=a;if(n==1){printf(记录预约信息\n);printf(姓名手机后四位时间(点)\n);scanf(%s%d%d,yuyue[i].name,&yuyue[i].mobilenum,&yuyue[i].time);save(i,f);printf(记录完毕\n);i++;gotoss;}if(n==2){printf(分配桌位号为(总共有35个桌子)\n);scanf(%d,&d);printf(显示菜单\n);printf(菜名价格(元)\n);caidanxianshi();printf(记录客人点的菜\n);printf(所点菜的数目:);scanf(%d,&e);printf(桌位号菜名价格(元)\n);for(g=h;gh+e;g++){scanf(%d%s%d,&dian[g].zhuoweihao,dian[g].caiming,&dian[g].jiage);savedian(g,e);}printf(记录完毕\n);h=h+e;gotoss;}if(n==3){gotokaishi;}else{printf(输入有误请重新输入\n);gotoss;}}if(nn==2)//进入查询管理功能{mm:printf(功能选项1.预约信息查询2.消费查询3.退出\n);scanf(%d,&m);if(m==1){printf(显示预约信息\n);printf(姓名手机后四位时间(点)\n);xianshi(f);gotomm;}if(m==2){printf(显示消费信息\n);printf(桌位号菜名价格(元)\n);diancaixianshi(h);gotomm;}if(m==3){gotokaishi;}else{printf(输入有误请重新输入\n);gotomm;}}if(nn==3)//进入收银管理功能{l=0;printf(请输入要结账的桌位号\n);scanf(%d,&j);for(k=0;kg;k++){if(j==dian[k].zhuoweihao){l=dian[k].jiage+l;}}printf(%d,l);printf(元\n);printf(收银成功\n);gotokaishi;}if(nn==4){printf(退出系统\n);}else{printf(输入有误请重新输入\n);gotokaishi;}}else{printf(输入有误请重新输入\n);gotore;}}五.测试数据及其结果分析总体测试中基本能够符合要求主要不好的原因还是界面太难看以及操作有点繁琐。六、调试过程中的问题在调试中有时因为里面fot循环没有用好的情况而使得里面储存数据的时候出现了错误,存储的顺序不对,其次就是数据的整型,字符行,字符串的设定上出了问题,还有显示存储信息时把调用的地址写错误,从而出现了一堆的乱码。七、专业课程设计总结通过本次的实验,是我掌握了以前C语言中不太了解的数据的输入输出的使用。以及一个简单系统的简单开发的方法,首先我们要先设定好这个程序的具体大概使用的功能,然后设计好每个功能里具体好友那些模块,紧接着画出流程图,最好编写程序,编写完成后还有步很重的事情,就是程序的测试,用来检查出程序的不完整之处。最后小组里一起的讨论也能帮助你的设计和开发,可以得到其它的意见。这次课程设计让我们原本就已经很少动手的大学生活里多了一次实践的机会,我相信只有通过这种方式才能有效的增强我们的能力。
本文标题:饭店管理系统实验报告(c语言)
链接地址:https://www.777doc.com/doc-5965195 .html