回 帖 发 新 帖 刷新版面

主题:怎么控制银行的时间呢?急救!!

在编一个银行的模拟系统,要求随机的产生顾客和交易时间等,最终求出在营业时间内的客户在银行呆的平均时间.
请各位高手指导一下怎么控制在营业时间内随机产生数据啊,用的是链表队列的方法.
if(TotalTime<closetime)
 { int intertime = rand() %INTERVAL; /* INTERVAL 分钟内有一位客人到达银行,  0 表示客户同时到达 */      
d1.Insert(intertime,j);
(省略次要的了.)...
}
 else {cout<<"the bank will be closed!"<<endl;exit(0);}

回复列表 (共4个回复)

沙发

for(int j=0;j<AQueue.GetSize();j++)
      {        
        if(TotalTime<closetime)
        {
          srand( time(NULL) );          /* 生成随机数种子 */
          int durtime = (rand() % 30+1); /* 事务处理时间不超过 MAX_TIME 分钟 */}
else......
为什么这样产生的durtime数据都是一样的呢??

板凳

有哪位抽空帮忙吧~~~我整了好多天了,都快疯了,换了很多种思路了..

3 楼

[quote]        srand( time(NULL) );          /* 生成随机数种子 */
          int durtime = (rand() % 30+1); /* 事务处理时间不超过 MAX_TIME 分钟 */}
else......
为什么这样产生的durtime数据都是一样的呢??
[/quote]
不应该啊。你把srand改为srand((unsigned)time(NULL));并调到循环外试试

4 楼


yes!改了之后产生的随机数正确的了,[em11]谢谢了~~但是我的程序还是有问题,控制时间不对,恐怕还是要正一阵子了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册