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

📄 simulation.h

📁 java编程理发馆
💻 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 + -