欢迎来到天天文库
浏览记录
ID:57900613
大小:330.86 KB
页数:32页
时间:2020-04-02
《停车场模拟管理系统报告(附源代码).docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实训报告专业:班级:学号:姓名:课设题目:停车场模拟管理系统指导教师:目录一、需求分析1二、总体设计12.1系统功能概述1三、到达停车场准备进入停车场23.1进入停车场函数2四、离开停车场3五、详细设计55.1函数的调用关系55.2主要算法的流程图6六、软件说明:76.1使用环境:VisualC++6.0.7操作要求:程序运行后,用户根据所要进行的操作选择是进入停车场还是离开停车场并输入车牌号和时间76.2测试图:7七、总结9附录:程序代码9一、需求分析停车场模拟管理系统现在很多的大型超市等都有智能的停车场当你进入停车场门口就会自动的显示里
2、面还有多少的空位并且指引你走到空的车位停下避免了把车辆开进去并且找不到空的车位和因为车子在停车场内乱走而导致想出来的车没有足够的时间出来。导致空间和时间各种不必要的麻烦所以急需我们做一个停车场管理系统。我们的停车场模拟管理系统有以下方面功能:1记录进入停车场的车辆的车牌号从而进入后可以知道其所停的停车位。2车子离开停车场根据离开时间和进入时间从而计算出所需要交的费用。3如果队列已经满了可以让要进入停车场的车子停在旁边的等候队列。二、总体设计2.1系统功能概述(1)28如果选择进入停车场就要判断停车场是否已经满了,如果未满直接进入,如果满了的
3、话就直接排在旁边的便道上等待有车子离开停车场从而进入停车场。(2)同时改程序还设立多了一个位置以便与有车进入同时有车离开可以停留在这里等候车子离开再进入。(以防止车子停车场内的车未能离开进入的车又正在进入从而导致停车场堵塞的情况)(3)离开的时候根据离开的车牌号从而把它从停车场中的位置移开并且通过离开时间和进入停车场的时间来计算出该车子所需要交纳的费用。等候队列离开停车场退出进入停车场系统操作界面有车离开如果等候队列不为空的话进入停2.11总体设计图一、到达停车场准备进入停车场voidparkingmanagement::arrival(c
4、arstack&cs,carqueue&cq,intcnum,doublectime)28{intpos;if(!(cs.full())){到达停车场的车子首先输入其判intfl(0),i;断停车场是否已经满了如果则直for(i=0;i<=cs.top;i++){接进入等候车道否则就进入停场if(cs.s[i].number==cnum){fl=1;break;}}if(fl==1)cout<<"输入错误!请重新输入!如果到达的车的车牌号!=栈内已有车辆的车牌号"<5、);//入栈,返回车位信息cout<<"该停车场还有空位,请到"<6、returnMax;}else{cs.top++;(cs.s[cs.top]).number=cnum;(cs.s[cs.top]).time=ctime;return(cs.top+1);}}一、离开停车场voidparkingmanagement::leave(carstack&cs,carqueue&cq,intcnum,doublectime){inti,flag(0),pstack,count(1),outcarnum;doublehour;28car*p;for(i=0;i<=cs.top;i++)if((cs.s[i]).nu7、mber==cnum){flag=1;break;}if(flag){popstack(cs,cnum);hour=ctime-popstacktime;outcarnum=popqueue(cq);/pstack=pushstack(cs,outcarnum,ctime);cout<<"该车在本停车场内停留时间为"<8、等候车道内就可直接开走无需收费count++;p=p->next;if(p->number==cnum){deletequeue(cq,count);if(count>Max){
5、);//入栈,返回车位信息cout<<"该停车场还有空位,请到"<6、returnMax;}else{cs.top++;(cs.s[cs.top]).number=cnum;(cs.s[cs.top]).time=ctime;return(cs.top+1);}}一、离开停车场voidparkingmanagement::leave(carstack&cs,carqueue&cq,intcnum,doublectime){inti,flag(0),pstack,count(1),outcarnum;doublehour;28car*p;for(i=0;i<=cs.top;i++)if((cs.s[i]).nu7、mber==cnum){flag=1;break;}if(flag){popstack(cs,cnum);hour=ctime-popstacktime;outcarnum=popqueue(cq);/pstack=pushstack(cs,outcarnum,ctime);cout<<"该车在本停车场内停留时间为"<8、等候车道内就可直接开走无需收费count++;p=p->next;if(p->number==cnum){deletequeue(cq,count);if(count>Max){
6、returnMax;}else{cs.top++;(cs.s[cs.top]).number=cnum;(cs.s[cs.top]).time=ctime;return(cs.top+1);}}一、离开停车场voidparkingmanagement::leave(carstack&cs,carqueue&cq,intcnum,doublectime){inti,flag(0),pstack,count(1),outcarnum;doublehour;28car*p;for(i=0;i<=cs.top;i++)if((cs.s[i]).nu
7、mber==cnum){flag=1;break;}if(flag){popstack(cs,cnum);hour=ctime-popstacktime;outcarnum=popqueue(cq);/pstack=pushstack(cs,outcarnum,ctime);cout<<"该车在本停车场内停留时间为"<8、等候车道内就可直接开走无需收费count++;p=p->next;if(p->number==cnum){deletequeue(cq,count);if(count>Max){
8、等候车道内就可直接开走无需收费count++;p=p->next;if(p->number==cnum){deletequeue(cq,count);if(count>Max){
此文档下载收益归作者所有