版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、HYPERLINK N:整理后http:su.nN:整理后http:su.nC语言程序设计课程设计报告设计题目:餐饮结账治理系统设计 设计任务1 设计题目的描述功能:餐饮结账信息包括:编号、时刻、台面号、顾客数量、接待服务生、实收金额。试设计一餐饮结账治理系统,使之能提供以下功能:1结账信息录入、修改、删除功能;查询扫瞄功能:按台面号查询、按接待服务生查询; 按照实收金额排序。4统计总收入、顾客总数等功能。1.2 设计要求()认真审题,明确题目要求。(2)按照结构化的程序设计思想,将程序模块化,将相对独立的功能写成函数。(3)要求编程、调试通过并演示;程序编写规范,添加适当注释。()按照课程设
2、计报告的内容和格式要求,撰写课程设计报告,同时打印。 设计方案讲明2.1 数据的存储结构餐饮结账信息包括:编号、时刻、台面号、顾客数量、接待服务生、实收金额。因此需要使用结构体,而结账信息又不止是一个,因此使用结构体数组,那个地点定义结构体structil,定义数组bilM。stuc llt nm; /编号int ime4; /时刻int tble; /台面号intcnt; /顾客数量carna20; /服务生姓名inmoney; /实收金额billM;2函数之间的调用关系讲明 main menuInputmodifydeletersearchsearch2sortincomenumbermo
3、dify_asaveDisplay_allreadFromFiledisplay2.函数讲明)函数 vdmenu() v nu() 菜单函数 此函数为主菜单,从此处进入其他模块。 变量 :使用选择进入其它功能。C=1?是 否 C=2?执行 是 否Input 执行 C= Modify 2)函数void int()voi input() 信息录入,将录入的信息存入文件bil中此函数将从键盘输入的信息录入文件bill中。使用sanf输入结构体中各个量;打开文件bill成功选择输入的信息个数N输入第i个信息直到i=N保存并关闭文件)函数 oideadFFie()vd readFomFil() 从文件中
4、读取信息并存入数组ill30此函数将文件ill中信息读出并存入bil打开文件读第i个文件直到i=N关闭文件4)函数 voidsae()voav() *保存函数*/此函数用于在修改与删除后保存数据。打开文件写入第i个文件直到i=N关闭文件)函数 voiddispay_all() oid dsp_all() 信息全部显示通过此函数可显示所有输入信息。readFromFile()读取文件中信息printf显示第i个信息直到i7|cbilli+1.money)是 否t=billi;billi=billi+1;billi+1=t; 不变i=0 iN-1-j i+j=0 jN-1 j+display(i)
5、i=0 iN i+w0=2输入w0的值推断是否返回3)函数 vdincome()void inome() 总收入统计此函数用于统计总收入并输出。关键变量sm用于统计总收入从文件bill中读取文件sum=sum+billi.moneyi=0;iN;i+输出sumw0=2输入w0的值推断是否返回1)函数 oidnmbe()void nuber() 顾客总数统计此函数用于统计顾客总数。关键变量umber用于统计顾客总数从文件bill中读取文件number=number+billi.count;i=0;iN;i+输出numberw0=2输入w0的值推断是否返回3设计题目源代码清单iunldesing.
6、inudefne 0sruct billn um; /编号intme4; /时刻inttable; /台面号n cunt; /顾客数量ca ne0; /服务生姓名nt mne; /实收金额ill;ntN;/菜单*void mnu() cha c;oi inpt();voi modfy();vid eete();od search1();vid seac2();vid sort();voidnme(); oinubr();opitf(nnn); printf( ); rintf(-n); printf(nn); prntf(-1录入 2修改 3删除 -nn); prit(-4台面号查询 接待服务
7、生查询-n); prnt(-6金额排序 7总收入 8顾客总数 -n); pntf(- 退出 -nn); pritf(-n); rintf(nn); printf(请选择服务(0-)); c=gecar(); swth() se1: n();echar();brak; ca 2: moify();getchr();break; ase : deet();tchar();bre; cse : search1();gchar();beak; cse 5: earch2();gehar();rea; cse: sot();gchar();brak; cas 7:incom();getcr();bea;
8、 case 8: umbr();etcha();break; case : pintf(n感谢使用,再见!); xit(0); pinf(); deau: printf(n输入有误,重试!:); c=getchar(); while(); *信息录入,将录入的信息存入文件ill中*/id npt() FLE p; int i; i((fp=fopen(bill,w)=NULL) rintf(cant open th ilen); retur; print(输入信息个数(0-%d)?:,M-1); sanf(%d,&N); ntf(请输入数据:n); or(i0;i+) pnt(输入账单 信息:
9、n,i); itf(编号:); sanf(%d,&billi.um); printf(时刻(月日 时:分):); scnf(%d%dd,&bii.time,&lli.ime1,&billi.time2,&lli.time3); rint(台面号:); scan(%d,&billi.tae); ritf(顾客数量:); scanf(d,&biliunt); if(接待服务生:);sc(%s,bill.nae); prnt(实收金额:); scan(%d,&billimney); for(=0;iN;i+) if(writ(&ili,izeof(suc bil),1,fp)!=1) intf(fe
10、 wrteerorn); retr; ose(fp);/*从文件中读取信息并存入数组bill*/vo readFromFile() nt ;F*; if((fp=fope(il,b))=NUL) prntf(cnnot ope the fien); return; r(i;N;i+) rea(&illi,sizef(sruct bi),fp); flos();/保存函数*/vi save()FIL*p; int i; if(=fn(i,w)=NUL) rintf(cnnt ope te filen); reurn; for(i=0;iN;+) (billi.nm!=0) i(writ(&ill
11、i,zeof(struct il),1,f)!=) printf(file wrie errorn); rturn; clos(fp);/*信息全部显示/oidpay_ll()inti; reaFromile();ritf(全部信息:n);fr(i=0;n 1).编号 2)时刻 ).台面号 4).顾客数量5).接待服务生 ).实收金额 7).取消并返回); if(请选择?: ); scanf(%d,&c); if(c|c) printf(n选择错误,请重试);gechr();do swtch(c) case 1: printf(编号:); f(,lli.num);rea;case 2:pitf
12、(时刻:) ; san(ddd:%d,&ili.time0,&billi.time1,&billiime2,&bilitie3);break; : rntf(台面号:); scanf(d,&billi.tble); brea; cae 4: printf(顾客数量:); scf(d,&bili.cout); br; cas 5:prif(接待服务生:); an(%,bill.ame); rak; cs 6: pintf(实收金额:);can(%,&billimony); eak; cs7: menu(); pinf(现在:n); diplay(); prt(n确定?n 1).是 2)不,重新修
13、改 3)返回不保存 ); scan(%d,&1); whil(1=2); turn(w1);/*修改信息*/id moify() nt i,n,k,w0=1,1; FrFie(); d =-; dsply_al(); oprint(n输入要修改的编号数n编号:); scan(d,&n); fo(i=0;i;i+) if(bill.num-n=0) k=i; if(=-) prntf(nn没有记录请重新输入!);whe(k=-1);w1=moif_(k); if(1=1) rint(修改成功 n是否接着?1)是2)保存返回 ); sae(); scaf(d,&w); while(w0=1); *
14、删除记录*/vd deleter()in i,k,n,0,w1; readFomFile(); d=-1;dsplayal();o rintf(n输入要删除的编号:); saf(%d,&n); r(=0;iN;i+) i(-bili.um=) k=; f(k=-)pntf(n无记录,请重新输入!n); whie(k=); display(i);prtf(n确定删除? 1)是 2)返回n );scan(%d,&0); f(w0=1)r(=k;iN;i+)li=bil1; sae();es rk; dispay_all();pint(n删除成功,是否接着? 1)是 2)返回 );sc(%,&1);
15、wile(w1=1);*台面号查询*/void search1() it i,j,w0; int numbr; redFromFie();d =1; rntf(n请输入台面号查询:); scanf(%d,&umber); o(i=0;iN;i+) if(nbe=bill.al) ji; dispay(j); print(n); if(j=-1) pnt(无此号!); pintf(接着? 1)是 )返回 ); caf(%d,&w0); whl(w0=1);/*接待服务生查询*/void search2() cha a20; int ,,w0; do j=-1; printf(请输入接待服务生姓名
16、查询:); scanf(s,a); for(i=;iN;i+) if(trm(,)=0) j=i; dislay(j); prinf(n); f(j=-1) pint(无此姓名!); prin(接着? 1)是 )返回 ); scaf(%,&0); hle(w0=);*金额排序/voidsor()i i,j,;stuct bil t; rearomile(); rt(n);for(=;N-1;j+)o(=;N-1-j;i+)if(billi.moneybilli+1.money)=blli; bi=ili+; *调换bill与ili的值*/ billi+1=t; pritf(由大
17、到小为:n);or(i=0;iN;i+)dsly(i);rintf(n); dopit(n返回? 1)是 2)否);sanf(,&w0);wile(w0=2);*总收入统计*/voicom()int i,sum=0,w0; readFrmile();for(i=;iN;i+) sum=umbillmony; prif(nn);rintf(总收入:%d,um);dornf(n返回? 1)是 2)否);scanf(%d,&w0);wle(w=);*顾客总数统计/vod numer() int i,nuber0,w; readFrFle();fr(i=0;iN;i+) ur=umerbll.coun
18、;printf(n);prntf(顾客总数:d,nuber);dopritf(n返回? )是 2)否);scanf(%5d,&0);whle(w0=);*主函数*/voi ai()meu();4 程序测试4.1 测试数据讲明测试数据包括:编号、时刻、台面号、顾客数量、接待服务生、实收金额。编号时刻(int 数组)台面号Int顾客数量Int接待服务生char数组实收金额nt7. 12:15li32. 12:236wng12837.2 12:3228zhao8647.2:443zhang97.212:5215li14. 输出结果讲明1)菜单界面,进入系统首先显示主菜单,之后可通过选择不同的数字来运
19、用此餐饮结账系统的各项功能。 图1 菜单)录入界面,选择1后依照提示输入需要输入的信息个数,之后可依次录入几条不同信息。 图2录入3)修改界面,选择2后依次输入修改编号1,与项目6,并更改为35,保存返回。 图3 修改信息4)按台面号查询信息,选择4后依次查询台面号与6,之后返回。 图4 台面号查询5)按服务生姓名查询,选择5后查询服务生li,之后返回。 图5 服务生查询6)按金额排序,选择6后可按金额从大到小排序显示,之后返回。 图6 按金额排序)求总收入,选择7后可求出总收入,之后返回。 图7 总收入8)求顾客总数,选择8后可求出顾客总数,之后返回。 图 顾客总数9)删除信息,选择3后输入要删除的编号3,删除后显示,并返回。 图9 删除信息10)退出程序,选择后退出餐饮结账治理系统。 图10 退出5 课程设计总结通过为期一周的HYPERLINK N:整理后t:zuoe.ducscnzoeechengzhuane t ln课程设计,我们对C语言这门HYERLINK http:/zuymyeducsc/zoyekehenguanye/ _ank课程有了更深一步的了解。它是HYPERLINK N:整理后htp:myeducs.yuachunguwe t bn计算机程序设计的重要理论技术基础,在我们的学习中占据着十分重要的地位。这次课程设计运用C语言知识,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 动物学练习题及全面答案解析
- 审计准则考试试题及精准答案
- 打印照片试题及其答案解析
- 油库设备测验题答案附带全面解析
- 图像处理应用考试试题及答案
- 2025-2026学年文昌市数学三年级第二学期期末达标检测模拟试题(含答案解析)
- 2025-2026学年忻州市岢岚县数学三年级下学期期中联考试题含答案
- 2025-2026学年延安市志丹县四年级数学下学期期末调研模拟试题含答案解析
- 2025-2026学年广西南宁市横县数学三下期中调研试题含答案解析
- 2025-2026学年山西省忻州市七一路小学四年级数学下学期期末学业水平测试试题含答案
- 军队项目保密协议书范本
- DB52T 702-2011 杉木二元立木材积表
- 急诊与接诊制度
- 颈椎病的康复上传版课件
- 人教版高一下学期期末考试数学试题与答案解析(共五套)
- 成人护理学绪论课件
- 2023-2024学年河南省开封市顺河区求实中学八年级(上)月考数学试卷(9月份)(含解析)
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库
- 内镜室半年工作总结
- 【模板】软件验证报告
- 广西科技大学家庭经济困难学生及家庭情况调查表、广西科技大学家庭经济困难学生认定申请表
评论
0/150
提交评论