面向对象程序设计A课程设计.docx
- 文档编号:2198554
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:40
- 大小:461.58KB
面向对象程序设计A课程设计.docx
《面向对象程序设计A课程设计.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计A课程设计.docx(40页珍藏版)》请在冰豆网上搜索。
面向对象程序设计A课程设计
面向对象程序课程设计
(2017/2018学年第二学期第17周)
指导教师:
XXX
班级:
XXX
学号:
XXXX
姓名:
XXX
面向对象程序课程设计任务书
【题目】自助点餐系统
【目得】
通过设计一个小型得自助点餐系统,训练综合运用所学知识处理实际问题得能力,强化面向对象得程序设计理念,使自己得程序设计与调试水平有一个明显得提高。
【要求】
1、每个学生必须独立完成;
2、课程设计时间为1周;
3、设计语言采用C++;
4、学生有事离校必须请假。
课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告得学生,其成绩按不及格处理。
【内容简介】
有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况得统计与管理功能。
【考核标准】
该系统为两种角色得用户提供服务,一种就是餐厅管理员,一种就是顾客。
餐厅管理员根据账号、密码登录系统。
顾客无需登录即可使用系统。
1、顾客通过该餐厅在系统中提供得菜单为自己点餐,菜单以文件形式保存。
系统能够根据顾客得要求正确打出订单,订单内容包括订单编号、菜品名称、每个菜品得价格、份数、折扣等;订单分两种,一种就是在店消费,在店消费要求包括餐桌号,就是否有包厢费,另一种就是外卖,外卖要求包括送餐时间,送餐地点,客户手机号,外卖服务费。
(要求用继承与多态实现),成绩≥60;
2、系统退出后能保存当天得订单信息,要求每天一个文档,文档名按照日期命名。
餐厅管理员可以根据订单编号查找删除修改某个订单,订单可以按照下单时间先后排序,成绩≥70;
3、能够实现对餐厅菜式与价格得管理,包括对菜品与对应价格得增加、修改、删除、查找,折扣得设置,成绩≥80;
4、系统可根据历史记录对销售情况进行统计,根据餐厅管理员得输入日期统计某天得销售情况并显示(包括一共接了多少单,销售额就是多少,各个菜品得销售情况,外卖与在店销售得占比),成绩≥90;
要求:
用面向对象得程序设计方法设计该系统。
本系统涉及得基本对象有订单对象(包括外卖订单与在店消费订单)、订单管理对象、菜单对象、菜品对象、菜品管理对象、系统界面。
实现对这些对象得合理抽象与封装,正确定义类之间得关系。
界面合理,代码文件组织清晰,命名符合规范,代码注释清楚,课程设计报告质量高、ﻬ面向对象程序课程设计
一、题目
有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况得统计与管理功能。
二、需求分析
有一个小型餐厅,该餐厅提供即时就餐与外卖服务。
方便顾客自己点餐,并提供对餐厅销售情况得统计与管理功能、
1、根据顾客得选择正确打出订单。
2、统计出每一天得订单并将之保存在文件中、
3、可以通过管理员功能对订单,菜品等进行操作、
三、系统结构图
四、类得设计
五、程序代码与说明
Face、h
#ifndefFace_h
#defineFace_h
#include"OrderMana.h"
classFace{
private:
OrderManashard;
public:
ﻩvoid start();ﻩﻩ//定义开始界面
void Adm();ﻩﻩ//定义管理员登入界面
ﻩvoid Adm1();ﻩﻩﻩ//定义管理员界面
ﻩvoidAdmOrder();ﻩﻩﻩ//查找修改删除订单
voidAdmVege();//菜式与价格得管理
voidAdmSell();ﻩ//查瞧销售情况
voidclient();ﻩﻩﻩ//定义客户界面
ﻩvoid AdmVegeI();ﻩﻩ//添加菜品
ﻩvoidAdmVegeII();ﻩ//修改菜品
ﻩvoidAdmVegeIII();//删除菜品
ﻩvoidAdmVegeV();ﻩﻩﻩﻩ//查找菜品
ﻩvoid AdmVegeVI();ﻩﻩ//设置折扣
voidAdmOrderI();ﻩ//查找订单
ﻩvoid AdmOrderII();ﻩﻩﻩ//修改订单
voidAdmOrderIII();ﻩ//删除订单
};
#endif
Mana、h
#ifndefMana_h
#defineMana_h
#include"menu。
h”
#include 〈string>
#include<list>
usingnamespacestd;
classMana:
publicMenu{
private:
stringkind;ﻩﻩﻩﻩﻩ//订单种类
stringtim,address,phone;ﻩﻩﻩ//送餐时间,送餐地点,客户手机号
ﻩinttable,Allmoney;ﻩﻩﻩﻩ//座位号,总价
boola;ﻩﻩﻩ//就是否有包厢费
public:
stringNumble;ﻩﻩﻩﻩﻩﻩ//订单编号
Mana(stringnumble,stringkind,stringtim,stringaddress, stringphone);
ﻩMana(stringnumble,string kind,inttable,boola);
ﻩvoidsetAllmoney(intmoney);
stringgetKind(){returnkind;};
ﻩstring getTim(){returntim;};
stringgetAddress(){returnaddress;};
stringgetphone(){returnphone;};
intgetTable(){ returntable; };
intgetAllmoney(){ return Allmoney;};
ﻩboolgetA(){return a;};
ﻩstringgetNumble(){returnNumble; };
voidinsert(stringVege,doublemoney,intnum,doublediscount);ﻩ
};
#endif
menu。
h
#ifndefMenu_h
#defineMenu_h
#include
#include 〈vector〉
#include "vegetalbe。
h”
usingnamespacestd;
classMenu{
private:
Vegetalbe*p;
public:
ﻩlist<Vegetalbe*>members;
ﻩlist <Vegetalbe*>ord;
voidinsert(string Vege,intnum);ﻩﻩﻩﻩﻩ//记录顾客挑选菜单
virtualvoidinsert(stringVege, double money, intnum,doublediscount);
ﻩvoidtxtinsert();ﻩﻩﻩﻩﻩﻩﻩﻩ//记录原有菜单
voidprintmembers();ﻩﻩﻩﻩﻩﻩ//输出原有菜单
ﻩvoid printord();ﻩﻩﻩﻩﻩ//输出顾客菜单
voidpushnew(Vegetalbe&b);ﻩﻩﻩﻩﻩﻩﻩ//添加菜单
ﻩstringnumber();ﻩﻩﻩﻩﻩﻩﻩﻩ//订单编码
ﻩvoid dleinsert(stringVege);ﻩﻩﻩﻩﻩ//删除菜品
ﻩ~Menu();
};
#endif
order.h
#ifndefOrder_h
#defineOrder_h
#include<string>
usingnamespace std;
class Order{
private:
stringaccount;
stringcode;
public:
Order(stringaccount,stringcode);
bool judge();
};
#endif
OrderMana、h
#ifndefOrderMana_h
#define OrderMana_h
#include”Mana。
h"
#include"menu。
h"
#include〈list>
#include using namespacestd; classOrderMana{ private: ﻩdoubleBossMoney=0;ﻩﻩﻩﻩﻩ//销售额 ﻩintFre =0;ﻩﻩﻩﻩﻩﻩﻩ//接了多少单 doubleSpec;ﻩﻩﻩ//外卖与在店销售得占比 ﻩdoubleTakeOut=0;ﻩﻩﻩﻩﻩﻩ//外卖次数 doubleInShop=0;ﻩﻩﻩﻩﻩﻩ//在店次数 Mana*p; public: list<Mana*> members; ﻩlist〈Mana*>ord; ﻩdoublegetBossMoney();ﻩﻩﻩﻩﻩﻩ//输出相应日期得销售金额 ﻩvoidtxtinsertI(Menu *p,string tim, stringaddress, string phone,stringnumber);ﻩ//打印外卖订单 voidtxtinsertII(Menu*p, boola,intx,stringnumber);ﻩﻩﻩﻩﻩ//打印在店订单 ﻩvoid txtinsertMana(stringday);ﻩﻩﻩﻩ//获取本地订单 ﻩvoidfindMana(stringnumble);ﻩﻩﻩﻩ//查找订单 voidpushit(Mana*re);ﻩﻩﻩﻩﻩﻩﻩﻩ//输出订单 ﻩvoiddleinsertM(stringnumble);ﻩﻩﻩﻩﻩﻩ//删除订单 doublegetSpec(){returnTakeOut /InShop;}; ﻩdoublegetTakeOut(){ returnTakeOut; }; doublegetInShop(){ returnInShop; }; ﻩintgetFre(){return Fre; }; }; #endif vegetalbe。 h #ifndefVegetalbe_h #define Vegetalbe_h #include using namespace std; classVegetalbe{ private: stringname; doublemoney; intnum; doublediscount; public: ﻩVegetalbe(stringname,doublemoney,double discount){ ﻩthis->name=name; ﻩthis—>money=money; ﻩthis-〉discount=discount; ﻩ}; ﻩVegetalbe(string name, doublemoney,intnum, doublediscount){ ﻩthis—>name=name; ﻩthis-〉mone
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 课程设计