C语言程序设计课程设计报告设计题目:餐饮结账管理系统设计1设计任务1.1设计题目的描述第1页共31页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共31页功能:餐饮结账信息包括:编号、时间、台面号、顾客数量、接待服务生、实收金额。试设计一餐饮结账管理系统,使之能提供以下功能:1结账信息录入、修改、删除功能;2查询浏览功能:按台面号查询、按接待服务生查询;3按照实收金额排序。4统计总收入、顾客总数等功能。1.2设计要求(1)仔细审题,明确题目要求。(2)按照结构化的程序设计思想,将程序模块化,将相对独立的功能写成函数。(3)要求编程、调试通过并演示;程序编写规范,添加适当注释。(4)按照课程设计报告的内容和格式要求,撰写课程设计报告,并且打印。2设计方案说明2.1数据的存储结构餐饮结账信息包括:编号、时间、台面号、顾客数量、接待服务生、实收金额。因此需要使用结构体,而结账信息又不止是一个,所以使用结构体数组,这里定义结构体structbill,定义数组bill[M]。structbill{intnum;//编号inttime[4];//时间inttable;//台面号intcount;//顾客数量charname[20];//服务生姓名intmoney;//实收金额}bill[M];第2页共31页第1页共31页mainmenuInputmodifydeletersearchsearch2sortincomenumbermodify_asaveDisplay_allreadFromFiledisplay编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共31页2.2函数之间的调用关系说明2.3函数说明第3页共31页第2页共31页C=1?是否C=2?执行是否Input执行C=…………Modify打开文件bill成功选择输入的信息个数N输入第i个信息直到i>=N保存并关闭文件编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共31页1)函数voidmenu()voidmenu()菜单函数此函数为主菜单,从此处进入其他模块。变量c:使用c选择进入其它功能。2)函数voidinput()voidinput()信息录入,将录入的信息存入文件bill中此函数将从键盘输入的信息录入文件bill中。使用scanf输入结构体中各个量;3)函数voidreadFromFile()voidreadFromFile()从文件中读取信息并存入数组bill[30]此函数将文件bill中信息读出并存入bill[]第4页共31页第3页共31页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共31页4)函数voidsave()voidsave()/*保存函数*/此函数用于在修改与删除后保存数据。5)函数voiddisplay_all()voiddisplay_all()信息全部显示通过此函数可显示所有输入信息。6)函数voiddisplay(inti)voiddisplay(inti)单个信息显示i为要修改的信息号从modify函数中读入此函数用于在修改等功能后显示第i个信息,用于核对。打开文件读第i个文件直到i>=N关闭文件打开文件写入第i个文件直到i>=N关闭文件readFromFile()读取文件中信息printf显示第i个信息直到i<=N用printf显示第i个信息的所有数据第5页共31页第4页共31页从键盘输入一个C的值c>7||c<1是否错误w1==2重试c=1是否输入新信息c=…………显示修改后第i个信息输入w1的值返回值w1编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共31页7)函数intmodify_a(inti)intmodify_a(inti)修改主函数时调用此函数此函数用于修改其中一个或多个信息,并返回一个数值用于确定是否修改。变量c用于确定修改项目8)函数voidmodify()voidmodify()修改信息主函数此函数用于修改其中一个信息并保存第6页共31页第5页共31页从文件bill中读入数据w0==1k==-1输入n的值循环判断bill[i].num-n==0?是否k=ik=-1输出无记录w1=modify_a(k);w1=1?是否保存输入w0值结束编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第6页共31页9)函数voiddeleter()voiddeleter()删除记录此函数用于删除记录中的一条信息。10)函数voidsearch1()从文件bill中读入信息w1==1k==-1输入n循环判断n-bill[i].num==0?是否k=ik=-1无记录display(i)输入w0w0=1?是否bill[i]=bill[i+1];save();结束输入w1值第7页共31页第6页共31页从文件bill中读入信息w0==1输入a[20]循环判断strcmp(bill[i].name,a)==0?是否j=ij=-1display(j)无此姓名输入w0的值编...