1、C语言答辩报告 饭店管理系统 一需求分析 设计一个饭店的系统用来实现预约订餐等基本功能。 饭店管理系统的主要功能: 1.餐饮管理包括 提前预约、点菜的功能 ;通过这项功能从而能够使得客户 在到饭店以前就可以提前预约好,从而可以使客户能够在未到饭店以前就可 以约定好了 . 2.收银管理 为结账 . 3.查询管理 包括账单查询 和预约查询。预约查询可以查询客户已经预约的 情况。从而当预约的客户过来时能够方便的验证。账单查询能够方便的显示 。出各个桌子的消费情况 二思路分析 首先编写一个程序用来存储本店的菜单以及菜的价格,这样就可以快捷方便 的调用出来,接下来开始编写主要的程序。 本系统总共有三个模
2、块,分辨是餐饮管理,查询管理,以及收银管理,餐饮 管理用来存储顾客的预约信息和点菜的信息,查询管理用来查看顾客的预约 信息,从而来确认以及每个桌子上的消费信息,最后收银管理用来结账。 三概要设计 饭店管理系统 输入密码进入系统 查询管理 收银管理 退出系统 餐饮管理 提前预约点菜系统退出预约查询账单查询退出结帐 给客人分配座位查询菜单 记录预约客户姓名 记录手机号码后四位记录客户的点菜情况 记录预约时间 餐饮管理 饭店管理系统 功能 功能 餐饮管理 提前预约 查询管理 点菜系统 收银管理查询管理 功能 收银管理 功能 预约查询 结帐 账单查询提前预约 功能 记录预约客户姓名 记录预约客户手机后
3、四位 记录预约的时间 点菜系统 功能 分配客人座位 显示菜单 记录消费情况 消费情况的记录 桌位号 菜名菜单的显示 菜名 价格 价格 输入密码 打开系统 有人预约预约客户来 进入餐饮管理 打开提前预约功 能,记录预约信息 预约客户过来, 进入查询管理, 打开预约信息查 询,确认 点菜系统,显示 菜单,分配座位 号,记录消费信息 查询消费信息, 进行最后结算 员工下班退 出系统 输入菜名和价格 菜单的设定和 四详细设计菜单设定程序代码 #include #definestruct caidan10000; void open file); size 15 caidan_typechar cain
4、ame15;int jiage; save() FILE *fp; int i; if(fp=fopen(caidan_list,wb)=NULL) printf(cannotreturn; for(i=0;isize;i+) 保存在 caidan_list 中 if( fwrite(&caidani,sizeof(struct caidan_type),1,fp)!=1) printf (ile write errorn); fclose(fp); void main() int i; for(i=0;isize;i+) scanf(%s%d,caidani.cainame,&caidani
5、.jiage); save(); 饭店系统代码 #include #define size 10000 struct yuyuexitong_type/定义顾客的预约信息 char name10; int mobilenum; int time; yuyue10000; struct caidan_type/定义菜单的信息 char cainame15; int jiage; caidan10000; struct diancai_type/定义每个桌子点菜的信息 int zhuoweihao; char caiming15; int jiage; dian1000; void save(in
6、t i,int f)/储存预约人信息 FILE *fp; if(fp=fopen(yuyu_list,wb)=NULL) file); open printf(cannotreturn; for(i=0;if;i+) if( fwrite(&yuyuei,sizeof(struct yuyuexitong_type),1,fp)!=1) printf (ile write errorn); fclose(fp); void savedian(int g,int e)/储存每个桌子的点菜的信息 FILE *fp; if(fp=fopen(diancai_list,wb)=NULL) printf
7、(cannot open file); return; for(g=0;ge;g+) if( fwrite(&diang,sizeof(struct diancai_type),1,fp)!=1) printf (ile write errorn); fclose(fp); void caidanxianshi()/显示菜单 int i; FILE *fp; fp=fopen(caidan_list,b); for(i=0;i15;i+) fread(&caidani,sizeof(struct caidan_type),1,fp); printf(%-12s %-12dn,caidani.c
8、ainame,caidani.jiage); fclose(fp); void xianshi(int f)/显示预约者的信息 int i; FILE *fp; 显示每个桌子的点菜的信息fp=fopen(yuyu_list,b);/for(i=0;if;i+) fread(&yuyuei,sizeof(struct yuyuexitong_type),1,fp); printf(%-12s %-12d %-12dn,yuyuei.name,yuyuei.mobilenum,yuyuei.time); fclose(fp); void diancaixianshi(int h) int i; F
9、ILE *fp; fp=fopen(diancai_list,b); for(i=0;ih;i+) fread(&diani,sizeof(struct diancai_type),1,fp); printf(%-12d %-12s %-12dn,diani.zhuoweihao,diani.caiming,diani.jiage); fclose(fp); void main()/主函数 int i=0,n,f,nn,m,a=0,b,d,e,g,h=0,j,k,l; long z; re: 牰湩晴尨请输入 6 位密码进入系统n);/输入密码用来组织非本店人员的进入 scanf(%d,&z);
10、 if(z=695730) 牰湩晴尨进入饭店管理系统n); kaishi: 牰湩晴尨功能选项 1.餐饮管理2.查询管理 3.收银管理 4.退出系统n); scanf(%d,&nn); if(nn=1)/进入餐饮管理功能 ss: 牰湩晴尨餐饮管理选项 1.预约记录 2.桌台点菜 3.退出n); scanf(%d,&n); f=i; b=a; if(n=1)灻楲瑮?记录预约信息n); 牰湩晴尨姓名手机后四位时间(点)n); scanf(%s%d%d,yuyuei.name,&yuyuei.mobilenum,&yuyuei.time); save(i,f); 牰湩晴尨记录完毕n); i+; got
11、o ss; if(n=2) 牰湩晴尨分配桌位号为(总共有 35 个桌子)n); scanf(%d,&d); 牰湩晴尨显示菜单n); 牰湩晴尨菜名价格(元)n); caidanxianshi(); 牰湩晴尨记录客人点的菜n); 牰湩晴尨所点菜的数目:); scanf(%d,&e); 牰湩晴尨桌位号菜名价格(元)n); for(g=h;gh+e;g+) scanf(%d%s%d,&diang.zhuoweihao,diang.caiming,&diang.jiage); savedian(g,e); 牰湩晴尨记录完毕n); h=h+e; goto ss; if(n=3) goto kaishi;
12、else 牰湩晴尨输入有误请重新输入n); goto ss; if(nn=2)/进入查询管理功能 mm: 牰湩晴尨功能选项 1.预约信息查询2.消费查询 3.退出n); scanf(%d,&m); if(m=1) 牰湩晴尨显示预约信息n); 牰湩晴尨姓名手机后四位)n);点(时间 xianshi(f); goto mm; if(m=2) 牰湩晴尨显示消费信息n); 牰湩晴尨桌位号菜名价格(元)n); diancaixianshi(h); mm;goto if(m=3) kaishi; goto else n);输入有误请重新输入牰湩晴尨 mm;goto 进入收银管理功能if(nn=3)/ l=
13、0; n);牰湩晴尨请输入要结账的桌位号 scanf(%d,&j); for(k=0;kg;k+) if(j=diank.zhuoweihao) l=diank.jiage+l; printf(%d,l); n);元牰湩晴尨 n);牰湩晴尨收银成功 kaishi; goto if(nn=4) n);牰湩晴尨退出系统 else 牰湩晴尨输入有误请重新输入n); goto kaishi; else 牰湩晴尨输入有误请重新输入n); goto re; 五测试数据及其结果分析 总体测试中基本能够符合要求主要不好的原因还是界面太难看以及操作有点 繁琐。 六、调试过程中的问题 在调试中有时因为里面 fot
14、 循环没有用好的情况而使得里面储存数据的时候 出现了错误,存储的顺序不对,其次就是数据的整型,字符行,字符串的设定 上出了问题,还有显示存储信息时把调用的地址写错误,从而出现了一堆的乱 码。 七、专业课程设计总结 通过本次的实验,是我掌握了以前 C 语言中不太了解的数据的输入输出的使 用。以及一个简单系统的简单开发的方法,首先我们要先设定好这个程序的具 体大概使用的功能,然后设计好每个功能里具体好友那些模块,紧接着画出流 程图,最好编写程序,编写完成后还有步很重的事情,就是程序的测试,用来 检查出程序的不完整之处。 最后小组里一起的讨论也能帮助你的设计和开发,可以得到其它的意见。 这次课程设计让我们原本就已经很少动手的大学生活里多了一次实践的机会, 我相信只有通过这种方式才能有效的增强我们的能力。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1