预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共49页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向对象程序课程设计(2023/2023学年第一学期第20周)指导教师:庄巧莉、杨东鹤班级:计算机科学与技术13(1)学号:你好你好你姓名:你好你啊哈啊啊啊面向对象程序课程设计目录题目需求分析系统结构图类的设计程序代码与说明运营结果与分析心得与体会一:题目自助点餐系统二:需求分析有一个小型餐厅,该餐厅提供即时就餐和外卖服务。现在这个餐厅打算使用自助点餐系统,让顾客自己点餐,实现以下功能。1、根据顾客的选择对的打出账单2、对的记录出每一天的及时就餐和外卖的销售情况3、实现对餐厅菜式和价格的有效管理4、考虑点餐的自动排序问题,使顾客可以实时查询到自己菜单解决情况三:系统结构图四:类的设计Client类:客户类,包含客户属性姓名,电话号码,费用等信息,登记客户,记录客户订单信息ClientManager类:客户管理类,用于管理客户,记录客户数量,存储客户菜单信息,查询客户订单信息,记录订单FeeManager类:用于记录就餐、外卖的销售费用,记录收入Food类:餐厅食物的类,包含食物名称和价格FoodManager类:管理菜单,用于添加食物,修改食物,删除食物,记录不同食物的信息,呈现菜单MenuView类:用于打印各种操作界面五:程序代码与说明Client.h#ifndefCLIENT#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();//删除客户所选择的食物};#endifClient.cpp#include"Client.h"#include<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;}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<<"姓名:"<<name<<"\t\t"<<ss<<endl;cout<<"手机号码:"<<phone<<endl;cout<<"订单总价:"<<fee<<endl;cout<<"订单详情:"<<endl;cout<<setw(10)<<setiosflags(ios::left)<<"食物序列"<<setw(10)<<setiosflags(ios::left)<<"菜名"<<"\t数量\t价格"<<endl;for(inti=0;i<client_fm.getTotal();i++){cout<<setw(10)<<setiosflags(ios::left)<<setw(10)<<i+1<<setiosflags(ios::left)<<client_fm.food[i].getName()<<"\t"<<num[i]<<"\t"<<num[i]*client_fm.food[i].getPrice()<<endl;}cout<<"总价:\t\t"<<