版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京联合大学数据结构实训报告课程名称 项目名称 学 院 姓 名 指导老师数据结构实训餐厅点餐系统管理学院业:信息管理与信息系统2011年1月13日目录北京朕合大学1数据结构实训报告1一、实践题目3二、实践目的3三、实践内容31. 选择的数据结构:32. 程序代码及注释33. 程序运行流程图74. 结果8四、个人总结14一、实践题目餐厅点餐系统二、实践目的编写出一个有用户界面的容易使用的点餐系统,服务员可以通过这个系统为顾客点餐,点完餐后可以直接 打印出来或在餐厅后堂打印出来方便厨师及时了解顾客的点餐,如果是餐厅管理者在使用还可以查看原材料的 余量,以便及吋进货。三、实践内容1.选择的数据结构:
2、 线性表,线性存储结构2. 程序代码及注释# include<stdio.h>#in clude<stdlib.h>#in clude<c on io.h>#include,windows.hhstruct cai /*cai结构体实现对菜品已点份数、名称、原材料的记录*/int fen shu;char name50;int use;int price;typedef int elemtype;struct list/*该线性表实现对菜品原材料的剩余量的记录,线性表【i】对应菜品的点餐菜单编码*/elemtype* list;int size;int ma
3、xsize;/*以下为线性表的函数*/void lnitlist(struct list* l,int ms)if(ms<=o)printf("ms 值非法! n");exit(l);l->maxsize=ms;l->list=malloc(ms*sizeof(elemtype);if(!l->list)printfc1动态存储分配失败! “);exit(l);l->size=o;void againmalloc(struct list *l)elemtype *p=realloc(l->list/2*l->maxsize*size
4、of(elemtype);printfc1分配存储空间失败! “); exit(l);l->list=p;l->maxsize=2*l->maxsize;void lnsertlastlist(struct list *l,elemtype x)if(l->size=l->maxsize)againmalloc(l);l->listl->size=x;l->size+;/*表格函数*/void cddayin(struct cai a)int i=oj=o,s=o;for(i=0;i<30;i+)if(ai.fenshu>0) j+;
5、pri ntff1己点菜/酒品编号已点菜品名称for(i=0;i<30;i+)讦(ai.fenshu>0)printf(" %5d¥nname,ai.fe nshu,ai.fenshu*ai.price);s=s+ai.fenshu*ai.price;printf("讦(j=0)printf(“顾客尚未点餐无法进行菜单打印!n“);void ycliao(struct list *yuan,struct cai a)int i=l,p=o,k=o;for(i=0;i<30;i+)己点份数/瓶数价格n”);%10s%14d您好,您点餐价格合计=%d
6、¥nn,s);%ddop=ai.use%100;yuan->listp=yua n >listp 卜 aife nshu; ai.use=ai.use/100;while(ai.use!=0); printf(”|printf("|printf("|printf("| 10.鸡肉=%3d11.猪肉=%3d|n"/yuan->list10/yuan->listll/yuan->list12/yuan->list50);printff" | 13.黄瓜二3d24.土豆=%3d|n"zyuan-
7、>list13/yuan->list14zyuan->list15/yuan->list51);printf("| 16.茄子=%3d17.青椒=%3d|n",yuan->list16,yuan->list17,yuan->list18,yuan->list52);20.鲜鸭血原材料余量1);酒品余量|nh);in");12.鱼肉=%3d15.豆腐=%3d18.牛肉=%3d|50.雪花啤酒=%3di51.燕京啤洒=%3d|52.二锅头二3dprintf("| 19.大葱=%3d|n",yuan-&
8、gt;list19,yuan->list20,yuan->list21);printf(" |22.花椒=%3d|n",yuan->list22,yuan->list23,yuan->list24);printf("| 25.辣椒=%3d|n",yuan->list25/yuan->list26/yuan->list2 7);printf(”|printf(”|23.酱=%3d=%3d26.芹菜=%3dlnn);lnh);21.花生=%3d24.胡萝卜=%3d27.豆皮=%3dvoid diancai(st
9、ruct cai a)int p=0,wep=0; do printf(" printf("lnn);酒品printf(h1卜|n-);printf(n11.宫爆鸡丁2.鱼香肉丝3.京酱肉丝|21雪花啤酒ln");printf("| 4.地三鲜5.水煮鱼6.麻婆豆腐|22.燕京啤酒ln");printf(hi 7.夫妻肺片&拍黄瓜9.鲜鸭血 |23.二锅头lnh);菜品(输入j确认并结朿点餐)lnu);lnn);lnh);printff'|printf("|scanf("%d",&p); s
10、ystemc'cls");if(p>=l&&p<=9)printf(hprintf("printf(h|printf(n|printf("|printf("|printf("|scanf("%d",&wep);1一份3三份份数lnh);-ixn"); ln“);2.两份4.其他请直接输入|n“);|n");lnu); lnh);if(wep>50)system(“cls“);printf(“您输入的值异常或过大,请您检査输入的值! nn);continue
11、;/*防止误输入*/ else if(wep<=50)ap.fe nshu+二 wep;systemc'cls");else if(p>=21&&p<=23)printfc|lnh);printf(h|酒品数量|n“);printf("|in");printfc*|1 一瓶 2.两瓶3.三瓶4.其他瓶数请直接输入|n”);printfc|nh);printfc*|lnn);scanf(”d”,&wep);讦(wep>50)system(”cls”);printf("您输入的值异常或过大,请您检查输入
12、的值! n");continue;/*防止误输入*/ else 讦(wep<=50)ap.fe nshu+二 wep;systemc'cls");else if(p!=-l)printfc'对不起,你输入的编码没有对应菜品,请重新输入! nn);while(p!=-l);systemc'cls");cddayin(a);void ycldayin(struct list yuan,struct cai a)char i二、o'print""显示原材料余量? (y/n) n");l=getch();
13、if(|=msystemc'cls");ycliao(&yua n,a);elsesystem(“cls“);printf(,nnnn,1);main)int i=0;char l='0'struct list yuan;/* yuan 前不用加"*”*/struct cai a30=0,“0“,0,0,“宫爆鸡 丁“,10131421,15,0,“ 鱼香肉丝,/1124,14,0/"京酱肉丝",112327,16,0,”地三鲜 ”,141617,10,0,” 水煮鱼 ”,122225,50,0,” 麻婆豆腐 ”)5222
14、5,11,0,“夫妻肺片 “,18212625,17,0,“ 拍黄瓜,/13252223,8,0,"鲜鸭血 ”,20,20,0八0”,0,0,“0”,0,0,“0“,0,0,“0“,0,0,“0“,0,0/0舄0,0,”0”,0,0,“0“,0,0畀0“,0,0,”0”,0,0八0“,0,0,”雪花啤酒 “,50,5,0,嚥京啤酒 ”,51,6,0,“二锅头 ”,52,4,0八0”,0,0,“0”,0,0,“0“,0,0 八 0”,0,00“,0,0,“0”,0;lnitlist(&yuan,60);for(i=0;i<60;i+)lnsertlastlist(&
15、;yuan,100);/+rand()%50printf("nnnnnnnnu);printfc'|inn);printf("| 欢迎来到春晓点餐系统!|nh);printf("ilnh);sleep(2500);systemc'cls");diancai(a);/*点餐函数,开始点餐吧! */ycldayi n(yuan,a);pnntf("nnnnh);printfc1ilnn);printf("i 欢迎再次使用春晓点餐系统!|nh);printfc'|lnn);printf("nnnnnn&qu
16、ot;);3. 程序运行流程图开始显示主菜单4结果模拟场景:顾客点了如下菜品及酒品宫保鸡丁 1份, 京酱肉丝1份,鸭血3份, 水煮鱼1份 ,麻婆豆腐 1份雪花啤酒6瓶服务员通过点餐系统为顾客点餐,并打印出菜单,此时后厨也收到了此菜单并开始备菜,管理者通过查 看原材料余量判断是否进货。主菜单:菜品 < 输入t确认并结束点餐i wc:userslemondesktopdebugvs§s exe*b-m12 32 2 2§|头二:躅丁 続製丝:?矣妻歸片8 拍番瓜9 鲜画血开始点餐1.宫保鸡丁 一份回菜品输入7确认并结束点餐回| :酒品2.京酱肉丝一份茹serslemora
17、desktopdebugvs 餐浆疙 exe1 啤啤头 花京锅 雪燕二 12 32 2 2丝腐肉豆血丝 肉鱼瓜 香者黄 鱼水拍 2 5 8t片鸡簷爆三妻爲夫 14 7c:userslefnondesktopdebugvg 藝浆冼 exe,1 c回s2份数:蠶请直接输入其他类似菜品点餐过程省略3.雪花啤酒6瓶c:userslemondesktopdebugvs餐至诜exe, 亠 = 一 一一 一 21-菜品输入-1确认并结束点餐丁片 g羊石 爆三妻 爲夫 14 7丝 肉鱼瓜 香者黄 鱼水拍 2 5 8丝腐 肉豆血 醫鸭 亠番鲜 3 6 9_ 0酒品!酒酒 啤啤头 花京锅 雪燕二 12 3 2 2
18、 2回酒品数量二二応一鬲厂二奇;莎奁頑ss只-14.结束并确认(输入1)c:userslemoradesktopdebugvs 冬浆疙 exe,:矚丁人夫妻肺片菜品输入7确认并结束点餐3?sfss6 麻雲豆腐9 鲜鸭血2 鱼香肉丝 sill酒品一21雪花啤酒22 燕京啤猶23 二锅头c:userslemondesktopdebugl京餐浆茫 exe已点菜/酒品编号1356921显示原材料余量?(v/n)称名丁丝鱼腐血酒 口爲肉者“豆鸭啤 点宫京麻雪回二 i回已点份数/瓶数价格115¥116 ¥150¥111 ¥360¥630¥您好,您点餐价格合计刊82¥原材料余量cbo ohb 4hhi! 10.99:13.« 99! 16.»100! 19.-100 98=98press any key to cont mue6.选择是否显示原材料余量(y/n)如果选择y (y)打印出原材料余量表(程序默认所有原材料初始余量为100)華n (n)系统结束009 9 0 9 199 9 0 9.91s » > l 肉腐肉生一罗皮 m.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论