下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
停車場(chǎng)問題(打印稿)C++停車場(chǎng)問題(打印稿)C++停車場(chǎng)問題(打印稿)C++xxx公司停車場(chǎng)問題(打印稿)C++文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度實(shí)驗(yàn)二停車場(chǎng)管理問題描述:設(shè)停車場(chǎng)是一個(gè)可停放n輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在停車場(chǎng)的最北端),若車場(chǎng)內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開時(shí),在它之后進(jìn)入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開出大門外,其他車輛再按原次序進(jìn)入停車場(chǎng),每輛停放在停車場(chǎng)的車離開停車場(chǎng)時(shí)必須按它停留時(shí)間長(zhǎng)短交納費(fèi)用。試為停車場(chǎng)編制按此要求進(jìn)行管理的模擬程序?;疽螅阂詶DM停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”信息、汽車牌照號(hào)碼以及到達(dá)或離去的時(shí)刻。對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信息為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車輛離去,則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表結(jié)構(gòu)實(shí)現(xiàn)。測(cè)試數(shù)據(jù):設(shè)n=2,輸入數(shù)據(jù)為(’A’,1,5),(’A’,2,10),(’D’,1,15),(’A’,3,20),(’A’,4,25),(’A’,5,30),(’D’,2,35),(’D’,4,40),(’E’,0,0)。其中:’A’表示到達(dá)(Arrival);’D’表示離去(Departure);’E’表示輸入結(jié)束(End)。實(shí)現(xiàn)提示:需另設(shè)一個(gè)棧,臨時(shí)停放為給要離去的汽車讓路而從停車場(chǎng)退出來的汽車,也用順序存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)。輸入數(shù)據(jù)按到達(dá)或離去的時(shí)刻有序。棧中每個(gè)元素表示一輛汽車,包含兩個(gè)數(shù)據(jù)項(xiàng):汽車的牌照號(hào)碼和進(jìn)入停車場(chǎng)的時(shí)刻。下面是以VC代碼寫成的,但沒有用到棧和隊(duì)列的中所聲明的類。要求:使用棧和隊(duì)列的中所聲明的類改編,并保證運(yùn)行正確。#include<>structnode1{ intcno;//車號(hào) intctime;//到達(dá)停車場(chǎng)的時(shí)間};typedefstruct{ node1*base; node1*top; intsize;}stack1,stack2;//分別均用順序存儲(chǔ)表示停車場(chǎng)棧和臨時(shí)停放棧structnode2{ intcno;//車號(hào) intctime;//到達(dá)時(shí)間 node2*next;};typedefstruct{ node2*front;//隊(duì)頭指針 node2*rear;//隊(duì)尾指針}que;//用鏈表表示隊(duì)列--便道voidinitial1(stack1&s,intn)//初始化停車場(chǎng)棧{ =newnode1[n*sizeof(node1)]; if(!{cout<<"stack1false!";return;} =; =n;}voidinitial2(que&q){//初始化等待隊(duì)列--便道 ==newnode2; if(!{cout<<"queuefalse!";return;} >next=NULL;}voidinitial3(stack2&s,intn)////初始化臨時(shí)停放棧{ ==newnode1[(n-1)*sizeof(node1)]; if(!{cout<<"stack2false!";return;}}voidINstack1(stack1&s,intcnum,intctim)//入停車場(chǎng)棧{ >cno=cnum; >ctime=ctim; ++;}voidINque(que&q,intcnum,intctim)//入等待隊(duì)列--便道{ node2*p; p=newnode2; p->cno=cnum; p->ctime=ctim; p->next=NULL; >next=p; =p;}voidINstack2(stack1&s1,stack2&s2,intk)//將停車場(chǎng)s1中k之上的車倒入臨時(shí)停放棧s2{ node1*p; p=; while(p->cno!=k)//查找車號(hào)為k的車所在位置,由p指向 p++; while!=p){//將停車場(chǎng)s1中k之上的車倒入臨時(shí)停放棧s2 >cno=>cno; >ctime=>ctime; ++; ; } }voidmain(void){ stack1s1;//停車場(chǎng)棧 stack2s2;//臨時(shí)停放棧 que q;//等待隊(duì)列--便道 intprice,time,n,num,m; charstate; cout<<"輸入價(jià)格:"; cin>>price; cout<<"輸入停車場(chǎng)容量:"; cin>>n;initial1(s1,n);//s1模擬停車場(chǎng)棧 initial2(q);//q模擬等待隊(duì)列--便道 initial3(s2,n);//s2模擬臨時(shí)停放棧 inttag=1; while(tag) {if(tag==0)break; cout<<"輸入“A”表示到達(dá),“D”表示離開,“E”表示結(jié)束輸入:"; cin>>state; cout<<"輸入車號(hào):"; cin>>num; cout<<"輸入到達(dá)或離開的時(shí)刻:"; cin>>time; switch(state) {case'E':tag=0; break; case'A':if//直接入停車場(chǎng)棧 {INstack1(s1,num,time); m=int cout<<"此車在停車場(chǎng)的位置是:"<<m<<endl; } else//進(jìn)入等待隊(duì)列--便道 { INque(q,num,time);//加入等待隊(duì)列尾 node2*p=>next;//因等待隊(duì)列有頭結(jié)點(diǎn) m=1; while(p!={p=p->next;m++;}//計(jì)算位置 cout<<"此車在便道上的位置是:"<<m<<endl; }; break; case'D': INstack2(s1,s2,num);//將停車場(chǎng)中num之上的車倒入臨時(shí)停放棧s2 cout<<"停留時(shí)間為:"<<>ctime+1<<endl; cout<<"費(fèi)用是:"<<price*>ctime+1)<<'\n'; ; //臨時(shí)停放棧s2非空時(shí),將s2中的車回到停車場(chǎng) while!= {>cno=>cno; >ctime=>ctime; ++;; } //有一輛車離開,只要等待隊(duì)列--便道非空,則必可把等待隊(duì)列頭的車加入停車場(chǎng)棧 if!= {node2*p1;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 粵教粵科版(2017秋) 三年級(jí)上冊(cè)4.4變化的月亮 教案
- 手術(shù)期全期護(hù)理2
- 垃圾分類主題模板48
- 2024-2025學(xué)年上海黃浦區(qū)高三下學(xué)期第一次考試化學(xué)試題含解析
- 綜合施工合同模板
- 江西省吉安市(2024年-2025年小學(xué)四年級(jí)語文)人教版小升初模擬((上下)學(xué)期)試卷及答案
- 橋梁板承攬合同模板
- 2024人教版數(shù)學(xué)一年級(jí)上冊(cè)教案1.1.1 1~5的認(rèn)識(shí)
- 球鞋批發(fā)購(gòu)銷合同模板
- 林地解除合同模板
- 期中測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語文六年級(jí)上冊(cè)
- 2022-2023學(xué)年八年級(jí)英語上學(xué)期第一次階段性檢測(cè)卷及答案(人教版)
- 2024年信息技術(shù)基礎(chǔ)考試復(fù)習(xí)題庫(kù)(含答案)
- 2《登高》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì) 統(tǒng)編版高中語文必修上冊(cè)
- 胸外科快速康復(fù)護(hù)理課件
- 村衛(wèi)生室靜脈輸液規(guī)范和安全管理制度
- 大國(guó)三農(nóng)-輝煌成就版智慧樹知到期末考試答案章節(jié)答案2024年中國(guó)農(nóng)業(yè)大學(xué)
- 2024年中國(guó)農(nóng)業(yè)銀行股份有限公司校園招聘考試試題參考答案
- 部編版小學(xué)六年級(jí)上冊(cè)《道德與法治》同步練習(xí)全套
- 2023年移動(dòng)中級(jí)網(wǎng)格長(zhǎng)認(rèn)證備考試題庫(kù)(附答案)
- 醫(yī)保按病種分值付費(fèi)(DIP)院內(nèi)培訓(xùn)
評(píng)論
0/150
提交評(píng)論