C++课程设计自助点餐系统文档格式.docx
- 文档编号:20808700
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:29
- 大小:22.94KB
C++课程设计自助点餐系统文档格式.docx
《C++课程设计自助点餐系统文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计自助点餐系统文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
#defineCLIENT
#include"
FoodManager.h"
#include<
iostream>
usingnamespacestd;
classClient
{
private:
intnumber;
//客户编号
inttype;
//客户的类型,1表示就餐,2表示外卖
doublefee;
//客户账单费用
char*name;
//客户名称
char*phone;
//客户手机号码
public:
Client(){}//构造函数
char*getName();
//返回客户姓名
intnum[100];
//num[i]存储食物数量,i表示食物编号
FoodManagerclient_fm;
//管理客户所点的食物
Client(char*n,char*p);
//构造函数
intgetNumber();
//返回客户编号
voidsetNumber(intn);
//设置客户编号
intgetType();
//返回客户类型
voidsetType(intn);
//设置客户类型
voidaddFee(doublex);
//添加费用
doublegetFee();
//返回费用
voidshowClientMessage();
//展示客户信息
voidchangNum();
//修改客户所点的食物的数量
voiddeleFood();
//删除客户所选择的食物
};
#endif
Client.cpp
Client.h"
iomanip>
Client:
:
Client(char*s,char*p)
name=s;
phone=p;
fee=0;
for(inti=0;
i<
100;
i++)
num[i]=0;
cout<
<
"
客户注册成功"
endl;
}
intClient:
getNumber()
returnnumber;
voidClient:
setNumber(intn)
number=n;
getType()
returntype;
setType(intn)
type=n;
addFee(doublex)
fee+=x;
doubleClient:
getFee()
returnfee;
showClientMessage()
char*ss;
if(type==1)ss="
就餐"
;
elseif(type==2)ss="
外卖"
姓名:
"
name<
\t\t"
ss<
手机号码:
phone<
订单总价:
fee<
订单详情:
setw(10)<
setiosflags(ios:
left)<
食物序列"
菜名"
\t数量\t价格"
client_fm.getTotal();
i++)
{
cout<
i+1<
client_fm.food[i].getName()<
\t"
num[i]<
num[i]*client_fm.food[i].getPrice()<
}
总价:
char*Client:
getName()
returnname;
changNum()
intn;
intnumss;
请输入食物序号:
cin>
>
n;
您选择了食物:
client_fm.getNameByList(n-1)<
请输入数量:
numss;
fee+=(numss-num[n-1])*client_fm.getPriceByName(client_fm.getNameByList(n-1));
num[n-1]=numss;
deleFood()
fee-=(num[n-1])*client_fm.getPriceByName(client_fm.getNameByList(n-1));
for(inti=n-1;
client_fm.food[i]=client_fm.food[i+1];
num[i]=num[i+1];
client_fm.setTotal(client_fm.getTotal()-1);
ClientManager.h
#ifndefCLIENTMANAGER
#defineCLIENTMANAGER
#defineMAX_CLIENT_NUM60//最大客户数量
classClientManager
ClientManager();
//构造函数
intclientNum;
//记录客户数量
Clientclient[MAX_CLIENT_NUM];
//记录存储客户
voidaddClient(Clientc);
//添加新客户
intgetClientNum();
//返回客户数量
voidshowQuery(char*s);
//查询客户
voidshowAll();
//显示所有客户
ClientManager.cpp
ClientManager.h"
ClientManager:
ClientManager()
clientNum=0;
voidClientManager:
addClient(Clientc)
client[clientNum++]=c;
intClientManager:
getClientNum()
returnclientNum;
showQuery(char*s)
intcount=0;
intth;
----------------------------------"
for(inti=0;
clientNum;
if(client[i].getType()==1)
{
cout<
第"
++count<
单:
client[i].getName()<
\t总价是:
client[i].getFee()<
元"
\t就餐"
endl<
if(strcmp(client[i].getName(),s)==0)th=count;
}
for(inti=0;
if(client[i].getType()==2)
\t外卖"
您当前排在第"
th<
单"
showAll()
i++)
{
cout<
订单号:
client[i].showClientMessage();
}
Food.h
#ifndefFOOD
#defineFOOD
classFood
private:
char*name;
//食物名称
doubleprice;
//食物价格
public:
Food(){};
Food(char*s,doublep);
//构造函数
voidsetName(char*s);
//更改食物名称
char*getName();
//返回食物名称
doublegetPrice();
//返回食物价格
voidsetPrice(doublep);
//设置食物价格
voidshowMessage();
//显示食物的名称和价格
Food.cpp
Food.h"
Food:
Food(char*s,doublep)
price=p;
voidFood:
setName(char*s)
setPrice(doublep)
showMessage()
price<
?
doubleFood:
getPrice()
returnprice;
char*Food:
FoodManager.h
#ifndefFOODMANAGER
#defineFOODMANAGER
#defineMAX_FOOD_NUM99//最多容纳的食物种类数
classFoodManager
inttotal;
//食物种类数
FoodManager();
//构造函数
intgetTotal();
//返回食物种类数
Foodfood[MAX_FOOD_NUM];
//记录食物
voidaddFood(Foodf);
//添加食物
voidaddFood(char*s,doublep);
//添加食物
voiddeleteFood();
//删除食物
voidchangePrice();
//修改食物价格
voidshowFood();
//显示食物信息
char*getNameByList(intlist);
//通过食物编号返回食物名称
doublegetPriceByName(char*s);
//通过食物名称返回食物价格
intgetListByName(char*s);
//通过食物名称返回食物编号
voidsetTotal(intx);
//修改食物种类数
FoodManager.cpp
FoodManager:
FoodManager()
total=0;
voidFoodManager:
addFood(Foodf)
food[total++]=f;
成功添加了食物,当前共有"
total<
showFood()
食物中共有"
种"
食物编号"
名称\t\t"
单价"
total;
i<
food[i].getName()<
food[i].getPrice()<
changePrice()
char*s;
intcode;
s=newchar[20];
doublep;
请输入食物编号:
cin>
code;
s=food[code].getName();
s<
请输入价格:
p;
if(strcmp(food[i].getName(),s)==0)
food[i].setPrice(p);
修改成功"
return;
没有这种食物,修改失败"
deleteFood()
请输入菜名:
s;
if(strcmp(food[i].getName(),s)==0)
成功删除"
total--;
for(intt=i;
t<
t++)
food[t]=food[t+1];
return;
没有这种食物"
addFood(char*s,doublep)
food[total++]=Food(s,p);
doubleFoodManager:
getPriceByName(char*s)
returnfood[i].getPrice();
returnfalse;
intFoodManager:
getListByName(char*s)
returni;
getTotal()
returntotal;
char*FoodManager:
getNameByList(intlist)
returnfood[list].getName();
setTotal(intx)
total=x;
FeeManager.h
#ifndefFEEMANAGER
#defineFEEMANAGER
classFeeManager
doublejiuCanFee;
//就餐总收入
doublewaiMaiFee;
//外卖总收入
FeeManager();
//构造函数
doublegetWaiMaiFee();
//返回外卖总收入
doublegetJiuCanFee();
//返回就餐总收入
voidaddWaiMaiFee(doublex);
//增加外卖总收入
voidaddJiuCanFee(doublex);
//添加就餐总收入
FeeManager.cpp
FeeManager.h"
FeeManager:
FeeManager()
jiuCanFee=0;
waiMaiFee=0;
doubleFeeManager:
getWaiMaiFee()
returnwaiMaiFee;
getJiuCanFee()
returnjiuCanFee;
voidFeeManager:
addWaiMaiFee(doublex)
waiMaiFee+=x;
addJiuCanFee(doublex)
jiuCanFee+=x;
MenuView.h
#ifndefMENUVIEW
#defineMENUVIEW
classMenuView
charwhiteSmile;
//白色笑脸
charblackSmile;
//黑色笑脸
charheart;
//心形图形
MenuView();
voidshowJiuCan();
//显示就餐用户点菜界面
voidshowWaiMai();
//显示外卖用户点菜界面
intshowMain();
//显示用户选择就餐还是外卖界面
intshowViewChoice();
//显示进入本系统的功能选择界面
intshowRegister();
//显示客户注册界面
intshowClientChoice();
//显示客户点餐界面
intshowQuery();
//显示查询客户订单界面
intshowMend();
//显示修改食物界面
intshowMenuChoice();
//显示选择菜单界面
intshowMendDingDan();
//显示客户修改订单界面
MenuView.cpp
MenuView.h"
MenuView:
MenuView()
whiteSmile=1;
blackSmile=2;
heart=3;
intMenuView:
showMain()
for(inti=1;
=80;
i++)cout<
heart;
for(inti=1;
=80;
i++){if(i==1||i==80)cout<
elsecout<
'
'
heart<
\t\t\t\t欢迎光临本餐厅"
for(intj=1;
j<
=33;
j++)cout<
cout<
//输出餐厅的外形
\t我是服务员小坠"
whiteSmile<
竭诚为您服务哦"
bla
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 自助 系统