文档介绍:停车场管理系统停车场管理系统[实验目的]综合运用线性表、队列、排序、随机数等数据结构知识,掌握并提高分析、设计、实现及测试程序的综合能力。[实验内容及要求]停车场拥有M个车位和一条进入停车场的便道,便道上最多停放N辆汽车。汽车要想进入车位,首先进入便道等候。若有空闲车位,则停车入位,否则在便道继续等候,直至有车位空出。若便道已经停满等候的汽车,后到达的汽车只能离开,选择其他停车场。设计一个停车场管理系统,模拟停车场的运作,并统计停车场的收入。使用随机数产生某一时间段内进入和离开停车场的车辆数目;存储并记录如下数据项:汽车到达和离去的时间及汽车的车号;车辆到达时,提示汽车的停车位置编号(为车辆分配编号最小的可用车位),若车位已满给出相应提示;汽车离去时,输出汽车在停车场内停留的时间和应交纳的费用。对该停车场进行统计:统计每天到达、离开的车次,停车总时数、每天停车场的收入等。[测试数据]M=30,N=5,以1小时为时间的最小单位,每小时停车费30元,每小时到达的车辆数目在0-20辆之间均匀分布,车辆停留1小时后离开的概率是25%,每多停留1小时后离开概率增加25%,4小时后一定要离开。一天以24小时计算。[实现提示]用队列模拟便道,可用车位需按照编号排序,申请车位时分配编号最小的车位,可用车位动态变化,选择排序方法时应考虑算法效率。#include<iostream>#include<>#include<>#include<fstream>usingnamespacestd;/****************************************车位*****************************************/classchewei{private: boolbiaozhi;//用来标识车位是否被占用 intintime,outtime;//车位上的车辆的进站时间和出站时间 intzongshijian,zongfeiyong;//该车位上总时间和产生的总费用 intzongchel;//总共离开车辆数 intchepai;//在该车位上停车的车辆的车牌号 inttime;//车辆停留时间public: chewei(){biaozhi=true;intime=0;zongshijian=0;zongfeiyong=0;zongchel=0;} voidshezhibz(){biaozhi=false;}//判断该车位上是否有车 voidshezhicp(intcp){chepai=cp;}//车到来的时候将车牌号改为该车的车牌号 voidincar(intcp,intsj);//车辆进入 voidoutcar(intsj);//车辆出来 inttingliusj(intt);//查看该车的停留时间 intalltime();//总时间 intallcost();//总费用 intallcar();};voidchewei::incar(intcp,intsj){ biaozhi=false; chepai=cp; intime=sj;}voidchewei::outcar(intsj){ inttime,feiyong; time=sj-intime; feiyong=time*30; biaozhi=true; cout<<"车牌号为:"<<chepai<<endl; cout<<"进入车库时间为:"<<intime<<endl; cout<<"离开车库时间为:"<<sj<<endl; cout<<"停车时间为:"<<time<<endl; cout<<"需缴纳停车费为:"<<feiyong<<endl<<endl;ofstreamoutfile("",ios::app); outfile<<"车牌号为:"<<chepai<<endl; outfile<<"进入车库时间为:"<<intime<<endl; outfile<<"离开车库时间为:"<<sj<<endl; outfile<<"停车时间为:"<<time<<endl; outfile<<"需缴纳停车费为:"<<feiyong<<endl<<endl; zongshijian=zongshijian+time; zongfeiyong=zongfeiyong+feiyong; zongchel=zongchel+1;}intchewei::allcost(){ returnzongfeiyong;}intchewei::alltime(){ returnzongshijian;}intchewei::allcar(){ returnzongchel;}intchewei::tingliusj(