上次写了个程序,因为没有把原题写出来,大家没法看,现在我把原题也搬来了,希望大家不吝赐教~~
有这么一道题为了说明离散事件系统的模拟过程,我们在这里先就一个简化的机场管理系统的模拟作出讨论。设有一机场,飞机在同一跑道上着陆和起飞。飞机着陆所需时间为T1分钟,起飞所需时间为T2分钟,飞机的平均到达速率为λ1(每分钟架数λ1<1),平均起飞速率为λ2(每分钟架数,λ2<1),由于各种原因,飞机是在随机时刻到达的。考虑到飞机在空中停留比在地面停留的花费要大得多,选定飞机要求着陆优先于要求起飞,在着陆与起飞的排队中,按FIFO律执行。若时钟间隔以分计,则为了模拟飞机着陆,对应于每一分钟要给出一个随机数,随机数为[0,1]区间内的任意值,服从一定分布。若给出的随机数小于λ1,则表示有飞机到达,此时把它排在要求着陆的队里。这里约定飞机是在时钟间隔的 末尾到达的。同时,还需要产生另一个随机数,以确定飞机是否要求起飞。若要求起飞,则排在起飞的队伍里。?
模拟程序完成上述任务后,下一步的任务是检查跑道是否有空,若跑道没有空,则给出当时的排队情况,并执行下个时间间隔,若跑道有空,则先检查要求着陆的队伍中是否有等待的飞机,若有则允许队伍中的第一架飞机降落,否则考虑等待起飞的队伍。当要求模拟机场在时间为Tg内的交通管理过程,即研究平均排队长度和一架飞机的平均排队时间以及有关的统计值,则模拟流程如图4-1所示。?
t——以分表示的时间;?
Q1——要求着陆的飞机数;?
Q2——要求起飞的飞机数;?
u——伪随机数;?
D、A——在t时刻已起飞与已着陆的飞机(包括跑道上的飞机);?
R——跑道不能提供使用的时间;?
T1、T2——飞机着陆和起飞所需时间;?
Tg——模拟机场管理过程时间;?
λ1、λ2——飞机到达和起飞的平均速率;?
S——跑道状态变量,S=0时,表示跑道没有飞机,S=1时,表示有一架降落的飞机占用跑道,S=2时,表示有一架起飞的飞机占用跑道。
以下是我的程序
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
int Q1=0,Q2=0,D=0,A=0,t=0,S=0,R=0,Tg=20,T1=5,T2=4;
float λ1=0.2,λ2=0.1,u;
for(t=0;t<=Tg;t++)
{ int rd;
srand(time(NULL));
rd = rand()%10;
u=float(rd)/10;
if (u<λ1)
{ Q1=Q1+1;}
srand(time(NULL));
rd= rand()%10;
u=float(rd)/10;
if (u<λ2)
{Q2=Q2+1;}
if (t>=R)
{ S=0;
if (Q1>0)
{ Q1=Q1-1;
A=A+1;
S=1;
R=t+T1;
}
else if (Q2>0)
{ Q2=Q2-1;
D=D+1;
S=2;
R=t+T2;
}else cout<<t<<"、"<<S<<"、"<<Q1<<"、"<<Q2<<"、"<<A<<"、"<<D<<"、"<<R<<endl;
}
else
cout<<t<<"、"<<S<<"、"<<Q1<<"、"<<Q2<<"、"<<A<<"、"<<D<<"、"<<R<<endl;
}
}
结果出现以下问题
错误 1 error LNK2019: 无法解析的外部符号 time,该符号在函数 main 中被引用
错误 2 fatal error LNK1120: 1 个无法解析的外部命令
可能我太菜了~~大哥帮忙解释下,谢谢!!