c语言程序设计报告new

c语言程序设计报告new

ID:18680541

大小:109.28 KB

页数:13页

时间:2018-09-21

c语言程序设计报告new_第1页
c语言程序设计报告new_第2页
c语言程序设计报告new_第3页
c语言程序设计报告new_第4页
c语言程序设计报告new_第5页
资源描述:

《c语言程序设计报告new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2012级《C课程设计》大作业设计报告设计题目:餐厅信息管理程序小组参与人员:姓名:学号:专业班级:分工:姓名:学号:专业班级:分工:姓名:学号:专业班级:分工:主函数及欢迎界面是一起完成的。1.题目:餐厅服务系统系统功能设计a.要求实现客户点菜的过程、客户结账、账目的管理、餐厅系统的维护四大功能模块,每个功能模块又分别对应一些不同操作子模块,从而完成一个餐厅信息管理信息系统。b.可以使用三种不同的结构体来分别存储餐桌、菜以及订单信息。b.使用文本文件完成数据的存储与读取,完成账单的管理。界面要求欢迎界面、登录界面、管理界面。2.设计方案说明2.1数据的存储结构因为菜,餐桌

2、信息均不只含有一项内容,所以使用结构体数组typedefstructf//菜信息{charname[30];//菜名intprice;//菜定价}_food;typedefstructt//餐桌信息{intflag;//定义变量名用于判断intfoo[30];//餐桌编号}_table;structr//订单信息{_foodfood[20];//所选菜信息_tabletable[30];//所选餐桌信息};2.2函数之间的调用关系说明在主函数中通过case选择语句调用system("cls");menu(&restaurant);order(&restaurant);sav

3、e(&restaurant);book(&restaurant);bill(&restaurant);total_information(&restaurant);change_menu(&restaurant);entry(&restaurant);九个函数,其中各函数中又个别嵌套调用了其他函数。2.3各函数说明①order(structr*restaurant)订餐的函数:restaurant是指向structr结构体的指针。输入餐桌号i,如果table[i].flag是1或2,则显示该桌已被选定,系统提示重新选择餐桌号,通过嵌套函数order(restaurant)再

4、次选择。如果table[i].flag不是1或2,则该桌可用,同时使table[i].flag变为1防止重复选定。然后是for语句循环,直到输入999之前可以持续点餐,点餐通过输入菜对应的编号实现,想重复点同一道菜可以再次输入编号。②book(structr*restaurant)预定餐桌和菜的函数:restaurant是指向structr结构体的指针。系统提示“请输入预定的桌子号码(1-30):”同order函数,若table[i].flag是1或2,则显示该桌已被选定,系统提示重新选择餐桌号,通过嵌套函数book(restaurant)再次选择。如果table[i].f

5、lag不是1或2,则该桌可预定,同时使table[i].flag变为2防止重复预定。for(j=1;restaurant->table[i].foo[j-1]!=999;j++){scanf("%d",&restaurant->table[i].foo[j]);}意思是只要输入的编号不是999就可以持续点菜(bill函数有设置,即使输入的编号超过菜单范围也不会被收费。特别注意for语句循环中是j-1而不是j,因为从第二次循环开始,先j++后判断)printf("预定成功!!");getchar();getchar();其中第一个getchar();用以接收回车键,第二个

6、getchar();返回主界面。③bill(structr*restaurant)用于结账的函数:若table[i].flag是1,表示正被使用,可以结帐;若table[i].flag是2,表示已被预定,可以结账。如果不是1或2,则表示没人,不能结账。restaurant->food[restaurant->table[i].foo[j]].price表示第i张桌子点的菜的编号,bill+=restaurant->food[restaurant->table[i].foo[j]].price是把所有菜的价格相加。restaurant->table[i].foo[j]<21&

7、&restaurant->table[i].foo[j]>0表示如果输入的编号不在菜单范围内就不能算入账单,否则会出错,这提高了容错性。结账后,若是输入1,由if(j==1)restaurant->table[i].flag=-1;知该桌位会被释放供其他客人使用,再按2return返回界面。④函数total_information(structr*restaurant)功能:显示所有进账和餐厅信息实现方法:此函数无返回值,首先定义并初始化变量,输出标题后通过for循环计算出进账金额及被使用的桌子和剩余桌子数for(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。