面向对象程序设计A课程设计文档格式.docx

上传人:b****7 文档编号:21815085 上传时间:2023-02-01 格式:DOCX 页数:26 大小:533.33KB
下载 相关 举报
面向对象程序设计A课程设计文档格式.docx_第1页
第1页 / 共26页
面向对象程序设计A课程设计文档格式.docx_第2页
第2页 / 共26页
面向对象程序设计A课程设计文档格式.docx_第3页
第3页 / 共26页
面向对象程序设计A课程设计文档格式.docx_第4页
第4页 / 共26页
面向对象程序设计A课程设计文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

面向对象程序设计A课程设计文档格式.docx

《面向对象程序设计A课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计A课程设计文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

面向对象程序设计A课程设计文档格式.docx

3、能够实现对餐厅菜式和价格的管理,包括对菜品和对应价格的增加、修改、删除、查找,折扣的设置,成绩≥80;

4、系统可根据历史记录对销售情况进行统计,根据餐厅管理员的输入日期统计某天的销售情况并显示(包括一共接了多少单,销售额是多少,各个菜品的销售情况,外卖和在店销售的占比),成绩≥90;

要求:

用面向对象的程序设计方法设计该系统。

本系统涉及的基本对象有订单对象(包括外卖订单和在店消费订单)、订单管理对象、菜单对象、菜品对象、菜品管理对象、系统界面。

实现对这些对象的合理抽象和封装,正确定义类之间的关系。

界面合理,代码文件组织清晰,命名符合规范,代码注释清楚,课程设计报告质量高。

一、题目

二、需求分析

有一个小型餐厅,该餐厅提供即时就餐和外卖服务。

方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。

1、根据顾客的选择正确打出订单。

2、统计出每一天的订单并将之保存在文件中。

3、可以通过管理员功能对订单,菜品等进行操作。

三、系统结构图

四、类的设计

五、程序代码与说明

#ifndefFace_h

#defineFace_h

#include"

"

classFace{

private:

OrderManashard;

public:

voidstart();

理员\t\t\t"

<

<

endl;

cout<

"

\t\t\t2.顾客\t\t\t"

________________________________________________________________"

intm;

cin>

>

m;

if(m==1){

Adm();

inti;

cin>

i;

switch(i){

case1:

AdmOrder();

break;

case2:

AdmVege();

case3:

AdmSell();

case4:

break;

}

}

else{

client();

}

找修改删除订单"

\t\t\t2.菜式和价格的管理"

\t\t\t3.查看销售情况"

\t\t\t4.退出"

inti;

switch(i){

case1:

case2:

case3:

case4:

start();

start();

找订单"

\t\t\t2.修改订单"

\t\t\t3.删除订单"

AdmOrderI();

AdmOrderII();

AdmOrderIII();

Adm1();

Adm1();

加菜品"

\t\t\t2.修改菜品"

\t\t\t3.删除菜品"

\t\t\t4.查找菜品"

\t\t\t5.设置折扣"

\t\t\t6.退出"

AdmVegeI();

AdmVegeII();

AdmVegeIII();

AdmVegeV();

case5:

AdmVegeVI();

case6:

xt"

;

OrderManape;

(day);

订单数:

()<

endl;

销售额:

()<

外卖和在店销售的占比:

卖"

\t\t\t2.在店消费"

if(i==1){

stringtime,address,phone;

cout<

请输入送餐时间:

time;

请输入送餐地点:

address;

请输入手机号:

phone;

number=();

\t\t\t外卖"

\t\t\t编号:

number<

送餐时间:

time<

\t送餐地点:

address<

\t客户手机号:

phone<

菜品\t\t价格\t\t份数\t\t折扣"

();

list<

Vegetalbe*>

:

iteratorit;

for(it=it!

=it++)

{

money=(*it)->

getmoney()*(*it)->

getnum()*(*it)->

getdiscount()*+money;

总价:

money+5<

元"

(&

pe,time,address,phone,number);

elseif(i==2){

请问是否选择包厢(是/否):

stringi;

boolr=0;

if(i=="

是"

){

r=1;

intc;

srand((unsigned)time(NULL));

c=rand()%(50-1);

\t\t\t在店消费"

\t\t\t订单编号:

包厢费:

(int)r*50<

座位号:

c<

money+(int)r*50<

pe,r,c,number);

ios:

trunc);

for(it=it!

{

outDate<

(*it)->

getname()<

\t\t"

getmoney()<

getdiscount()<

();

添加成功"

AdmVege();

修改成功"

删除成功"

输入查找订单编号:

stringnumble;

numble;

(numble);

AdmOrder();

输入删除订单编号:

ofstreamoutDate(day,ios:

list<

Mana*>

if((*it)->

getKind()=="

外卖"

outDate<

\t\t\t编号"

getNumble()<

getTim()<

getAddress()<

getphone()<

list<

iteratorI;

for(I=(*it)->

();

I!

=(*it)->

it++)

{

outDate<

(*I)->

getnum()<

(*I)->

}

getAllmoney()<

else{

(int)(*it)->

getA()*50<

getTable()<

getnum()<

#include<

iostream>

usingnamespacestd;

voidmain(){

Facere;

Mana:

Mana(stringnumble,stringkind,stringtim,stringaddress,stringphone){

this->

Numble=numble;

kind=kind;

tim=tim;

address=address;

phone=phone;

Mana(stringnumble,stringkind,inttable,boola){

table=table;

a=a;

voidMana:

setAllmoney(intmoney){

Allmoney=money;

insert(stringVege,doublemoney,intnum,doublediscount){

*it=newVegetalbe(Vege,money,num,discount);

(*it);

fstream>

iomanip>

);

stringname;

doublemoney;

doublediscount;

infile>

name>

money>

discount;

p=newVegetalbe(name,money,discount);

while(!

()){

(p);

infile>

p=newVegetalbe(name,money,discount);

voidMenu:

pushnew(Vegetalbe&

b){

p=&

b;

(p);

stringMenu:

number(){

time_tt=time(0);

chartmp[32]={NULL};

strftime(tmp,sizeof(tmp),"

%Y%m%d%H%M%S"

localtime(&

t));

returntmp;

dleinsert(stringVege){

for(it=();

it!

=();

getname()!

=Vege){

(*it);

Menu:

~Menu(){

it++){

delete*it;

Order:

Order(stringaccount,stringcode){

account=account;

code=code;

boolOrder:

judge(){

boolT=0;

ifstreaminfile("

D:

\\管理员账号.txt"

stringAccount,Code;

Account>

Code;

if((this->

account==Account)||(this->

code==Code)){

T=1;

break;

returnT;

app);

doublemoney=0;

outDate<

endl<

\t\t\t外卖"

\t\t\t订单编号"

送餐时间"

tim<

\t送餐地点"

\t客户手机号"

for(it=p->

=p->

money=(*it)->

总价"

money+5<

endl<

if(a==1){

包厢费"

(int)a*50<

座位号"

x<

iter

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1