📄 simulation.h
字号:
extern int CustomerNum;
extern Event en;
extern int t1,t2;
extern LinkList ev;
extern LinkQueue Q;
extern int CloseTime;
extern float Totallength;
extern int CurrentChair,Totaltime;
extern QElemType customer;
void CustomerArrived()
{
QElemType e1; //顾客
ElemType e;
int durtime,intertime;
CustomerNum++;
cout<<"input durtime:";
cin>>durtime;
cout<<"input intertime:";
cin>>intertime;
cout<<endl;
e.OccurTime=en.OccurTime+intertime; //en代表当前的进门事件
//e代表下一个顾客到来所代表的进门事件
if(e.OccurTime>t1) t1=e.OccurTime; //t1代表最晚的进门时间
e.NType=0;
if(e.OccurTime<CloseTime)
OrderInsert(ev,e); //ev代表事件链表
if(CurrentChair>0)
{
e.OccurTime=en.OccurTime+durtime; //e代表当前顾客的出门事件
if(e.OccurTime>t1) t1=e.OccurTime; //t1代表最晚的出门时间
e.NType=1;
OrderInsert(ev,e);
Totaltime+=durtime;
CurrentChair--;
}
else
{
e1.ArrivalTime=en.OccurTime;
e1.Duration=durtime;
EnQueue(Q,e1);
Totallength+=Q.len;
}
}
void CustomerDeparture()
{
int Departtime;
ElemType e;
if(Q.len!=0)
{
DeQueue(Q,customer);
Departtime=en.OccurTime+customer.Duration;
if(Departtime>t2) t2=Departtime;
e.OccurTime=Departtime;
e.NType=1;
OrderInsert(ev,e);
Totaltime+=Departtime-customer.ArrivalTime;
}
else CurrentChair++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -