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

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

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

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

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

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

面向对象程序课程设计 (2014/2015学年第一学期第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();ﻩ//删除客户所选择的食物 }; #endif Client。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(