📄 client.h
字号:
//乘客类型
typedef struct {
int ClinetID; //乘客编号
int Outfloor; //去哪层
int InTime; //该乘客进入时间
int GivepuTime; //所能容忍的等待时间
int Infloor;//乘客进入的楼层
}Client;
//乘客类型基本操作
void PrintClientInfo(Client const &e,ClientStatus s) {
//输出乘客信息
#if !test
switch(s) {
case New:cout<<Time<<'\t'<<e.ClinetID<<"号乘客进入第"<<e.Infloor<<"层"<<endl;break;
case GiveUp:cout<<Time<<"\t"<<e.ClinetID<<"号乘客放弃等待, 等待了"<<Time-e.InTime<<"/0.1s"<<endl;break;
case Out:cout<<Time<<'\t'<<e.ClinetID<<"号乘客走出电梯"<<endl;break;
case In:cout<<Time<<'\t'<<e.ClinetID<<"号乘客走进电梯,要去第"<<e.Outfloor<<"层"<<endl;break;
default:break;
};//switch
#endif
}
Status CreatClient(Client *&p) {
//生成新的乘客
int d;
p=new Client;
if(!p) return OVERFLOW;
p->ClinetID=++ID;
//ut<<ID; cout<<"所在楼层:";
//ut<<e.Infloor<<'\n';
cout<<ID;cout<<"所能容忍的等待时间:";cin>>d;
p->GivepuTime=d;//产生所能容忍的等待时间
p->InTime=Time;
cout<<"下一乘客要到达的时间:";cin>>d;
InterTime=d;//产生下一乘客要到达的时间
do{
cout<<"所要到达的楼层:";cin>>d;
if(d>4)
cout<<"输入错误!!!\n";
}while(d>4);
p->Outfloor=d; //产生所要到达的楼层
//该乘客出现的楼层
while((p->Infloor=rand()%(Maxfloor+1))==p->Outfloor);
// cin>>p->Infloor>>p->Outfloor>>InterTime;
PrintClientInfo(*p,New);
return OK;
}
Status DestoryClient(Client *&p) {
//该乘客离开系统
delete p;
p=NULL;
return OK;
}
Status GoAbove(Client const &e) {
//判断该乘客是否去往高层
if(e.Outfloor>e.Infloor) return TRUE;
else return FALSE;
}
int CInfloor(Client const &e) {
//返回乘客进入的楼层
return e.Infloor;
}
int CInTime(Client const &e) {
//返回乘客进入时间
return e.InTime;
}
int COutfloor(Client const &e) {
//返回乘客进入时间
return e.Outfloor;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -