⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.h

📁 关于一个五层楼的电梯模型,关于栈与队列的应用,内有实验报告.
💻 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 + -