C++餐厅管理系统.docx
《C++餐厅管理系统.docx》由会员分享,可在线阅读,更多相关《C++餐厅管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
![C++餐厅管理系统.docx](https://file1.bdocx.com/fileroot1/2022-10/12/ced15780-e967-4b2c-afe1-fa41b89bb2ed/ced15780-e967-4b2c-afe1-fa41b89bb2ed1.gif)
C++餐厅管理系统
C++餐厅管理系统
北华大学
C++课程实习报告
餐厅点菜系统
学院:
电气信息工程学院
专业:
电子信息工程
班级:
学号:
姓名:
指导教师:
餐厅点菜系统
一、需求分析
1、该程序对于餐厅菜单进行管理,显示所有菜,顾客可以点餐厅的所有菜,也可以按类查找,自动生成菜单,自动计算消费金额,可以使用优惠劵
2、显示菜的编号、菜名、类别和单价
3、菜可以按类查找:
炒菜、炒饭和面类
4、点菜
函数getsort实现:
初始化sort,
函数returnnum实现:
返回num,
函数returnsort实现:
返回sort
主函数main的运行流程图:
二、测试结果
首页:
菜的信息:
按类查找:
炒菜
炒饭
面类
点菜
菜的信息:
增加点菜:
删除点菜:
计算消费金额:
1、没有拥有优惠卷
2、拥有优惠卷:
a)20元的优惠卷
b)0.85折优惠卷
退出系统:
三、结论及需改进的问题
餐厅点菜系统是在图书管理系统的基础上,慢慢自己改进的,其中增加点菜,删除点菜,输出菜单,按类查询都是按照图书管理系统中增加图书,删除图书,显示图书,按类查询中改进的,其中最重要的是菜单的录用,自己想了很多方法,最后用文本输入函数做的,把菜单完全的输入进去,还有一点新颖的地方,源于优惠劵的使用,不仅可以使用金额的优惠,并且还会使用打折卷的优惠,虽然这里面的算法很简单,但是增加的程序的实用性。
我感觉不足的是,应该有一个会进人后台的功能,进去可以增加菜单里的菜,删除菜,更改类别和金额,更方便餐厅的管理者,当然进人的时候,加入管理员密码。
餐厅点菜系统C++代码
#include
#include
#include
#include
usingnamespacestd;
classCmenu//创建Cmenu类菜的属性
{
intnum;//菜的编号
stringname;//菜名
floatprice;//菜的单价
stringkind;//菜的种类
intsort;//菜的数量
public:
voidgetnum(inti);//录入菜的编号
voidgetname(stringName);//录入菜的名字
voidgetprice(floatPrice);//录入菜的单价
voidgetkind(stringKind);//录入菜的类别
voidgetsort(intSORT);//录入所点菜的数量
voidmenudisplay();//菜谱显示
voidselectdisplay();//对所点的菜进行输出
floatreturnnum()//返回菜的编号
{returnnum;}
stringreturnname()//返回菜名
{returnname;}
floatreturnprice()//返回菜的单价
{returnprice;}
stringreturnkind()//返回菜的类别
{returnkind;}
intreturnsort()//返回菜的数量
{returnsort;}
};
voidCmenu:
:
getnum(inti)//录入菜的编号函数
{
num=i;
}
voidCmenu:
:
getname(stringName)//录入菜的名字
{
name=Name;
}
voidCmenu:
:
getprice(floatPrice)//录入菜的单价
{
price=Price;
}
voidCmenu:
:
getkind(stringKind)//录入菜的类别
{
kind=Kind;
}
voidCmenu:
:
getsort(intSORT)//录入所点菜的数量
{
sort=SORT;
}
voidCmenu:
:
menudisplay()//菜单的信息显示
{
cout<}
voidCmenu:
:
selectdisplay()//对所点的菜进行输出
{
cout<}
floatyouhui(floatsum,floatpoint)//函数计算有优惠卷时的价格
{
if(point>1.0)
{
sum=sum-point;
}
if(point<=1.0)
{
sum=sum*point;
}
returnsum;
}
classarray//创建一个array数组
{
public:
voidgetnum(intNUM);//初始化num的函数
voidgetsort(intSORT);//初始化sort的函数
intreturnnum()//返回num的函数
{returnnum;}
intreturnsort()//返回sort的函数
{returnsort;}
private:
intsort,num;
};
voidarray:
:
getnum(intNUM)//初始化num的函数体
{
num=NUM;
}
voidarray:
:
getsort(intSORT)//初始化sort的函数体
{
sort=SORT;
}
voidmain()//主函数
{
inti,id,m,q,z,sort,b;
charj;
intgeshu;
intNUM;
stringNAME,KIND;
floatPRICE,POINT,sum=0;
Cmenufood[40];//创建Cmenu类的对象数组
ifstreamf1("menu.txt");//文件输入菜单信息
for(j=0;j<12;j++)
{
f1>>NUM;
f1>>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(8);
food[1].getnum
(2);
food[1].getkind("炒菜");
food[1].getname("烧茄子");
food[1].getprice(10);
food[2].getnum(3);
food[2].getkind("炒菜");
food[2].getname("香辣肉丝");
food[2].getprice(15);
food[3].getnum(4);
food[3].getkind("炒菜");
food[3].getname("锅包肉");
food[3].getprice(15);
food[4].getnum(5);
food[4].getkind("炒饭");
food[4].getname("蛋炒饭");
food[4].getprice(5);
food[5].getnum(6);
food[5].getkind("炒饭");
food[5].getname("扬州炒饭");
food[5].getprice(6);
food[6].getnum(7);
food[6].getkind("炒饭");
food[6].getname("火腿炒饭");
food[6].getprice(6);
food[7].getnum(8);
food[7].getkind("炒饭");
food[7].getname("鱿鱼炒饭");
food[7].getprice(7);
food[8].getnum(9);
food[8].getkind("面类");
food[8].getname("刀削面");
food[8].getprice(5);
food[9].getnum(10);
food[9].getkind("面类");
food[9].getname("羊肉面");
food[9].getprice(8);
food[10].getnum(11);
food[10].getkind("面类");
food[10].getname("热干面");
food[10].getprice(5);
food[11].getnum(12);
food[11].getkind("面类");
food[11].getname("手擀面");
food[11].getprice(6);
}
f1.close();
cout<<"━*━*━*━*━*━*━*━*━*━*━*━欢迎光临本店━*━*━*━*━*━*━*━*━*━*━*"<while
(1)
{
cout<<"━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━"<cout<cout<<"┏━━━━━━━━━━━━━━━━━━━━━━━━┓"<cout<<"┃┃"<cout<<"┃┃"<cout<<"┃0---------------显示菜单里所有的菜的信息┃"<cout<<"┃1---------------在菜单里按类查找。
┃"<cout<<"┃2---------------点菜。
┃"<cout<<"┃┃"<cout<<"┗━━━━━━━━━━━━━━━━━━━━━━━━┛"<cout<cout<<"━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━*━"<cin>>q;
if(q==0)//显示菜单里所有的菜名
{
cout<<"-------------------------------菜单---