停车场管理系统程序设计.docx

上传人:scccc 文档编号:13545872 上传时间:2022-01-15 格式:DOCX 页数:21 大小:233.41KB
返回 下载 相关 举报
停车场管理系统程序设计.docx_第1页
第1页 / 共21页
停车场管理系统程序设计.docx_第2页
第2页 / 共21页
停车场管理系统程序设计.docx_第3页
第3页 / 共21页
停车场管理系统程序设计.docx_第4页
第4页 / 共21页
停车场管理系统程序设计.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《停车场管理系统程序设计.docx》由会员分享,可在线阅读,更多相关《停车场管理系统程序设计.docx(21页珍藏版)》请在三一文库上搜索。

1、成功足失敗Z球一切祁足劭力的结果二、停车场治理系统1.1设计要求1.1.1问题描述设计一个停车场治理系统,模拟停车场的运作,此程序具有以下功能: 汽车到达,那么显示汽车在停车场内或便道上的停车位置. 假设车离去,那么显示汽车在停车场内停留的时间和应缴纳的费用在便道上停留的时间不 收费.1.1.2根本要求 要求以栈模拟停车场,以队列模拟车场外地便道,根据从终端读入的输入数摇序列进行模 拟治理. 求处理的数据元素包括三个数拯项:汽车“到达或“离去信息.汽车牌照号以及 离去的时刻. 要求栈以顺序结构实现,队列以链表实现.1丄3测试数据自行设计一组在停车场上停车的数据和便道上停车的数据.1.1.4实现

2、提示该停车场能容纳车辆的数量,便道上的停车数量.车辆到达对应栈的入栈操作,车辆离开对 应栈的出栈操作.1.2设计代码及注释3include#include5include#includeSinc1udeusing namespace std;Sdefine PASS 20define POT 20struct passLot/便道队列数据结构int num;/车位号time_t timep;/停车时间int carNum;/停车的午牌号;struct potLot/停午场栈数据结构int num;time_t timep;int carNum;void printLineO/打印下划线(作为主

3、界而图表的框架)cout*ttt*endl;return;void printStar()/打印星号coutendl*tt*endl;class erroFull/停牟位满时杲常类public:erroFull()systemCcolor 3c);void exOcoutendl*ttt!停午场位已满! *endl;.sleep (2000);erroFull0;class erroEmp/停乍位空时界常类public:erroEmp ()systemCcolor 3c);void exOcout*!停车场位为空! *endl;.sleep (2000);erroEmpO ;class par

4、kingLot/停花场类public:parkingLot()passLot* pa;/便道停车位指针potLot* po;/停午场停吃位指针flag=0;/用來记忆队列(便道)中停午的数虽rear=front=0;/初始化队列头尾base=0;top二base;/初始化栈头尾int i=0;/初始化停午场和便道空间以及立号for(:inum=i+l;aLicarNum=0;po=(potLot*)malloc(sizeof(potLot);bi=po;bli-num=i+l;bi-carNum=0;parkingLot()couttt停午场数据已清空.endl;)void passLGO/便

5、道治理函数tryif(flag=20) throw erroFullO ;/如果停车位已满,那么抛出车位慢得异常情况 system(cls);printStar0;couttttt 您进入了便道停午界lfilendl;coutendlttt便道停牟场共有20个牟位,现共停flagcarNum;areart imep=t ime(NULL);coutendl*,ttt!汽车停放在*aZrear-num*车位成功,系统将在一秒后返回 上层界ffi!l *endl;rear=(rear+l)%PASS;flag 卄;.sleep(1000);catch(erroFull &err)err ex();

6、void potLGO/停午场治理函数tryif(top=20) throw erroFull ();systemCcls);printStar0;couttttt您进入了停午场停车界面endl;coutendl*ttt停车场共有20个车位,现共停?topcarNxim;b top2 t imep=time (NULL);coutendl*ttt!汽牟停放在*btop2-num*位成功,系统将在一秒后返回上 层界面! *endl;top+p_sleep(1000);catch(erroFull &err)err ex();void arrive0/汽车到达mt choice=l:if(top=

7、20&flag=20) throw erroFullO:for(;:)systemCcls);printStar ();cout*tttt 欢送进入停车场zxendltm_hourtm_secendl; / 显示停午时刻hour=local-tm_hour; / 保存停车时刻min=localtm_min;sec=localtm_sec;now=time(NULL);nowp=localtime(&gF);coutt、勺前时间为:*nowp-tm_hour*:*nowp-tm_mm*:nowp-tm_secendl;hour = nowp - t m_hour hour;/求出停午的时间间隔m

