ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:238.82KB ,
资源ID:26923252      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26923252.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++餐厅管理系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++餐厅管理系统.docx

1、C+餐厅管理系统北华大学C+课程实习报告餐厅点菜系统 学 院:电气信息工程学院 专 业:电子信息工程 班 级: 学 号: 姓 名: 指导教师: 餐厅点菜系统一、 需求分析1、 该程序对于餐厅菜单进行管理,显示所有菜,顾客可以点餐厅的所有菜,也可以按类查找,自动生成菜单,自动计算消费金额,可以使用优惠劵2、 显示菜的编号、菜名、类别和单价3、 菜可以按类查找:炒菜、炒饭和面类4、 点菜a)增加点菜b)删除一个点菜c)输出点菜信息并保存d)计算消费金额 优惠卷 1)金额优惠 2)打折优惠二、 设计实现该餐厅点菜系统共有两个类和一个构造函数,Cmenu 类(菜的属性)和array类 (菜的数组),与

2、函数youhui(计算有优惠卷时的价格)在Cmenu类中,定义:name 菜的编号,name 菜名,price 菜的单价,kind 菜的种类,sort 菜的数量,函数getnum 录入菜的编号函数实现:函数 getname 实现:录入菜的名字,函数 getprice 实现:录入菜的单价,函数 getkind 实现:录入菜的类别,函数 getsort 实现:录入所点菜的数量,函数 menudisplay 实现:菜谱显示, 函数selectdisplay 实现:对所点的菜进行输出,函数 returnnum 实现:返回菜的编号,函数 returnname 实现:返回菜名,函数 returnprice

3、 实现:返回菜的单价,函数 returnkind 实现:返回菜的类别,函数 returnsort 实现:返回菜的数量。在array类中,定义:sort 菜的类别,num 菜的数量函数实现:函数 getnum 实现:初始化num,函数 getsort 实现:初始化sort,函数 returnnum 实现:返回num,函数 returnsort 实现:返回sort主函数main的运行流程图:开始文件输入菜单信息f1(“menu.txt”)定义变量:Int sort,geshu,NUMString NAME,KIND显示界面选择操作012菜单显示menudisplay()()按类查找returnki

4、nd()点菜array类getnum( )getsort( )returnnum( )returnsort( )selectdisplay( )file(“select.txt”)returnprice( )returnsort( )returnkind( )youhui( )退出界面三、 测试结果首页:菜的信息:按类查找:炒菜炒饭面类点菜菜的信息:增加点菜:删除点菜:计算消费金额:1、没有拥有优惠卷2、 拥有优惠卷:a)20元的优惠卷b) 0.85折优惠卷退出系统:四、 结论及需改进的问题餐厅点菜系统是在图书管理系统的基础上,慢慢自己改进的,其中增加点菜,删除点菜,输出菜单,按类查询都是按照

5、图书管理系统中增加图书,删除图书,显示图书,按类查询中改进的,其中最重要的是菜单的录用,自己想了很多方法,最后用文本输入函数做的,把菜单完全的输入进去,还有一点新颖的地方,源于优惠劵的使用,不仅可以使用金额的优惠,并且还会使用打折卷的优惠,虽然这里面的算法很简单,但是增加的程序的实用性。我感觉不足的是,应该有一个会进人后台的功能,进去可以增加菜单里的菜,删除菜,更改类别和金额,更方便餐厅的管理者,当然进人的时候,加入管理员密码。餐厅点菜系统C+代码#include #include #include#include using namespace std;class Cmenu /创建Cmen

6、u类 菜的属性 int num; /菜的编号 string name; /菜名 float price; /菜的单价 string kind; /菜的种类 int sort; /菜的数量public: void getnum(int i); /录入菜的编号 void getname(string Name); /录入菜的名字 void getprice(float Price); /录入菜的单价 void getkind(string Kind); /录入菜的类别 void getsort(int SORT); /录入所点菜的数量 void menudisplay(); /菜谱显示 void

7、selectdisplay(); /对所点的菜进行输出 float returnnum() /返回菜的编号 return num; string returnname() /返回菜名 return name; float returnprice() /返回菜的单价 return price; string returnkind() /返回菜的类别 return kind; int returnsort() /返回菜的数量 return sort; ;void Cmenu:getnum(int i) /录入菜的编号函数 num=i;void Cmenu:getname(string Name)

8、/录入菜的名字 name=Name;void Cmenu:getprice(float Price) /录入菜的单价 price=Price;void Cmenu:getkind(string Kind) /录入菜的类别 kind=Kind; void Cmenu:getsort(int SORT) / 录入所点菜的数量 sort=SORT; void Cmenu:menudisplay() /菜单的信息显示 coutsetw(3)numsetw(22)namesetw(16)kindsetw(16)priceendl; void Cmenu:selectdisplay() /对所点的菜进行输

9、出 coutsetw(3)numsetw(24)namesetw(16)kindsetw(16)pricesetw(19)sort1.0) sum=sum-point; if(point=1.0) sum=sum*point; return sum;class array /创建一个array数组 public: void getnum(int NUM); /初始化num的函数 void getsort(int SORT); /初始化sort的函数 int returnnum() /返回num的函数 return num; int returnsort() /返回sort的函数 return

10、sort; private: int sort,num;void array:getnum(int NUM) /初始化num的函数体 num=NUM;void array:getsort(int SORT) /初始化sort的函数体 sort=SORT;void main() /主函数 int i,id,m,q,z,sort,b; char j; int geshu; int NUM; string NAME,KIND; float PRICE,POINT,sum=0; Cmenu food40; /创建Cmenu类的对象数组 ifstream f1(menu.txt); /文件输入菜单信息

