面向对象程序设计A课程设计.docx
《面向对象程序设计A课程设计.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计A课程设计.docx(26页珍藏版)》请在冰豆网上搜索。
面向对象程序设计A课程设计
面向对象程序设计A课程设计(总24页)
面向对象程序课程设计
(2017/2018学年第二学期第17周)
指导教师:
XXX
班级:
XXX
学号:
XXXX
姓名:
XXX
面向对象程序课程设计任务书
【题目】自助点餐系统
【目的】
通过设计一个小型的自助点餐系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。
【要求】
1、每个学生必须独立完成;
2、课程设计时间为1周;
3、设计语言采用C++;
4、学生有事离校必须请假。
课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。
【内容简介】
有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。
【考核标准】
该系统为两种角色的用户提供服务,一种是餐厅管理员,一种是顾客。
餐厅管理员根据账号、密码登录系统。
顾客无需登录即可使用系统。
1、顾客通过该餐厅在系统中提供的菜单为自己点餐,菜单以文件形式保存。
系统能够根据顾客的要求正确打出订单,订单内容包括订单编号、菜品名称、每个菜品的价格、份数、折扣等;订单分两种,一种是在店消费,在店消费要求包括餐桌号,是否有包厢费,另一种是外卖,外卖要求包括送餐时间,送餐地点,客户手机号,外卖服务费。
(要求用继承和多态实现),成绩≥60;
2、系统退出后能保存当天的订单信息,要求每天一个文档,文档名按照日期命名。
餐厅管理员可以根据订单编号查找删除修改某个订单,订单可以按照下单时间先后排序,成绩≥70;
3、能够实现对餐厅菜式和价格的管理,包括对菜品和对应价格的增加、修改、删除、查找,折扣的设置,成绩≥80;
4、系统可根据历史记录对销售情况进行统计,根据餐厅管理员的输入日期统计某天的销售情况并显示(包括一共接了多少单,销售额是多少,各个菜品的销售情况,外卖和在店销售的占比),成绩≥90;
要求:
用面向对象的程序设计方法设计该系统。
本系统涉及的基本对象有订单对象(包括外卖订单和在店消费订单)、订单管理对象、菜单对象、菜品对象、菜品管理对象、系统界面。
实现对这些对象的合理抽象和封装,正确定义类之间的关系。
界面合理,代码文件组织清晰,命名符合规范,代码注释清楚,课程设计报告质量高。
面向对象程序课程设计
一、题目
有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。
二、需求分析
有一个小型餐厅,该餐厅提供即时就餐和外卖服务。
方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。
1、根据顾客的选择正确打出订单。
2、统计出每一天的订单并将之保存在文件中。
3、可以通过管理员功能对订单,菜品等进行操作。
三、系统结构图
四、类的设计
五、程序代码与说明
#ifndefFace_h
#defineFace_h
#include""
classFace{
private:
OrderManashard;
public:
voidstart();理员\t\t\t"<cout<<"\t\t\t2.顾客\t\t\t"<cout<<"________________________________________________________________"<intm;
cin>>m;
if(m==1){
Adm();
inti;
cin>>i;
switch(i){
case1:
AdmOrder();break;
case2:
AdmVege();break;
case3:
AdmSell();break;
case4:
break;
}
}
else{
client();
}
}
找修改删除订单"<cout<<"\t\t\t2.菜式和价格的管理"<cout<<"\t\t\t3.查看销售情况"<cout<<"\t\t\t4.退出"<cout<<"________________________________________________________________"<inti;
cin>>i;
switch(i){
case1:
AdmOrder();break;
case2:
AdmVege();break;
case3:
AdmSell();break;
case4:
start();break;
}
start();
}
找订单"<cout<<"\t\t\t2.修改订单"<cout<<"\t\t\t3.删除订单"<cout<<"\t\t\t4.退出"<cout<<"________________________________________________________________"<inti;
cin>>i;
switch(i){
case1:
AdmOrderI();break;
case2:
AdmOrderII();break;
case3:
AdmOrderIII();break;
case4:
Adm1();break;
}
Adm1();
}
加菜品"<cout<<"\t\t\t2.修改菜品"<cout<<"\t\t\t3.删除菜品"<cout<<"\t\t\t4.查找菜品"<cout<<"\t\t\t5.设置折扣"<cout<<"\t\t\t6.退出"<cout<<"________________________________________________________________"<inti;
cin>>i;
switch(i){
case1:
AdmVegeI();break;
case2:
AdmVegeII();break;
case3:
AdmVegeIII();break;
case4:
AdmVegeV();break;
case5:
AdmVegeVI();break;
case6:
Adm1();break;
}
Adm1();
}
xt";
OrderManape;
(day);
cout<<"订单数:
"<<()<cout<<"销售额:
"<<()<cout<<"外卖和在店销售的占比:
"<<()<Adm1();
}
卖"<cout<<"\t\t\t2.在店消费"<inti;
cin>>i;
if(i==1){
stringtime,address,phone;
cout<<"请输入送餐时间:
"<cin>>time;
cout<<"请输入送餐地点:
"<cin>>address;
cout<<"请输入手机号:
"<cin>>phone;
number=();
cout<<"\t\t\t外卖"<cout<<"\t\t\t编号:
"<cout<<"送餐时间:
"<