课程设计
来源:互联网 发布:opengl游戏编程 编辑:程序博客网 时间:2024/05/17 05:14
模拟餐馆点菜系统
你到一个餐馆去仔细研究一下餐馆的业务流程:餐馆事先准备好自己的招牌菜及一些常规的菜式,有营业场所,服务人员等;顾客来了以后,服务生先给客人找一张桌子坐下来,然后递上菜谱等待顾客点菜,顾客可以点一个菜,也可以退菜,完了之后结账走人,这张桌子又可以用来招待下一批顾客。自己设计程序模拟点菜系统。
#include<iostream> #include<fstream> #include<string> using namespace std; class Cmenu { 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 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) { 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() {cout<<num<<"\t "<<name<<"\t "<<kind<<"\t "<<price<<endl; } void Cmenu::selectdisplay() {cout<<num<<"\t "<<name<<"\t "<<kind<<"\t "<<price<<"\t "<<sort<<endl; } float youhui(float sum,float point) { if(point>1.0) { sum=sum-point;} if(point<=1.0) { sum=sum*point;} return sum; } class array { public: void getnum(int NUM); void getsort(int SORT); int returnnum() { return num; } int returnsort() { return sort;} private: int sort,num; }; void array::getnum(int NUM) { num=NUM;} void array::getsort(int SORT) {sort=SORT;} void main() { int i,j,id,m,q,z,sort,b; int geshu; int NUM; string NAME,KIND; float PRICE,POINT,sum=0; Cmenu food[40]; ifstream f1("menu.txt"); for(j=0;j<40;j++) { f1>>NUM>>KIND; f1>>NAME; f1>>PRICE; food[j].getnum(NUM); food[j].getkind(KIND); food[j].getname(NAME); food[j].getprice(PRICE); food[0].getnum(1); food[0].getkind("饮品"); food[0].getname(" 一一咖啡 "); food[0].getprice(18); food[1].getnum(2); food[1].getkind("饮品"); food[1].getname(" 一一奶茶 "); food[1].getprice(8); food[2].getnum(3); food[2].getkind("饮品"); food[2].getname(" 热牛奶 "); food[2].getprice(8); food[3].getnum(4); food[3].getkind("饮品"); food[3].getname(" 橙汁 "); food[3].getprice(10); food[4].getnum(5); food[4].getkind("甜点"); food[4].getname(" 布丁 "); food[4].getprice(12); food[5].getnum(6); food[5].getkind("甜点"); food[5].getname(" 提拉米苏 "); food[5].getprice(20); food[6].getnum(7); food[6].getkind("甜点"); food[6].getname(" 双皮奶 "); food[6].getprice(8); food[7].getnum(8); food[7].getkind("甜点"); food[7].getname("黑森林蛋糕"); food[7].getprice(28); food[8].getnum(9); food[8].getkind("甜点"); food[8].getname(" 芝士蛋糕 "); food[8].getprice(18); food[9].getnum(10); food[9].getkind("甜点"); food[9].getname(" 蛋挞 "); food[9].getprice(4); food[10].getnum(11); food[10].getkind("甜点"); food[10].getname(" 慕斯蛋糕 "); food[10].getprice(15); food[11].getnum(12); food[11].getkind("甜点"); food[11].getname(" 班戟 "); food[11].getprice(25); } f1.close(); cout<<" "<<endl; cout<<" *━*==*━*==*━*==*━*==*━欢迎光临一一甜品屋━*==*━*==*━*==*━*==*━*"<<endl<<endl<<endl; for(;;) { cout<<"*==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==*"<<endl; cout<<" 请选择您需要的服务功能 "<<endl;cout<<"*==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==**==*"<<endl; cout<<endl; cout<<" *==* ┏━━━━━━━━━━━━━━━━━━━━━━━━┓ *==* "<<endl; cout<<" *==* ┃ ┃ *==* "<<endl; cout<<" *==* ┃ ┃ *==* "<<endl; cout<<" *==* ┃ 0-----显示菜单里所有的菜的信息 ┃ *==* "<<endl;cout<<" *==* ┃ ┃ *==* "<<endl; cout<<" *==* ┃ 1-----在菜单里按类查找。 ┃ *==* "<<endl; cout<<" *==* ┃ ┃ *==* "<<endl; cout<<" *==* ┃ 2-----点餐。 ┃ *==* "<<endl; cout<<" *==* ┃ ┃ *==* "<<endl; cout<<" *==* ┗━━━━━━━━━━━━━━━━━━━━━━━━┛ *==* "<<endl<<endl; cout<<endl; cout<<"================================================================================"<<endl; cin>>q; if(q>2) {system("cls");cout<<"请输入正确序号"<<endl;} if(q==0) { cout<<"-------------------------------菜单---------------------------"<<endl; cout<<"甜品的编号 甜品 类别 单价/元 "<<endl; for(j=0;j<40;j++) food[j].menudisplay(); cout<<"-------------------------------------------------------------"<<endl; } if(q==1) { cout<<"1--------------饮品"<<endl; cout<<"2--------------甜点"<<endl; cin>>z; if(z>2) {system("cls");cout<<"请输入正确序号"<<endl;} switch(z) { case 1: for(j=0;j<40;j++) if(food[j].returnkind()=="饮品") food[j].menudisplay();break; case 2: for(j=0;j<40;j++) if(food[j].returnkind()=="甜点") food[j].menudisplay();break; } } if(q==2) break; } cout<<"你要点多少样甜品?"<<endl; cin>>i; array *a=new array[i] ; for(j=0;j<i;j++) { cout<<"请选择第"<<j+1<<"个甜品的编号:"<<endl; cin>>id; cout<<"请输入数量:"<<endl; cin>>sort; a[j].getnum(id); a[j].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<<" ┃ 5--------退出系统 ┃ "<<endl; cout<<" ┃ ┃ "<<endl; cout<<" ┃ ┃ "<<endl; cout<<" ┗━━━━━━━━━━━━━━━━━━━━━┛ "<<endl; cin>>b; if(b<1||b>4) {system("cls");cout<<"请输入正确序号"<<endl;} if(b==1) { cout<<"你要增加多少样甜品?"<<endl; cin>>geshu; array *p=new array[i]; for(j=0;j<i;j++) { p[j].getnum(a[j].returnnum()); p[j].getsort(a[j].returnsort()); } delete [] a; i=i+geshu; a=new array[i]; for(j=0;j<i-geshu;j++) { a[j].getnum(p[j].returnnum()); a[j].getsort(p[j].returnsort()); } delete [] p; for(j=i-geshu;j<i;j++) { cout<<"请输入增加的一样甜品的编号和数量:"<<endl; cin>>id; cin>>sort; a[j].getnum(id); a[j].getsort(sort); } cout<<"增加甜品成功。"<<endl; } if(b==2) { cout<<"请输入要删除的甜品的编号:"<<endl; cin>>id; for(j=0;j<i;j++) { if(a[j].returnnum()==id) { m=j; for(j=m;j<i;j++) { a[j]=a[j+1];} i--; cout<<"删除甜品成功。"<<endl;break; } } if(j==i) {cout<<"你没有点这个甜品!!错误。"<<endl; } } if(b==3) { char baocun; cout<<"甜品的编号 甜品名 类别 单价/元 数量"<<endl; for(m=0;m<i;m++) { for(j=0;j<40;j++) { if(a[m].returnnum()==food[j].returnnum()) { food[j].getsort(a[m].returnsort()); food[j].selectdisplay(); } } } cout<<"是否保存并退出?"<<endl; cout<<"请按y(是)或n(否)"<<endl; cin>>baocun; if(baocun=='y') { ofstream file("select.txt"); file<<"甜品的编号 甜品名 类别 单价/元 数量"<<endl; for(m=0;m<i;m++) { for(j=0;j<40;j++) { if(a[m].returnnum()==food[j].returnnum()) { file<<food[j].returnnum()<<" "<<food[j].returnname()<<" "<<food[j].returnkind()<< " "<<food[j].returnprice()<<" "<<food[j].returnsort()<<endl; } } } file.close(); cout<<"已成功保存!"<<endl; break;} } if(b==4) { sum=0; cout<<"你是否拥有优惠券?"<<endl; cout<<"0----------是"<<endl; cout<<"1----------否"<<endl; cin>>q; for(m=0;m<i;m++) { for(j=0;j<40;j++) { if(a[m].returnnum()==food[j].returnnum()) { food[j].getsort(a[m].returnsort()); sum=sum+food[j].returnprice()*food[j].returnsort(); } } } if(q>1) {system("cls");cout<<"请输入正确序号"<<endl;} if(q==0) { cout<<"请输入优惠券的优惠金额(大于1)或者是优惠的折扣比:"<<endl; cin>>POINT; cout<<"打折后的总的金额是:"<<youhui(sum,POINT)<<"元"<<endl; } if(q==1) { cout<<"总的金额是:"<<sum<<"元"<<endl;} } if(b==5) {system("cls"); cout<<endl; cout<<endl; cout<<endl; cout<<"***************************谢谢您的光临,一一甜品屋期望您下次的惠顾*****************************"<<endl; cout<<endl; cout<<endl; break;} } }
因为一直在待审核,所以有图片版的还在审核。
开始看到这个课程设计完全没有头绪不知道这么做,上网看了很多有关的点菜模拟程序,但是网上的都是很复杂比较厉害的,看不太懂。但是基本的点菜流程还是知道了,然后按照那个流程模仿着自己去写程序,但还是不是很好。 0 0
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 课程设计
- 《剑指offer》面试题20顺时针打印矩阵
- GlusterFS创建volume失败的解决方法(* or a prefix of it is already part of a volume)
- TQ2440的学习——UBOOT移植(网络设备的支持)
- Swift语言教程(一)基础数据类型
- c++课程设计
- 课程设计
- 使用 FreeType
- 读mybatis源码之十一:参数处理器
- POJ 3273 Monthly Expense 二分搜索
- poj 3268 最短路
- 得到xml文档中的所有标签方法
- C++期末大作业
- Spring3.0官网文档学习笔记(八)--3.4.3~3.4.6
- Java学习总结15——Servlet详解