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

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

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

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

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

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

面向对象程序课程设计(/第一学期第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"<<fee<<endl;}char*Client::