快餐店运行模拟.docx

上传人:b****1 文档编号:1276148 上传时间:2023-04-30 格式:DOCX 页数:9 大小:16.25KB
下载 相关 举报
快餐店运行模拟.docx_第1页
第1页 / 共9页
快餐店运行模拟.docx_第2页
第2页 / 共9页
快餐店运行模拟.docx_第3页
第3页 / 共9页
快餐店运行模拟.docx_第4页
第4页 / 共9页
快餐店运行模拟.docx_第5页
第5页 / 共9页
快餐店运行模拟.docx_第6页
第6页 / 共9页
快餐店运行模拟.docx_第7页
第7页 / 共9页
快餐店运行模拟.docx_第8页
第8页 / 共9页
快餐店运行模拟.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

快餐店运行模拟.docx

《快餐店运行模拟.docx》由会员分享,可在线阅读,更多相关《快餐店运行模拟.docx(9页珍藏版)》请在冰点文库上搜索。

快餐店运行模拟.docx

快餐店运行模拟

1.(基本分数12分)快餐店运行模拟

某快餐店供应若干种快餐和饮料(5种以上),早晨6:

00开始营业,晚上11:

00打烊。

前一天已经安排了若干工人上班,快餐店的用餐位是固定的,每种食物的成本和销售价格是确定的,每种食物的总量是确定的,储存事先准备好的各种食物的空间是确定的,顾客人数和顾客到达的时间是随机的,每人点餐的时间为一分钟,顾客用餐的时间是随机的。

营业时间里,其中7:

00—9:

00、11:

00—13:

00、17:

00—19:

00是用餐高峰期。

食物可以事先准备好,但是每种食物有不同的保鲜期,超过保鲜期的食物将被丢弃。

顾客到达后排队点餐,可能因为想要的某种食物没有准备好而等待,也可能因为准备好的食物时间较长(未过保鲜期)而等待现做的;可能因为食物售完或要等待而换成其他食物,抑或离开。

如果店里没有空位,顾客可选择等待或离开。

编写一个模拟该快餐店一天运行情况的应用程序,要求:

●设计系统需要的输入数据,并通过文本文件输入这些数据;

●生成一天模拟运行(数据信息)的报告,该报告存储在数据文件中,具体信息包括:

1.每种食物的销售数量、丢弃数量和利润(扣除成本后的收入)以及快餐店一天的总利润;

2.顾客因为食物售完或其他原因离开的人数,因为没有用餐位离开的人数;

3.顾客等待用餐位置的时间;

4.顾客等待食物的时间(每种食物一个数据);

5.每种食物不能满足顾客点餐要求的次数;

6.高峰期和非高峰期餐位的利用率。

●程序测试时应该应用多组参数,并产生不同的结果,从中判断系统结果是否符合实际,如增加用餐位,顾客等待用餐位置的时间会减少,非高峰期餐位的利用率会降低等

 

1.评分标准

可以运行的小课题程序将获得该题基本分(见题目文件)。

采用面向对象设计完成,加3分,否则不加分;正确性和可靠性加0-3分;界面友好性加0-3分;课题汇报加0-2分;文档和算法加0-2分(教师评分)。

以上各项加分独立给分,(基本分+加分)*4=小组总分。

 

当时food类里面的私有成员是用了这些标示符cost;price;total;space;make;fresh;amount;birth;

 

源码引用:

#include

#include

usingnamespacestd;

intgenerate_peak(intk);

intgenerate_low(intk);

intf1(intj);

intf2(intl);

boolchoose_quit();

classFood

{

private:

intcost;

intprice;

inttotal;

intspace;

intmake;

intfresh;

intamount;

intbirth;

public:

Food();

voidsift();

voidproject();

};

Food:

:

Food(intc,intp,intt,ints,intm,intf,inta,intb)

{

cost=c;

price=p;

total=t;

space=s;

make=m;

fresh=f;

amount=a;

birth=b;

}

voidFood:

:

sift()

{

intthr=0;

Foodd[50];

Foodf[j];

if(i==d[1].birth+f[j].fresh)

{

thr++;

f[j].a--;

for(intl=0;l

{

voidswift(d[l],d[l+1]);

}

}

}

voidswift(Foodd[l],Foodd[l+1])

{

intg;

g=d[l];

d[l]=d[l+1];

d[l+1]=d[l];

}

voidFood:

:

project()

{

intd[50];

intk;

if(t==0)

break;

elseif(i%5==0&&a<2s/3)

{

k=2s/3;

d[k].b=i+m;

t--;

a++;

}

}

intgenerate_peak(intm)

{

m=0;

inta=rand()%998;

if(a%3==0)

m=0;

elseif(a%3==1)

m=1;

elseif(a%3==2)

m=2;

returnm;

}

intgenerate_low(intm)

{

m=0;

inta=rand()%1000;

if(a%7==0)

m=0;

if(a%7==1||a%7==2)

m=1;

if(a%7==3||a%7==4||a%7==5||7==6)

m=2;

returnm;

}

intf1(intp)

{

p=1+rand()%5;

returnp;

}

intf2(intq)

{

q=q+rand()%5;

returnq;

}

boolchoose_quit()

{

intq=rand()%1;

if(q==1)

returntrue;

else

returnfalse;

}

classfood

{

intamount,cwait;

public:

food(inta,intw)

{

amount;

cwait=w;

}

};

intmain()

{

for(i=0;i<1020;i++)

{

Foodf[5]{(5,8,300,30,4,30),(3,5,500,50,3,60),(4,7,200,20,3,60),(5,9,400,30,4,60),(4,6,200,20,5,30)};

for(intj=0;j<5;j++)

{

f[j].sift;

f[j].project;

}

intn,Q1,Q2,m,p,q;//i是分钟数,Q1是流失人数,Q2是实际购买人数

intout[6];

for(intn=360;n<=1380;n++)

{

if(n<360||n>1380)

{

cout<<"Error!

";

returnfalse;

}

elseif((n>=420&&i<=540)||(n>=660&&i<=780)||(n>=1020&&i<=1140))

generate_peak(m);

else

generate_low(m);

}

if(m>=1)

intp=f1(p);//j是所点食物种类的数量

for(intP=p;P>=1;P--)

{

out[l]=false;

intt_max=0;

do

{

intl=f2(l);//l是所点食物在食物类中的位置

intT=food[l].order(amount);

if(T==-1)

{

out[l]=true;

if(choose_quit())

{

Q1++;

break;

}

else

{

out[l]=false;

break;

}

}

else

{

intt=food[l].order(amount);

Q2++;

if(t>t_max)

t_max=t;

returnt_max;

out[l]=true;

}

}

while(out[l]==false);

}

}

return0;

}

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2