快餐店运行模拟Word文档格式.docx
《快餐店运行模拟Word文档格式.docx》由会员分享,可在线阅读,更多相关《快餐店运行模拟Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。
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<
iostream>
ctime>
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<
s;
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];
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)
elseif(a%3==1)
m=1;
elseif(a%3==2)
m=2;
returnm;
intgenerate_low(intm)
inta=rand()%1000;
if(a%7==0)
if(a%7==1||a%7==2)
if(a%7==3||a%7==4||a%7==5||7==6)
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;
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!
;
elseif((n>
=420&
=540)||(n>
=660&
=780)||(n>
=1020&
=1140))
generate_peak(m);
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++;
intt=food[l].order(amount);
Q2++;
if(t>
t_max)
t_max=t;
returnt_max;
while(out[l]==false);
return0;