版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、成功足失敗Z球一切祁足劭力的結(jié)果二、停車場治理系統(tǒng)1.1設(shè)計(jì)要求1.1.1問題描述設(shè)計(jì)一個(gè)停車場治理系統(tǒng),模擬停車場的運(yùn)作,此程序具有以下功能: 汽車到達(dá),那么顯示汽車在停車場內(nèi)或便道上的停車位置. 假設(shè)車離去,那么顯示汽車在停車場內(nèi)停留的時(shí)間和應(yīng)繳納的費(fèi)用在便道上停留的時(shí)間不 收費(fèi).1.1.2根本要求 要求以棧模擬停車場,以隊(duì)列模擬車場外地便道,根據(jù)從終端讀入的輸入數(shù)搖序列進(jìn)行模 擬治理. 求處理的數(shù)據(jù)元素包括三個(gè)數(shù)拯項(xiàng):汽車“到達(dá)或“離去信息.汽車牌照號(hào)以及 離去的時(shí)刻. 要求棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表實(shí)現(xiàn).1丄3測試數(shù)據(jù)自行設(shè)計(jì)一組在停車場上停車的數(shù)據(jù)和便道上停車的數(shù)據(jù).1.1.4實(shí)現(xiàn)
2、提示該停車場能容納車輛的數(shù)量,便道上的停車數(shù)量.車輛到達(dá)對(duì)應(yīng)棧的入棧操作,車輛離開對(duì) 應(yīng)棧的出棧操作.1.2設(shè)計(jì)代碼及注釋3include<iostream>#include<time. h>5include<ctime>#include<dos. h>Sinc1ude<windows h>using namespace std;Sdefine PASS 20define POT 20struct passLot/便道隊(duì)列數(shù)據(jù)結(jié)構(gòu)int num;/車位號(hào)time_t timep;/停車時(shí)間int carNum;/停車的午牌號(hào);stru
3、ct potLot/停午場棧數(shù)據(jù)結(jié)構(gòu)int num;time_t timep;int carNum;void printLineO/打印下劃線(作為主界而圖表的框架)cout«*ttt*«endl;return;void printStar()/打印星號(hào)cout<<endl<<*tt*"<<endl;class erroFull/停牟位滿時(shí)杲常類public:erroFull()systemCcolor 3c");void exOcout«endl«*ttt!停午場位已滿! *«endl;
4、.sleep (2000);"erroFull0;class erroEmp/停乍位空時(shí)界常類public:erroEmp ()systemCcolor 3c");void exOcout«*!停車場位為空! *«endl;.sleep (2000);'erroEmpO ;class parkingLot/停花場類public:parkingLot()passLot* pa;/便道停車位指針potLot* po;/停午場停吃位指針flag=0;/用來記憶隊(duì)列(便道)中停午的數(shù)雖rear=front=0;/初始化隊(duì)列頭尾base=0;top二bas
5、e;/初始化棧頭尾int i=0;/初始化停午場和便道空間以及立號(hào)for(:i<P0T;i+)pa=(passLot*)malloc(sizeof(passLot);ai=pa;ai->num=i+l;aLi>carNum=0;po=(potLot*)malloc(sizeof(potLot);bi=po;bli->num=i+l;bi->carNum=0;parkingLot()cout«"tt停午場數(shù)據(jù)已清空."<endl;)void passLGO/便道治理函數(shù)tryif(flag=20) throw erroFullO
6、;/如果停車位已滿,那么拋出車位慢得異常情況 system("cls");printStar0;cout«"tttt 您進(jìn)入了便道停午界lfil'«endl;cout«endl«'ttt便道停牟場共有20個(gè)牟位,現(xiàn)共停"<flag<<"個(gè)車位.A,«endl«endl;cout«*ttt請(qǐng)輸入將要停車的號(hào):cin»a rear ->carNum;arear">t imep=t ime(NULL);cout
7、71;endl«*,ttt!汽車停放在*«aZrear->num«*車位成功,系統(tǒng)將在一秒后返回 上層界ffi!l *«endl;rear=(rear+l)%PASS;flag 卄;.sleep(1000);catch(erroFull &err)err ex();void potLGO/停午場治理函數(shù)tryif(top=20) throw erroFull ();systemCcls");printStar0;cout«"tttt您進(jìn)入了停午場停車界面"<endl;cout«endl
8、«*ttt停車場共有20個(gè)車位,現(xiàn)共停"?top<<"個(gè)車位.*«endl«endl:cout«*ttt請(qǐng)輸入將要停車的號(hào):cin»b top ">carNxim;b top2 ">t imep=time (NULL);cout«endl«*ttt!汽牟停放在*«btop2->num«*位成功,系統(tǒng)將在一秒后返回上 層界面! *«endl;top+p_sleep(1000);catch(erroFull &err)er
9、r ex();void arrive0/汽車到達(dá)mt choice="l:if(top=20&&flag=20) throw erroFullO:for(;:)systemCcls);printStar ();cout«*tttt 歡送進(jìn)入停車場zx<<endl<<endl;printLineO ;cout«"ttt 1.停車場停車ttt r«endl;/*打印兩個(gè)空格*/printLineO ;cout«'ttt 2便道停車ttt | *«endl;printLineO ;c
10、out«*ttt 3返回ttt I *«endl;printLineO ;printStar0;cout«*tt請(qǐng)輸入你的選項(xiàng):;cin»choice;switch(choice)case 1:potLG();break;case 2:passLG();break;case 3:break;default:system(*color 3c") :cout«endl«tttt 輸入格式不正確! "«endl;_sleep(1000);break;if (choice=3) break;return;int
11、feep(time_t* trap)/費(fèi)用計(jì)算int gap=0, m=0, hour=0, min=0, sec=0;/設(shè)宜數(shù)據(jù)用來計(jì)算時(shí)間間隔,停車時(shí).分、秒. local=localtime(tmp);/將存儲(chǔ)的時(shí)間轉(zhuǎn)化為當(dāng)?shù)貢r(shí)間日歷cout«local">tm_hour<</:"«local->tm_sec«endl; / 顯示停午時(shí)刻hour=local->tm_hour; / 保存停車時(shí)刻min=local">tm_min;sec=local">tm_sec;now=ti
12、me(NULL);nowp=localtime(&gF);cout«"t、勺前時(shí)間為:*«nowp->tm_hour«*:*«nowp->tm_mm«*:"«nowp->tm_sec«endl;hour = nowp -> t m_hour "hour;/求出停午的時(shí)間間隔mm= nowp->tm_min-min;sec= nowp->tm_sec*"sec;if (sec<0) min;sec=60sec;/進(jìn)行秒.分鐘、秒時(shí)間轉(zhuǎn)換i
13、f (min<0) hour一;mm=60min;cout«*t 汽車共停 j'"<< hour«*小時(shí)"< min«"分"? sec«"秒"?endl;if(0!=min)(0!=sec) m=l;gap= hour+m; /停車應(yīng)收費(fèi)的時(shí)間(單位:小時(shí))return gap;void passOut ()/便道離開tryif (flag=0) throw erroEmpO ;int fee=0;system("cls");printStar
14、0;cout«*tttt 您進(jìn)入了便道離開界tfti"«endl;cout«endl«*ttt便道停午場共有20個(gè)牟位,現(xiàn)共停"<flag-l<<"個(gè)車位.«endl«endl;cout«"ttt將要離開車的信息為:*«endl;cout«*t 乍牌號(hào):*«afront">carNum«*t 車位:便道*«afront->num«號(hào)伏1停車時(shí)間:fee=feep(&afront&
15、quot;>t imep)*0:cout«"t該車應(yīng)繳納停午費(fèi)為:*«fee<<"元(便車道停車免費(fèi)*«endl;a front ">carNum=0;front=(frontal)%PASS;flag;cout«endl<rttt!汽車離開成功,按任意鍵返回! *«endl; systemCpause*);catch(erroEmp &err)err ex();void potOut ()/停車場離開頁腳內(nèi)容7成功足失敗Z球一切祁足劭力的結(jié)果tryif (top=0) thr
16、ow erroEmpO :int fee=0;top;system(cls');printStar0;cout«"tttt您進(jìn)入了停牟場離開界面*«endl;cout«endl«'ttt停午場共有20個(gè)乍位,現(xiàn)共停"<<top<<"個(gè)車位. «endl«endl;cout«*ttt將要離開吃的信息為:"<endl;cout«*t 午牌號(hào):*«btop->carNum<<*t 乍位:停午場*«b
17、top->num «“號(hào)tt停車時(shí)間:、fee=feep(&btop">timep)*8;/計(jì)費(fèi)公式,每小時(shí) 8 元cout«"t該車應(yīng)繳納停車費(fèi)為:*«fee<<"元(每小時(shí)8元.缺乏一小時(shí)按一小時(shí)計(jì)算)"<endl;b topi">carNum=0;cout«endl«*ttt!汽車離開成功,按任意鍵返回! *«endl;system("pause");catch(erroEmp &err)err ex();v
18、oid depart ()/汽車離開int choice="l:if (top=0&&flag=0) throw erroEmp ():for(;)systemCcls);system(*color 3a");printStar ();cout«*tttt歡送下次光臨停車場*«endl«endl;printLineO ;cout<Cttt|l.停車場離開ttt r«endl;/*打印兩個(gè)空格*/printLineO ;cout«'ttt 2便道離開ttt | *«endl;printL
19、ineO ;cout«ttt 3返回 ttt I *<<endl;printLineO ;printStar0;cout«*tt請(qǐng)輸入你的選項(xiàng):*;cin»choice;switch(choice)case 1:potOut 0;break;case 2:passOut ();break;case 3:break;default:system(*color 3c") :cout«endl«tttt 輸入格式不正確! "«endl;_sleep(1000):break;if (choice=3) brea
20、k;return;void searchNumO/査詢午牌號(hào)mt numCar, i=0, flag=l;cout«*ttt請(qǐng)輸入車牌號(hào):;cin»numCar;for(;i<PASS;i+)if(a_i">carNum=numCar) cout«endl«"ttt 午牌號(hào)為"<<numCar<"的樂子停在便午道*«ai2">num«*位"<<endl; flag=0;if (flag) for (i=0; i<POT;
21、i")if(b 1 i>carNum=numCar) cout«endl«"ttt 午牌號(hào)為*«numCar«*的牟子停在停午道"<<bi>>num<<"位"<<endl; flag=0;if (flag) cout«endl<<該汽車未停在木停牛場! "<<endl;system ("pause");void searchPot()mt potCar, nn;頁腳內(nèi)客9成功足失敗Z球一切
22、祁足劭力的結(jié)果cout«tt操作說明:根據(jù)停車類型加位宜來輸入所要查找的乍位信息ntt如:停午場10號(hào)位, 即輸入110.停車場三號(hào)位.103c便道場5號(hào)位.205"«endl;cout«*tt請(qǐng)輸入需要操作的序數(shù):,;cin>>potCar;if(potCar<121&&potCar>100)'!(potCar<221&&poTCar>200)(if(potCar/100=l)nn=potCar%100"l;if (bInn'->carXum=0) co
23、ut«*tt 你說査詢的午位沒有停午"?endl;else cout«*停牟場"«nn«'/P位停午的吃牌號(hào)是:*«bnn">carNum<<endl:if (potCar/100=2) nn=potCar%100-l;if (a lnn2 ->carNum=0) cout«*tt 你說査詢的乍位沒有停牟"?endl;else cout«"便午道"«nn«"牟位停車的車牌號(hào)是:"«an
24、n->carNum«endl;else cout«tt您所輸入的數(shù)字不正確! "?endl;system("pause");void search0/號(hào)査詢int choice=-l;if (top=0&&flag=0) throw erroEmp ():for(;)system("cls");system("color 3a");pnntStar ();cout«*tttt 您進(jìn)入 f 號(hào)査詢界|fll*,«endl<<endl;printLineO
25、 ;cout<Cttt|l.根據(jù)車牌號(hào)査詢tt r«endl;/*打卬兩個(gè)空格*printLineO ;cout«*ttt ; 2.直接?xùn)嗽兲Ф参籺t : "<<endl ;printLineO ;cout«*ttt 3返回ttt I *<<endl;printLineO ;printStar0;cout«'tt請(qǐng)輸入你的選項(xiàng):;cin»choice;switch(choice)case 2:searchPot():break;case 3:break;default:system(*color
26、 3c") :cout«endl«tttt 輸入格式不正確! «endl; .sleep(1000);break;if (choice=3) break;)return;private:mt flag, front, rear, top, base;/設(shè)辻訪問棧和隊(duì)列passLot* a PASS;/以順序方式存儲(chǔ)棧和隊(duì)列,并且都設(shè)為20個(gè)牟位potLot* b:P0T:;tm* local, *nowp;time_t now; /設(shè)迓時(shí)間型變雖;/停車場類結(jié)束void mainO/程序運(yùn)行主函數(shù)parkingLot a;int choice=l;for
27、(;)/使主界而能夠自動(dòng)初始化和重復(fù)使用 system(*cls*);systemCcolor 3);/設(shè)為主背景為湖藍(lán)色 printStar0;cout«"tttt歡送進(jìn)入停午場治理系統(tǒng)*«endl<<endl;time.t t;/時(shí)間結(jié)構(gòu)或者對(duì)線t=time(NULL) ;/獲取當(dāng)前系統(tǒng)的日歷時(shí)間cout«*tttttt*«ctime (&t); /顯示半前時(shí)間 printLineO ;cout«"ttt 1.汽車到達(dá)ttt r«endl;/*打印兩個(gè)空格*/ printLineO ;cou
28、t«"ttt 2.汽車離去ttt r«endl;printLineO ;cout«'ttt 3汽午牌號(hào)査詢ttt | *«endl;printLineO ;cout«'ttt【4.退出治理系統(tǒng)ttt | *«endl;printLineO ;printStar0;cout«"tt請(qǐng)輸入你的選項(xiàng):";cin»choice;switch(choice)case 1:trya arrive ();catch (erroFull &erro)erro ex();brea
29、k;case 2:adepart();break;case 3:asearch();break;case 4:break:default:system(*color 3c") :cout«endl«'tttt 輸入格式不正確! *«endl; _sleep(2000);break;if(choice=4) break;return;1.3測試結(jié)果以及運(yùn)行情況1.3.1運(yùn)行主界而歡送講入停車場治理系統(tǒng)Sun Sep 18 18:34:54 2021;1 汽車到達(dá);2 汽車離去T2.汽車牌號(hào)查詢F;4退出治理系統(tǒng)請(qǐng)輸入你的選項(xiàng):1.3.2汽車到達(dá)界而
30、軟迎進(jìn)人仲車場:丄件主場仔車812 便道停車1!3 返回1請(qǐng)輸入你的選項(xiàng).1.3. 21停車場停車測試界而頁腳內(nèi)容11成功足失敗Z球一切祁足劭力的結(jié)果測試數(shù)據(jù)按輸入的先后排序表1序號(hào)1234L678910牌照 號(hào)2001200220032004200520062007202120212021序號(hào)11121314151617181920牌照 號(hào)2021202120212021202120212021202120212021輸入情況界面局部訂1:停車場苣理諭停車場背理珈Debug'停車場治理M統(tǒng)心e您進(jìn)入了停車場停車界面???qǐng)龉灿?0個(gè)車位,現(xiàn)共停6八車位.請(qǐng)輸入將要停車的號(hào):2001!
31、!汽車停放在車位成功,系統(tǒng)將在一秒宕返回上層界面!罰抵停車場苣理諭停車場治理撿Debug'停車場昔理該exe您進(jìn)入了停車場停車界頁停車場共有20個(gè)車位,現(xiàn)共停1疔,車位.請(qǐng)輸入將要停車的號(hào),2«11! !氏車停放在口車位成珈系統(tǒng)將在一秒后返叵上層界直! !異常情況處理,當(dāng)停車場已經(jīng)滿20位時(shí),便拋出異常界面顯示為紅色,并停止工作1.3. 22便車道停車測試測試數(shù)據(jù)表2序號(hào)1234L 678910牌照3001300230033004300530063007300830093010號(hào)序號(hào)11121314151617181920牌照 號(hào)30113012301330113015301
32、63017301830193020輸入界而(局部)XKXXX>O<M XXMX)eXMXXK»CXMMXXMXXXXMX«MXXXM3CK»CXXKXXCXXX XXXXM您進(jìn)入了便道停車界面便道停車場共有28個(gè)車位,現(xiàn)共停2個(gè)車位,請(qǐng)輸入將要停車的號(hào),羽加! !汽車停放在3車位成功,系統(tǒng)將在一秒后返回上層界面!MM 農(nóng) XXXX X JOt )()<< 興X X M X XWX XX X X XXX 菟 XX XMZ )()(X*)<)(XM 資 XXX XX您進(jìn)入了便道停車畀面便道停車場共有2®個(gè)車位,現(xiàn)共停個(gè)車位.請(qǐng)輸入將要停車的號(hào):3820! !汽車停放在2R車位成功,系統(tǒng)將在一秒后返叵上層界征!異常情況處理,當(dāng)停車場已經(jīng)滿20位時(shí),便拋出異常(界面顯示為紅色,并停止工作)1.3.3汽車離開界而頁腳內(nèi)客21歡送下次光臨停車場停車場離開i吃便誼L離開F13返回XXXXXX4CXXX XX KXMX X XW XXX X X XX KXK X >0( MMX XX X-MKX X XOC X-MXXJCMK XX K 請(qǐng)輸入你的選項(xiàng).1.3. 31停車
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪?zhàn)赓U合同書參考
- 離婚合同協(xié)議書離婚協(xié)議書合同2024年
- 四年級(jí)英語教學(xué)計(jì)劃
- 餐廳經(jīng)營許可協(xié)議
- 上海市房產(chǎn)競價(jià)協(xié)議
- 工程材料租賃合同模板
- 山西省棉花訂購協(xié)議
- 家用電器購銷協(xié)議案例
- 兼職工作勞務(wù)協(xié)議書范本樣式
- 中信保險(xiǎn)公司財(cái)產(chǎn)一切險(xiǎn)保險(xiǎn)合同相關(guān)資料
- 單項(xiàng)式乘以單項(xiàng)式-完整版PPT
- 初中語文人教九年級(jí)上冊(cè)環(huán)境描寫的作用
- 三年級(jí)數(shù)學(xué)下冊(cè)課件-4.2 兩位數(shù)乘兩位數(shù)1-人教版(共11張PPT)
- 汽車數(shù)據(jù)安全管理合規(guī)清單
- 消防安全安全隱患排查整改臺(tái)帳
- 墓碑供貨方案及服務(wù)保障措施
- 福建廣播電視大學(xué)中國現(xiàn)當(dāng)代文學(xué)名著導(dǎo)讀(2)-形成性考核一答案
- 北師大版三年級(jí)數(shù)學(xué)上冊(cè)第六單元《乘法》知識(shí)點(diǎn)梳理復(fù)習(xí)ppt
- 武裝工作電子匯報(bào)(30張幻燈片)課件
- 公路改建工程咨詢報(bào)告
- 熱交換器原理與設(shè)計(jì)第2章-管殼式熱交換器課件
評(píng)論
0/150
提交評(píng)論