11、for(j=0;jNUM; f1KIND; f1NAME; f1PRICE; foodj.getnum(NUM); foodj.getkind(KIND); foodj.getname(NAME); foodj.getprice(PRICE); food0.getnum(1); food0.getkind(炒菜); food0.getname(麻辣豆腐); food0.getprice(8); food1.getnum(2); food1.getkind(炒菜); food1.getname(烧茄子); food1.getprice(10); food2.getnum(3); food2.ge

12、tkind(炒菜); food2.getname(香辣肉丝); food2.getprice(15); food3.getnum(4); food3.getkind(炒菜); food3.getname(锅包肉); food3.getprice(15); food4.getnum(5); food4.getkind(炒饭); food4.getname(蛋炒饭); food4.getprice(5); food5.getnum(6); food5.getkind(炒饭); food5.getname(扬州炒饭); food5.getprice(6); food6.getnum(7); food

13、6.getkind(炒饭); food6.getname(火腿炒饭); food6.getprice(6); food7.getnum(8); food7.getkind(炒饭); food7.getname(鱿鱼炒饭); food7.getprice(7); food8.getnum(9); food8.getkind(面类); food8.getname(刀削面); food8.getprice(5); food9.getnum(10); food9.getkind(面类); food9.getname(羊肉面); food9.getprice(8); food10.getnum(11);

14、 food10.getkind(面类); food10.getname(热干面); food10.getprice(5); food11.getnum(12); food11.getkind(面类); food11.getname(手擀面); food11.getprice(6); f1.close(); cout*欢迎光临本店*endl; /菜单 while(1) cout*endl; coutendl; cout endl; cout endl; cout endl; cout 0-显示菜单里所有的菜的信息 endl; cout 1-在菜单里按类查找。 endl; cout 2-点菜。 e

15、ndl; cout endl; cout endl; coutendl; cout*q; if(q=0) /显示菜单里所有的菜名 cout-菜单-endl; cout菜的编号 菜名 类别 单价/元 endl; for(j=0;j12;j+) foodj.menudisplay(); cout-endl; if(q=1) / 在菜单里按类查找 cout1-炒菜endl; cout2-炒饭endl; cout3-面类z; if(z3) system(cls); cout请输入正确序号endl; switch(z) case 1: /输出炒菜类 for(j=0;j40;j+) if(foodj.re

16、turnkind()=炒菜) foodj.menudisplay(); break; case 2: /输出炒饭类 for(j=0;j40;j+) if(foodj.returnkind()=炒饭) foodj.menudisplay(); break; case 3: /输出面类 for(j=0;j2) system(cls); cout请输入正确序号endl; if(q=2) break; /退出进入点菜环节 cout你要点多少个菜?i; array *a=new arrayi ; /动态创建i个array类的数组来储存菜的编号和数量 for(j=0;ji;j+) cout请选择第j+1个

17、菜的编号:id; /输入每个菜的编号 cout请输入数量:sort; /输入每个菜的数量 aj.getnum(id); aj.getsort(sort); for(;) /对定的菜进行操作 cout endl; cout endl; cout endl; cout endl; cout endl; cout 1-增加点菜 endl; cout 2-删除一个菜 endl; cout 3-输出点菜信息并保存 endl; cout 4-计算消费金额 endl; cout 0-退出系统 endl; cout endl; cout endl; cout b; if(b=1) cout你要增加多少个菜?g

18、eshu; array *p=new arrayi; for(j=0;ji;j+) pj.getnum(aj.returnnum(); pj.getsort(aj.returnsort(); delete a; i=i+geshu; a=new arrayi; for(j=0;ji-geshu;j+) aj.getnum(pj.returnnum(); aj.getsort(pj.returnsort(); delete p; for(j=i-geshu;ji;j+) cout请输入增加的一个菜的编号和数量:id; cinsort; aj.getnum(id); aj.getsort(sort

19、); cout增加点菜成功。endl; if(b=2) cout请输入要删除的菜的编号:id; for(j=0;ji;j+) if(aj.returnnum()=id) m=j; for(j=m;ji;j+) aj=aj+1; i-; cout删除点菜成功。endl;break; if(j=i) cout你没有点这个菜!错误。endl; if(b=3) /输出所点菜的信息 char baocun; cout菜的编号 菜名 类别 单价/元 数量endl; for(m=0;mi;m+) for(j=0;j40;j+) if(am.returnnum()=foodj.returnnum() food

20、j.getsort(am.returnsort(); foodj.selectdisplay(); cout是否保存并退出?endl; cout请按y(是)或n(否)baocun; if(baocun=y) ofstream file(select.txt); file菜的编号 菜名 类别 单价/元 数量endl; for(m=0;mi;m+) for(j=0;j40;j+) if(am.returnnum()=foodj.returnnum() filefoodj.returnnum() foodj.returnname() foodj.returnkind() foodj.returnpr

21、ice() foodj.returnsort()endl; file.close(); cout已成功保存!endl; break; if(b=4) sum=0; cout你是否拥有优惠券?endl; /优惠券的操作 cout0-是endl; cout1-否q; for(m=0;mi;m+) for(j=0;j1) system(cls);cout请输入正确序号endl; /清屏函数 if(q=0) cout请输入优惠券的优惠金额(大于1)或者是优惠的折扣比:POINT; cout打折后的总的金额是:youhui(sum,POINT)元endl; if(q=1) cout总的金额是:sum元endl; if(b=0)system(cls); /退出coutendl;coutendl;coutendl; cout*谢谢使用*谢谢使用*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1