8、m= nowp-tm_min-min;sec= nowp-tm_sec*sec;if (sec0) min;sec=60sec;/进行秒.分钟、秒时间转换if (min0) hour一;mm=60min;cout*t 汽车共停 j hour*小时 min分? sec秒?endl;if(0!=min)(0!=sec) m=l;gap= hour+m; /停车应收费的时间(单位:小时)return gap;void passOut ()/便道离开tryif (flag=0) throw erroEmpO ;int fee=0;system(cls);printStar0;cout*tttt 您进入

9、了便道离开界tftiendl;coutendl*ttt便道停午场共有20个牟位,现共停flag-lcarNum*t 车位:便道*afront-num号伏1停车时间:fee=feep(&afrontt imep)*0:coutt该车应缴纳停午费为:*feecarNum=0;front=(frontal)%PASS;flag;coutendlrttt!汽车离开成功,按任意键返回! *endl; systemCpause*);catch(erroEmp &err)err ex();void potOut ()/停车场离开页脚内容7成功足失敗Z球一切祁足劭力的结果tryif (top=0) throw

10、 erroEmpO :int fee=0;top;system(cls);printStar0;couttttt您进入了停牟场离开界面*endl;coutendlttt停午场共有20个乍位,现共停top个车位. endlendl;cout*ttt将要离开吃的信息为:carNumnum “号tt停车时间:、fee=feep(&btoptimep)*8;/计费公式,每小时 8 元coutt该车应缴纳停车费为:*fee元(每小时8元.缺乏一小时按一小时计算)carNum=0;coutendl*ttt!汽车离开成功,按任意键返回! *endl;system(pause);catch(erroEmp &

11、err)err ex();void depart ()/汽车离开int choice=l:if (top=0&flag=0) throw erroEmp ():for(;)systemCcls);system(*color 3a);printStar ();cout*tttt欢送下次光临停车场*endlendl;printLineO ;coutCttt|l.停车场离开ttt rendl;/*打印两个空格*/printLineO ;coutttt 2便道离开ttt | *endl;printLineO ;coutttt 3返回 ttt I *endl;printLineO ;printStar0

12、;cout*tt请输入你的选项:*;cinchoice;switch(choice)case 1:potOut 0;break;case 2:passOut ();break;case 3:break;default:system(*color 3c) :coutendltttt 输入格式不正确! endl;_sleep(1000):break;if (choice=3) break;return;void searchNumO/査询午牌号mt numCar, i=0, flag=l;cout*ttt请输入车牌号:;cinnumCar;for(;icarNum=numCar) coutendl

13、ttt 午牌号为numCarnum*位endl; flag=0;if (flag) for (i=0; icarNum=numCar) coutendlttt 午牌号为*numCar*的牟子停在停午道num位endl; flag=0;if (flag) coutendl该汽车未停在木停牛场! potCar;if(potCar100)!(potCar200)(if(potCar/100=l)nn=potCar%100l;if (bInn-carXum=0) cout*tt 你说査询的午位没有停午?endl;else cout*停牟场nn/P位停午的吃牌号是:*bnncarNumcarNum=0)

14、 cout*tt 你说査询的乍位没有停牟?endl;else cout便午道nn牟位停车的车牌号是:ann-carNumendl;else couttt您所输入的数字不正确! ?endl;system(pause);void search0/号査询int choice=-l;if (top=0&flag=0) throw erroEmp ():for(;)system(cls);system(color 3a);pnntStar ();cout*tttt 您进入 f 号査询界|fll*,endlendl;printLineO ;coutCttt|l.根据车牌号査询tt rendl;/*打卬两个

15、空格*printLineO ;cout*ttt ; 2.直接査询抬定牟位tt : endl ;printLineO ;cout*ttt 3返回ttt I *endl;printLineO ;printStar0;couttt请输入你的选项:;cinchoice;switch(choice)case 2:searchPot():break;case 3:break;default:system(*color 3c) :coutendltttt 输入格式不正确! endl; .sleep(1000);break;if (choice=3) break;)return;private:mt flag

16、, front, rear, top, base;/设辻访问栈和队列passLot* a PASS;/以顺序方式存储栈和队列,并且都设为20个牟位potLot* b:P0T:;tm* local, *nowp;time_t now; /设迓时间型变虽;/停车场类结束void mainO/程序运行主函数parkingLot a;int choice=l;for(;)/使主界而能够自动初始化和重复使用 system(*cls*);systemCcolor 3);/设为主背景为湖蓝色 printStar0;couttttt欢送进入停午场治理系统*endlOM XXMX)eXMXXKCXMMXXMXX

17、XXMXMXXXM3CKCXXKXXCXXX XXXXM您进入了便道停车界面便道停车场共有28个车位,现共停2个车位,请输入将要停车的号,羽加! !汽车停放在3车位成功,系统将在一秒后返回上层界面!MM 農 XXXX X JOt )() 兴X X M X XWX XX X X XXX 菟 XX XMZ )()(X*)0( MMX XX X-MKX X XOC X-MXXJCMK XX K 请输入你的选项.1.3. 31停车场离开界面E :停车场謹希停车场当湮施Debug停车场当曼珈exe您迸入了停辆离幵界面号车场共有28个车位:现共仔个车位. 为 艺0-号荃应 需车车 善汽该停车时丽18:46

18、:8缺乏一小时援一小时计算,青按任意键绻绫!汽车爲开成功,按任意键返0 !当停车场为空时,抛岀异常为空颜色变红1332便车道离开界面MXMXXMKMXXMMXMKKKMXXXMMMMXXMKMMMMMMXKXXKKMMMXMMXXXKXMK您进入了便道离开界面便道惇车场共有28个车位,现共停丄个车位.產礬离开奄的信息为:!: 3003 军位:便漕3号停车瓯闾:23:42:2步 23:44:18 了 0小叶2分丄6吃纳停车费为:0元便车道停车免费士.打二_卄! !汽车离开成功,按任意键返回!请援任意键继续当便车道为空时,抛岀异常为空颜色变红1.3.4号查询界而X XXX X XXJTXM X X

19、XMM X X XX X X M X OC MMX MX XKKX XXC XXJCMM X M您进入了号查询界面“ 根据车牌号查询汶言接査诲指定车位;3返回请输入你的选项:L3. 41根据车牌号查询您进入了号查询界面九根据车牌号葩 ;2 苣接直诲指定车位3 返回技任意键绝续请输人你蔽心嘶车牌号为2如的车子停在停车道第位您进入了号查询舁面八根扌居车牌号查询12 苣接查询指疋车位;3返回请输入你的选:见1请输人车牌号:3020车牌号为3020的车子停在便车道20位 请援任意键绝续 1.3. 4. 2直接查询指定车位界而您进入了号冯查询界面江.根据车牌号软;2.直接查询指定车位位号5场自j這 唁5

20、1 车03 的11 0 位11 O 、类即2车 : 项照号选按10 的场;3返回您进入了号查询舁百;i.根抿车牌号查诲;2苣接查询指疋车位;3返回翳谨翹髀 类勲位置極所要戟 的车位這歌,、如 停丰场均号化 即输人1佃.停车松三号化103 o场5号位,2G5,亠亠一瞽操作的服202聽磁30021.4评估与改良1. 4. 1评估该系统能够完成题目要求的几项根本操作以及显示结果,并且显示的信息完全正确.在 此根底上还加上了异常处理机制以及由异常处理导致的终端显示变异功能,同时在查询方而 不仅完成了输入车牌号查询功能,还能实现查找特泄车位上停车情况的功能.实验根本到达要求.1.4.2改良真正的停车场不可能只按栈或者队列的顺序来停车,故此系统具有一泄的局限性.应根 据停车场的具体情况对停车储存方式进行灵活地改善.代码也比拟冗余,希望能够不断简化.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1