求解一题关于数据结构的编程题,请用C编些5.5 课题C5:洗车仿真1.设计目的(1)复习队列的存储和实现方法.(2)进一步掌握队列的实际应用.(3)掌握利用时间函数模拟产生离散事件的方

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/03 01:32:49

求解一题关于数据结构的编程题,请用C编些5.5 课题C5:洗车仿真1.设计目的(1)复习队列的存储和实现方法.(2)进一步掌握队列的实际应用.(3)掌握利用时间函数模拟产生离散事件的方
求解一题关于数据结构的编程题,请用C编些
5.5 课题C5:洗车仿真
1.设计目的
(1)复习队列的存储和实现方法.
(2)进一步掌握队列的实际应用.
(3)掌握利用时间函数模拟产生离散事件的方法.
2.主要内容
假设洗车站有三个洗车处,每个洗车处可构成一个等待队列.根据系统时间随机生成每辆车的到达时间,相邻两辆车的到达时间间隔为[2,15]分钟之间的随机值,每辆车接受服务的时间选项为10、15或25分钟其中之一(随机产生).第一辆车的到达时间在洗车站开门30分钟之内(随机产生).
平均等待时间是将每辆车的等待时间加起来再除以车的数量.
下面是关于车辆到达和离开的具体条件:
(1)如果当队列为空且没有车被清洗时,到达了一辆车,那么就马上开始清洗这辆车;它无需进入队列.每当一辆车通过清洗后,它就马上离开洗车处,随之相应队头的车辆出队进入清洗过程.
(2)每当一辆车到达时,它直接进入三个队列中等待时间最短的队列.
(3)每个队列中每次至多有5辆车在等待洗车.当正在清洗并且三个队列中均有5辆车时,如果此时有一辆车到达,那么它将作为“溢出”不准入内且不计算在内.
(4)每辆车的等待时间不含其接受服务的时间.
3.设计要求
(1)产生6个小时内车辆的随机到达时刻和接受服务时间.
(2)列举出所有车辆(包括未能进队洗车的车辆)的洗车情况(到达时间、所处等待队列及等待时间、接受服务时间、离开时间等).
(3)计算所有车辆的平均等待时间.

求解一题关于数据结构的编程题,请用C编些5.5 课题C5:洗车仿真1.设计目的(1)复习队列的存储和实现方法.(2)进一步掌握队列的实际应用.(3)掌握利用时间函数模拟产生离散事件的方
这样行不行
#include "CarWash.h"
#include"Car.h"
#include
#include
#include
CarWash::CarWash()
{
currentTime=0;
numberOfCars=0;
sumOfWaitingTimes=0;
nextDepartureTime=INFINITY;
}
const int CarWash::INFINITY=10000;
const int CarWash::MAX_SIZE=5;
voidCarWash::runSimulation()
{
const stringPROMPT="\nPlease choose the number(1/2/3/4) tocontrol the wash time\n1 10 munites\n2 15 munites\n3 20 munites\n4 25munites\nThe sentinel is ";
const int SENTINEL=999;
queue carQueue;
intnextArrivalTime;
cout