C课程设计自助点餐系统.docx

上传人:b****5 文档编号:3085041 上传时间:2022-11-17 格式:DOCX 页数:29 大小:70.22KB
下载 相关 举报
C课程设计自助点餐系统.docx_第1页
第1页 / 共29页
C课程设计自助点餐系统.docx_第2页
第2页 / 共29页
C课程设计自助点餐系统.docx_第3页
第3页 / 共29页
C课程设计自助点餐系统.docx_第4页
第4页 / 共29页
C课程设计自助点餐系统.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

C课程设计自助点餐系统.docx

《C课程设计自助点餐系统.docx》由会员分享,可在线阅读,更多相关《C课程设计自助点餐系统.docx(29页珍藏版)》请在冰豆网上搜索。

C课程设计自助点餐系统.docx

C课程设计自助点餐系统

面向对象程序课程设计

(2014/2015学年第一学期第20周)指导教师:

庄巧莉、杨东鹤班级:

计算机科学与技术13

(1)学号:

姓名:

面向对象程序课程设计目录

一、

题目

二、

需求分析

三、

系统结构图

四、

类的设计

五、

程序代码与说明

六、

运行结果与分析

七、

心得与体会

一:

题目

自助点餐系统

二:

需求分析

有一个小型餐厅,该餐厅提供即时就餐和外卖服务。

现在这个餐厅打算使用自助点餐系统,让顾客自己点餐,实现以下功能。

1、根据顾客的选择正确打出账单

2、正确统计出每一天的及时就餐和外卖的销售情况

3、实现对餐厅菜式和价格的有效管理

4、考虑点餐的自动排序问题,使顾客可以实时查询到自己菜单处理情况

三:

系统结构图

四:

类的设计

Client类:

客户类,包含客户属性姓名,电话号码,费用等信息,登记客户,记录客户订单信息

ClientManager类:

客户管理类,用于管理客户,记录客户数量,存储客户菜单信息,查询客户订单信息,统计订单

FeeManager类:

用于记录就餐、外卖的销售费用,统计收入

Food类:

餐厅食物的类,包含食物名称和价格

FoodManager类:

管理菜单,用于添加食物,修改食物,删除食物,记录不同食物的信息,呈现菜单

MenuView类:

用于打印各种操作界面

五:

程序代码与说明

Client.h#ifndefCLIENT

#defineCLIENT#include"FoodManager.h"#includeusingnamespacestd;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#include"Client.h"#include

Client:

:

Client(char*s,char*p)

name=s;

phone=p;

fee=0;

for(inti=0;i<100;i++)num[i]=0;

cout<<"客户注册成功"<

}

intClient:

:

getNumber()

{

returnnumber;

}

voidClient:

:

setNumber(intn)

{

number=n;

}

intClient:

:

getType()

{

returntype;

}

voidClient:

:

setType(intn)

{

type=n;

}

voidClient:

:

addFee(doublex)

fee+=x;

}

doubleClient:

:

getFee()

{

returnfee;

}

voidClient:

:

showClientMessage()

{

char*ss;

if(type==1)ss="就餐";

elseif(type==2)ss="外卖";

cout<<"姓名:

"<

cout<<"手机号码:

"<

cout<<"订单总价:

"<

cout<<"订单详情:

"<

cout<

:

left)<<"食物序列"<

:

left)<<"菜名"<<"\t数量\t价格"<

for(inti=0;i

cout<

:

left)<

lags(ios:

:

left)<

}

cout<<"总价:

\t\t"<

}

char*Client:

:

getName()

{

returnname;

}

voidClient:

:

changNum()

{

intn;

intnumss;

cout<<"请输入食物序号:

";cin>>n;

cout<<"您选择了食物:

"<

cout<<"请输入数量:

";cin>>numss;

fee+=(numss

num[n-1])*client_fm.getPriceByName(client_fm.getNameByList(n-1));

num[n-1]=numss;

}

voidClient:

:

deleFood()

intn;

cout<<"请输入食物序号:

";cin>>n;

cout<<"您选择了食物:

"<

(num[n-1])*client_fm.getPriceByName(client_fm.getNameByList(n-1));

for(inti=n-1;i

{

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

#include"Client.h"

#include

usingnamespacestd;

#defineMAX_CLIENT_NUM60//最大客户数量

classClientManager

public:

ClientManager();intclientNum;

voidaddClient(Clientc);

intgetClientNum();

voidshowQuery(char*s);

voidshowAll();

};

#endif

ClientManager.cpp

#include"ClientManager.h"

ClientManager:

:

ClientManager(){

clientNum=0;

}

voidClientManager:

:

addClient(Clientc)

{

client[clientNum++]=c;cout<<"客户注册成功"<

intClientManager:

:

getClientNum()

{

returnclientNum;

}

voidClientManager:

:

showQuery(char*s)

{

intcount=0;

intth;

cout<<""<

for(inti=0;i

{

cout<<"第"<<++count<<"单:

"<

"<

if(strcmp(client[i].getName(),s)==0)th=count;}

for(inti=0;i

{

cout<<"第"<<++count<<"单:

"<

"<

if(strcmp(client[i].getName(),s)==0)th=count;

cout<<"您当前排在第"<

cout<<""<

}

voidClientManager:

:

showAll()

{

for(inti=0;i

{

if(client[i].getType()==1)

{

cout<<"订单号:

"<

}

}

for(inti=0;i

{

if(client[i].getType()==2)

{

cout<<"订单号:

"<

cout<

}

}

Food.h

#ifndefFOOD

#defineFOODclassFood

private:

char*name;//

doubleprice;//

public:

Food(){};//

Food(char*s,doublep);//voidsetName(char*s);//char*getName();//doublegetPrice();

voidsetPrice(doublep);//voidshowMessage();

食物名称

食物价格

构造函数

构造函数

更改食物名称

返回食物名称

//返回食物价格

设置食物价格

//显示食物的名称和价格

};

#endif

Food.cpp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

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

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