![模擬停車場(chǎng)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/2239878f-838a-42ae-8538-2a97288b2a7b/2239878f-838a-42ae-8538-2a97288b2a7b1.gif)
![模擬停車場(chǎng)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/2239878f-838a-42ae-8538-2a97288b2a7b/2239878f-838a-42ae-8538-2a97288b2a7b2.gif)
![模擬停車場(chǎng)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/2239878f-838a-42ae-8538-2a97288b2a7b/2239878f-838a-42ae-8538-2a97288b2a7b3.gif)
![模擬停車場(chǎng)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/2239878f-838a-42ae-8538-2a97288b2a7b/2239878f-838a-42ae-8538-2a97288b2a7b4.gif)
![模擬停車場(chǎng)管理程序的設(shè)計(jì)與實(shí)現(xiàn)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/2239878f-838a-42ae-8538-2a97288b2a7b/2239878f-838a-42ae-8538-2a97288b2a7b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 實(shí)驗(yàn)題目:模擬停車場(chǎng)管理程序的設(shè)計(jì)與實(shí)現(xiàn)一、需求分析1程序的功能;這是一個(gè)模擬停車場(chǎng)管理程序,設(shè)停車廠是一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)按車輛到達(dá)的先后順序依次排列,若停車場(chǎng)已停滿汽車,則后來的汽車只能在門外的便道上等候,一旦停車場(chǎng)有車開走,則排在便道上的第一輛車即可進(jìn)入;當(dāng)停車場(chǎng)某輛車要離開時(shí),由于停車場(chǎng)是狹長的通道,在它之后開入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開出大門后,為它讓路的車輛再按原次序進(jìn)入車場(chǎng)。汽車可以直接從便道上開走,此時(shí)排在它前面的汽車要先開走讓路,然后再依次排到隊(duì)尾。停放在便道上的汽車也收費(fèi),收費(fèi)標(biāo)準(zhǔn)比停放在停車場(chǎng)
2、的車低。每輛停放在停車場(chǎng)的車,在離開時(shí)按其在停車場(chǎng)停留時(shí)間的長短交費(fèi)。2輸入輸出的要求;每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)”或“離去”的信息、汽車牌照、汽車到達(dá)或離去的時(shí)刻;對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出信息為:若是車輛到達(dá),則輸出車輛在停車場(chǎng)或便道上的停車位置;若是車輛離去,則輸出車輛在停車場(chǎng)停留的時(shí)間和應(yīng)繳納的費(fèi)用3測(cè)試數(shù)據(jù)。當(dāng)停車場(chǎng)容量為5時(shí),連續(xù)有7輛車到來,牌照號(hào)分別為F001、F002、F003、F004、F005、F006、F007,前5輛車應(yīng)該進(jìn)入停車位15車位,第6、7輛車應(yīng)停入便道的1、2位置上。牌照號(hào)為F003的汽車從停車廠開走,應(yīng)顯示F005、F004的讓路動(dòng)作
3、和F006從便道到停車位上的動(dòng)作。(到達(dá)和離開時(shí)間請(qǐng)自行設(shè)定)。二、概要設(shè)計(jì)1本程序所用的抽象數(shù)據(jù)類型的定義;/*時(shí)間的類型定義*/typedef structint hour;int min;TIME;/*汽車的類型定義*/typedef structchar license_plate10;/*汽車牌照*/TIME time,time1; /*time,time1分別表示汽車進(jìn)入停車場(chǎng)和便道的時(shí)刻*/char state; /*汽車當(dāng)前狀態(tài),p表示一直停放在停車位上,*/*q表示一直在便道上等候,*/*i表示由便道進(jìn)入停車位*/Car; /*表示停車位的順序棧*/typedef struc
4、tCar ParkMAX_PARK; /*各汽車信息的存儲(chǔ)空間*/int top; /*用來指示棧頂位置的靜態(tài)指針*/ParkStack;/*鏈隊(duì)列來模擬便道*/typedef struct qnode Car data; /*各汽車信息的存儲(chǔ)空間*/struct qnode *next;Qnode;typedef structQnode *front, *rear; /*用來指示隊(duì)頭和隊(duì)尾位置的指針*/RoadQueue;2主模塊的流程與各子模塊的主要功能;本程序從總體上分為四個(gè)功能模塊,分別為:(1)程序功能介紹和操作提示模塊提示用戶進(jìn)行正確的操作。(2)汽車進(jìn)入停車位的管理模塊記錄進(jìn)入停
5、車場(chǎng)的汽車信息并插入棧或隊(duì)中。(3)汽車離開停車位的管理模塊釋放離開汽車所占空間,計(jì)算汽車停車費(fèi)用并輸出。(4)查看停車場(chǎng)狀態(tài)的查詢模塊列出停車場(chǎng)狀態(tài)。3模塊之間的層次關(guān)系。汽車進(jìn)入停車場(chǎng)汽車離開停車場(chǎng)查看停車場(chǎng)狀態(tài)主函數(shù)程序功能介紹和操作提示三、詳細(xì)設(shè)計(jì)1采用c語言定義相關(guān)的數(shù)據(jù)類型;/*時(shí)間的類型定義*/typedef structint hour;int min;TIME;/*汽車的類型定義*/typedef structchar license_plate10;/*汽車牌照*/TIME time,time1; /*time,time1分別表示汽車進(jìn)入停車場(chǎng)和便道的時(shí)刻*/char st
6、ate; /*汽車當(dāng)前狀態(tài),p表示一直停放在停車位上,*/*q表示一直在便道上等候,*/*i表示由便道進(jìn)入停車位*/Car; /*表示停車位的順序棧*/typedef structCar ParkMAX_PARK; /*各汽車信息的存儲(chǔ)空間*/int top; /*用來指示棧頂位置的靜態(tài)指針*/ParkStack;/*鏈隊(duì)列來模擬便道*/typedef struct qnode Car data; /*各汽車信息的存儲(chǔ)空間*/struct qnode *next;Qnode;typedef structQnode *front, *rear; /*用來指示隊(duì)頭和隊(duì)尾位置的指針*/RoadQue
7、ue;2寫出各模塊的偽碼算法;/程序功能介紹和操作提示模塊void welcome()cout<<endl<<endl;cout<<" 本程序?yàn)橥\噲?chǎng)的模擬管理程序"<<endl;cout<<"-"<<endl;cout<<" 有車到來請(qǐng)按C鍵"<<endl;cout<<" 有車要走請(qǐng)按L鍵"<<endl;cout<<" 查詢停車場(chǎng)狀態(tài)請(qǐng)按S鍵"<<en
8、dl;cout<<" 退出程序請(qǐng)按Q鍵"<<endl;cout<<endl<<" 請(qǐng)選擇您要進(jìn)行的操作."cin>>ch;/汽車進(jìn)入停車場(chǎng)的管理模塊void car_come()Car newCar;cout<<endl;cout<<"請(qǐng)輸入到來車輛的車牌號(hào):"cin>>newCar.license_plate;if(Park_Car->top<MAX_PARK-1) /停車位未滿,車輛進(jìn)入停車場(chǎng)cout<<endl
9、<<"車輛進(jìn)入停車位,開始計(jì)費(fèi),請(qǐng)輸入當(dāng)前時(shí)間<時(shí) 分>:"cin>>newCar.time.hour>>newCar.time.min;newCar.state='p'Park_Car->top+;Park_Car->ParkPark_Car->top=newCar;else/停車位滿,車輛進(jìn)去便道或開走int i;cout<<endl<<"停車位已滿,您可以選擇 1進(jìn)去便道等候 or 其他任意鍵離開 ,請(qǐng)選擇:"cin>>i;if(i
10、=1)cout<<endl<<"車輛進(jìn)入便道等候,開始計(jì)費(fèi),請(qǐng)輸入當(dāng)前時(shí)間<時(shí) 分>:"cin>>newCar.time1.hour>>newCar.time1.min;newCar.state='q'Qnode *p;p=new Qnode;if(!p)cout<<"申請(qǐng)動(dòng)態(tài)存儲(chǔ)空間失?。?quot;<<endl;return ;elsep->data=newCar;p->next=NULL;Road_Car->rear->next=p;R
11、oad_Car->rear=p;elsecout<<endl<<"車輛已開走!"<<endl;cout<<endl<<"按任意鍵繼續(xù)程序的執(zhí)行."cin>>ch;welcome();/汽車離開停車場(chǎng)的管理模塊void car_leave()char s10;int i;TIME t;cout<<endl;cout<<"請(qǐng)輸入要走的車輛:"cin>>s;for(i=0;i<=Park_Car->top;i+)/在
12、停車位尋找要開走的汽車if(strcmp(s,Park_Car->Parki.license_plate)=0)break;if(i<=Park_Car->top)/在停車位找到要開走的汽車cout<<endl<<"該車停放在停車位的"<<i+1<<"車位"<<endl<<endl;cout<<"請(qǐng)輸入當(dāng)前時(shí)間<時(shí) 分>:"cin>>t.hour>>t.min;print(Park_Car->
13、Parki,t);while( (Park_Car->top) > i )/該車前面的汽車暫時(shí)退出Buffer_Car->top+;Buffer_Car->ParkBuffer_Car->top=Park_Car->ParkPark_Car->top;Park_Car->top-;cout<<"車牌號(hào)為 "<<Buffer_Car->ParkBuffer_Car->top.license_plate<<" 的汽車暫時(shí)退出停車場(chǎng);"<<endl;co
14、ut<<"車牌號(hào)為 "<<Park_Car->Parki.license_plate<<" 的汽車從停車場(chǎng)開走;"<<endl;/該車開出停車場(chǎng)Park_Car->top-;while(Buffer_Car->top>-1)/暫時(shí)退出的汽車開回停車位Park_Car->top+;Park_Car->ParkPark_Car->top=Buffer_Car->ParkBuffer_Car->top;Buffer_Car->top-;cout<&
15、lt;"車牌號(hào)為 "<<Park_Car->ParkPark_Car->top.license_plate<<" 的汽車?;赝\噲?chǎng)的"<<Park_Car->top+1<<"車位;"<<endl;if(Road_Car->front!=Road_Car->rear) /便道有車,則進(jìn)入停車位Qnode *p;p=Road_Car->front->next;Road_Car->front->next=p->next;p
16、->data.state='i'p->data.time=t;Park_Car->top+;Park_Car->ParkPark_Car->top=p->data;delete p;if(Road_Car->front->next=NULL)Road_Car->rear=Road_Car->front;cout<<"車牌號(hào)為 "<<Park_Car->ParkPark_Car->top.license_plate<<" 的汽車從便道進(jìn)入停車位
17、的"<<Park_Car->top+1<<"車位;"<<endl;else/在停車位未找到要開走的汽車,則在便道尋找int k=0;Qnode *p,*r;p=Road_Car->front->next;r=Road_Car->front->next;while(p)k+;if(strcmp(p->data.license_plate,s)=0)break;p=p->next;if(p)/在便道找到該車cout<<endl<<"該車等候在便道的"
18、;<<k<<"位置"<<endl<<endl;cout<<"請(qǐng)輸入當(dāng)前時(shí)間<時(shí) 分>:"cin>>t.hour>>t.min;print(p->data,t);while(p!=r)/該車前面有車,前面的車要讓路cout<<"車牌號(hào)為"<<r->data.license_plate<<"的汽車開出便道讓路;"<<endl;Road_Car->front-&
19、gt;next=r->next;r->next=NULL;BufferCar->rear->next=r;BufferCar->rear=r;r=Road_Car->front->next;cout<<"車牌號(hào)為"<<p->data.license_plate<<"的汽車從便道開走。"<<endl;Road_Car->front->next=p->next;/刪除結(jié)點(diǎn)delete p;if(Road_Car->front->nex
20、t=NULL)/若便道只有一輛車,出隊(duì)后便道為空Road_Car->rear=Road_Car->front;if(BufferCar->front!=BufferCar->rear)/輔助隊(duì)列不為空,即有車讓路BufferCar->rear->next=Road_Car->front->next;Road_Car->rear=Road_Car->front;Road_Car->rear->next=BufferCar->front->next;Road_Car->rear=BufferCar->r
21、ear;BufferCar->rear=BufferCar->front;cout<<"讓路的車輛開回便道。"<<endl;elsecout<<"沒有在停車場(chǎng)找到該車!"<<endl;/沒有找到該車cout<<endl<<"按任意鍵繼續(xù)程序的執(zhí)行."cin>>ch;welcome();/顯示停車場(chǎng)停車狀態(tài)的查詢模塊void car_display()int i=0;/停車位情況cout<<endl<<"停車
22、位的情況:"<<endl;while(i<=Park_Car->top)cout<<i+1<<"車位-"<<"車牌號(hào)"<<Park_Car->Parki.license_plate;if(Park_Car->Parki.state='p')cout<<" "<<Park_Car->Parki.time.hour<<"時(shí)"<<Park_Car->Pa
23、rki.time.min<<"分停入停車位。"<<endl;elsecout<<" "<<Park_Car->Parki.time1.hour<<"時(shí)"<<Park_Car->Parki.time1.min<<"分進(jìn)入便道等候;"cout<<Park_Car->Parki.time.hour<<"時(shí)"<<Park_Car->Parki.time.min&
24、lt;<"分由便道進(jìn)入停車位。"<<endl;i+;while(i<MAX_PARK)cout<<i+1<<"車位-空"<<endl;i+;/便道上的情況cout<<endl<<"便道上的情況:"<<endl;if(Road_Car->front=Road_Car->rear)cout<<endl<<" 空"<<endl;elseQnode *p;p=Road_Car-&g
25、t;front->next;i=1;while(p)cout<<i<<"位置-"<<"車牌號(hào)"<<p->data.license_plate;cout<<" "<<p->data.time1.hour<<"時(shí)"<<p->data.time1.min<<"分進(jìn)入便道等候。"<<endl;p=p->next;i+;cout<<endl<
26、;<"按任意鍵繼續(xù)程序的執(zhí)行."cin>>ch;welcome();3畫出函數(shù)的調(diào)用關(guān)系圖。Mainwelcomecar_comecar_leavecar_display四、調(diào)試分析1調(diào)試中遇到的問題與對(duì)問題的解決方法;經(jīng)過兩周的設(shè)計(jì)和開發(fā),停車場(chǎng)管理系統(tǒng)基本開發(fā)完畢。其功能基本符合用戶需求,能夠完成對(duì)車輛的管理和查詢以與各類相關(guān)報(bào)表的打印。對(duì)于車輛進(jìn)去和離開停車場(chǎng)的時(shí)間,也進(jìn)行了完善,具體到了小時(shí)和分鐘。該程序給用戶提供了選擇機(jī)會(huì),采用比較友好的界面顯示。但由于設(shè)計(jì)時(shí)間較短,該系統(tǒng)仍有不盡人意的地方,如不同類型車輛收費(fèi)情況不夠完善等。五、使用說明與測(cè)試結(jié)
27、果(1)使用說明程序操作簡單,在車輛到來時(shí),選擇C,然后根據(jù)提示輸入車牌號(hào)與當(dāng)前時(shí)刻;有車要走時(shí),選擇L,然后根據(jù)提示輸入此時(shí)時(shí)刻;要查詢停車場(chǎng)信息時(shí),只需選擇S;若退出程序,則選擇Q。(2)測(cè)試結(jié)果程序運(yùn)行時(shí)的歡迎界面。當(dāng)停車場(chǎng)容量為5時(shí),連續(xù)有7輛車到來,牌照號(hào)分別為F001、F002、F003、F004、F005、F006、F007,前5輛車應(yīng)該進(jìn)入停車位15車位,第6、7輛車應(yīng)停入便道的1、2位置上。顯示停車場(chǎng)信息。 牌照號(hào)為F003的汽車從停車廠開走,應(yīng)顯示F005、F004的讓路動(dòng)作和F006從便道到停車位上的動(dòng)作。(到達(dá)和離開時(shí)間請(qǐng)自行設(shè)定)。牌照號(hào)為F003的汽車從停車廠開走后
28、,顯示停車場(chǎng)信息。六、源程序#include<iostream.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_PARK 3 /*停車場(chǎng)容量*/#define Price 0.5/*停車位收費(fèi)標(biāo)準(zhǔn):每分鐘每車.5元*/#define price 0.3/*便道收費(fèi)標(biāo)準(zhǔn):每分鐘每車.3元*/typedefstructint hour;int min;TIME;typedefstruct/*汽車的類型定義*/char license_plate10;/*汽車牌照,定
29、義為一個(gè)字符數(shù)組*/TIME time,time1; /*time,time1分別表示汽車進(jìn)入停車場(chǎng)和便道的時(shí)刻*/char state; /*汽車當(dāng)前狀態(tài),p表示一直停放在停車位上,q表示一直在便道上等候,i表示由便道進(jìn)入停車位*/Car; typedefstruct/*表示停車位的順序棧*/Car ParkMAX_PARK; /*各汽車信息的存儲(chǔ)空間*/int top; /*用來指示棧頂位置的靜態(tài)指針*/ParkStack;ParkStack *Park_Car,*Buffer_Car; /Park_Car和Buffer_Car分別指向表示停車場(chǎng)和輔助棧的指針變量typedefstruct
30、 qnode /*鏈隊(duì)列來模擬便道*/Car data; /*各汽車信息的存儲(chǔ)空間*/struct qnode *next;Qnode;typedefstructQnode *front, *rear; /*用來指示隊(duì)頭和隊(duì)尾位置的指針*/RoadQueue;RoadQueue *Road_Car,*BufferCar;/Road_Car和BufferCar分別指向表示便道和輔助隊(duì)列的指針變量char ch;void car_display();/順序棧的初始化ParkStack *Init_ParkStack()ParkStack *s;s=new ParkStack;if(s=NULL)r
31、eturn NULL; /未申請(qǐng)到足夠大的存儲(chǔ)空間,返回空指針elses->top=-1;return s; /申請(qǐng)到新空間,返回??臻g地址/鏈隊(duì)列的初始化RoadQueue *Init_RoadQueue()RoadQueue *q;Qnode *p;q=new RoadQueue;p=new Qnode;if(!q | !p)return NULL;p->next=NULL;q->front=q->rear=p;return q;/打印要離開汽車的信息與收費(fèi)清單void print(Car car,TIME t)cout<<endl<<end
32、l<<"收費(fèi)清單: "if(car.state='p')/車輛一直停放在停車位cout<<"汽車車牌號(hào) "<<car.license_plate<<endl;cout<<" "<<car.time.hour<<"時(shí)"<<car.time.min<<"分進(jìn)入停車位,"<<t.hour<<"時(shí)"<<t.min<<
33、;"分離開,"<<endl;cout<<" "<<"共"<<(t.hour-car.time.hour)*60+(t.min-car.time.min)<<"分鐘,"cout<<"應(yīng)付費(fèi)"<<(t.hour-car.time.hour)*60+(t.min-car.time.min)*Price<<"元(停車位每小時(shí)每車"<<Price<<"元)。
34、"<<endl;elseif(car.state='q')/車輛一直在便道等候cout<<"汽車車牌號(hào) "<<car.license_plate<<endl;cout<<" "<<car.time1.hour<<"時(shí)"<<car.time1.min<<"分進(jìn)入便道等候,"<<t.hour<<"時(shí)"<<t.min<<&
35、quot;分離開,"<<endl;cout<<" "<<"共"<<(t.hour-car.time1.hour)*60+(t.min-car.time1.min)<<"分鐘,"cout<<"應(yīng)付費(fèi)"<<(t.hour-car.time1.hour)*60+(t.min-car.time1.min)*price<<"元(便道每小時(shí)每車"<<price<<"元)
36、。"<<endl;elseif(car.state='i')/車輛由便道進(jìn)入停車位int m,n;m=(car.time.hour-car.time1.hour)*60+(car.time.min-car.time1.min);n=(t.hour-car.time.hour)*60+(t.min-car.time.min);cout<<"汽車車牌號(hào) "<<car.license_plate<<endl;cout<<" "<<car.time1.hour<
37、;<"時(shí)"<<car.time1.min<<"分-"<<car.time.hour<<"時(shí)"<<car.time.min<<"分在便道等候,"<<endl;cout<<" 共"<<m<<"分鐘,"<<"應(yīng)付費(fèi)"<<m*price<<"元(便道每小時(shí)每車"<<pric
38、e<<"元)。"<<endl;cout<<" "<<car.time.hour<<"時(shí)"<<car.time.min<<"分-"<<t.hour<<"時(shí)"<<t.min<<"分停放在停車位,"<<endl;cout<<" 共"<<n<<"分鐘,應(yīng)付費(fèi)"<
39、<n*Price<<"元(停車位每小時(shí)每車"<<Price<<"元)。"<<endl;cout<<" 應(yīng)付總費(fèi)用:"<<m*price+n*Price<<"元。"<<endl;cout<<endl;/程序功能介紹和操作提示模塊void welcome()cout<<endl<<endl;cout<<" 本程序?yàn)橥\噲?chǎng)的模擬管理程序"<<
40、endl;cout<<"-"<<endl;cout<<" 有車到來請(qǐng)按C鍵"<<endl;cout<<" 有車要走請(qǐng)按L鍵"<<endl;cout<<" 查詢停車場(chǎng)狀態(tài)請(qǐng)按S鍵"<<endl;cout<<" 退出程序請(qǐng)按Q鍵"<<endl;cout<<endl<<" 請(qǐng)選擇您要進(jìn)行的操作."cin>>ch;/汽車進(jìn)入停車場(chǎng)
41、的管理模塊void car_come()Car newCar;cout<<endl;cout<<"請(qǐng)輸入到來車輛的車牌號(hào):"cin>>newCar.license_plate;if(Park_Car->top<MAX_PARK-1) /停車位未滿,車輛進(jìn)入停車場(chǎng)cout<<endl<<"車輛進(jìn)入停車位,開始計(jì)費(fèi),請(qǐng)輸入當(dāng)前時(shí)間<時(shí)分>:"cin>>newCar.time.hour>>newCar.time.min;newCar.state='
42、;p'Park_Car->top+;Park_Car->ParkPark_Car->top=newCar;else/停車位滿,車輛進(jìn)去便道或開走int i;cout<<endl<<"停車位已滿,您可以選擇進(jìn)去便道等候or 其他任意鍵離開,請(qǐng)選擇:"cin>>i;if(i=1)cout<<endl<<"車輛進(jìn)入便道等候,開始計(jì)費(fèi),請(qǐng)輸入當(dāng)前時(shí)間<時(shí)分>:"cin>>newCar.time1.hour>>newCar.time1.min;
43、newCar.state='q'Qnode *p;p=new Qnode;if(!p)cout<<"申請(qǐng)動(dòng)態(tài)存儲(chǔ)空間失敗!"<<endl;return ;elsep->data=newCar;p->next=NULL;Road_Car->rear->next=p;Road_Car->rear=p;elsecout<<endl<<"車輛已開走!"<<endl;cout<<endl<<"按任意鍵繼續(xù)程序的執(zhí)行."
44、;cin>>ch;welcome();/汽車離開停車場(chǎng)的管理模塊void car_leave()char s10;int i;TIME t;cout<<endl;cout<<"請(qǐng)輸入要走的車輛:"cin>>s;for(i=0;i<=Park_Car->top;i+)/在停車位尋找要開走的汽車if(strcmp(s,Park_Car->Parki.license_plate)=0)break;if(i<=Park_Car->top)/在停車位找到要開走的汽車cout<<endl<&
45、lt;"該車停放在停車位的"<<i+1<<"車位"<<endl<<endl;cout<<"請(qǐng)輸入當(dāng)前時(shí)間<時(shí)分>:"cin>>t.hour>>t.min;print(Park_Car->Parki,t);while( (Park_Car->top) > i )/該車前面的汽車暫時(shí)退出Buffer_Car->top+;Buffer_Car->ParkBuffer_Car->top=Park_Car->
46、ParkPark_Car->top;Park_Car->top-;cout<<"車牌號(hào)為"<<Buffer_Car->ParkBuffer_Car->top.license_plate<<" 的汽車暫時(shí)退出停車場(chǎng);"<<endl;cout<<"車牌號(hào)為"<<Park_Car->Parki.license_plate<<" 的汽車從停車場(chǎng)開走;"<<endl;/該車開出停車場(chǎng)Park_Car-
47、>top-;while(Buffer_Car->top>-1)/暫時(shí)退出的汽車開回停車位Park_Car->top+;Park_Car->ParkPark_Car->top=Buffer_Car->ParkBuffer_Car->top;Buffer_Car->top-;cout<<"車牌號(hào)為"<<Park_Car->ParkPark_Car->top.license_plate<<" 的汽車?;赝\噲?chǎng)的"<<Park_Car->top
48、+1<<"車位;"<<endl;if(Road_Car->front!=Road_Car->rear) /便道有車,則進(jìn)入停車位Qnode *p;p=Road_Car->front->next;Road_Car->front->next=p->next;p->data.state='i'p->data.time=t;Park_Car->top+;Park_Car->ParkPark_Car->top=p->data;delete p;if(Road_Car-
49、>front->next=NULL)Road_Car->rear=Road_Car->front;cout<<"車牌號(hào)為"<<Park_Car->ParkPark_Car->top.license_plate<<" 的汽車從便道進(jìn)入停車位的"<<Park_Car->top+1<<"車位;"<<endl;else/在停車位未找到要開走的汽車,則在便道尋找int k=0;Qnode *p,*r;p=Road_Car->f
50、ront->next;r=Road_Car->front->next;while(p)k+;if(strcmp(p->data.license_plate,s)=0)break;p=p->next;if(p)/在便道找到該車cout<<endl<<"該車等候在便道的"<<k<<"位置"<<endl<<endl;cout<<"請(qǐng)輸入當(dāng)前時(shí)間<時(shí)分>:"cin>>t.hour>>t.min;
51、print(p->data,t);while(p!=r)/該車前面有車,前面的車要讓路cout<<"車牌號(hào)為"<<r->data.license_plate<<"的汽車開出便道讓路;"<<endl;Road_Car->front->next=r->next;r->next=NULL;BufferCar->rear->next=r;BufferCar->rear=r;r=Road_Car->front->next;cout<<&qu
52、ot;車牌號(hào)為"<<p->data.license_plate<<"的汽車從便道開走。"<<endl;Road_Car->front->next=p->next;/刪除結(jié)點(diǎn)delete p;if(Road_Car->front->next=NULL)/若便道只有一輛車,出隊(duì)后便道為空Road_Car->rear=Road_Car->front;if(BufferCar->front!=BufferCar->rear)/輔助隊(duì)列不為空,即有車讓路BufferCar->
53、;rear->next=Road_Car->front->next;Road_Car->rear=Road_Car->front;Road_Car->rear->next=BufferCar->front->next;Road_Car->rear=BufferCar->rear;BufferCar->rear=BufferCar->front;cout<<"讓路的車輛開回便道。"<<endl;elsecout<<"沒有在停車場(chǎng)找到該車!"<<endl;/沒有找到該車cout<<endl<<"按任意鍵繼續(xù)程序的執(zhí)行."cin>>ch;welcome();/顯示停車場(chǎng)停車狀態(tài)的查詢模塊void car_display()int i=0;/停車位情況cout<<endl<<"停車位的情況:"<<endl;while(i<=Park_Car->top)co
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物聯(lián)網(wǎng)時(shí)代的網(wǎng)絡(luò)安全技術(shù)及管理策略
- 3 桂花雨(說課稿)-2024-2025學(xué)年統(tǒng)編版語文五年級(jí)上冊(cè)
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第2章 一元二次方程2.2 一元二次方程的解法2.2.1 配方法第3課時(shí) 用配方法解二次項(xiàng)系數(shù)不為1的一元二次方程說課稿 (新版)湘教版
- Unit 6 Food Lesson 1(說課稿)-2024-2025學(xué)年人教精通版(2024)英語三年級(jí)上冊(cè)001
- 2025房地產(chǎn)委托合同書范本
- 2023九年級(jí)數(shù)學(xué)上冊(cè) 第二十四章 圓24.2 點(diǎn)和圓、直線和圓的位置關(guān)系24.2.2 直線和圓的位置關(guān)系第3課時(shí) 切線長定理說課稿(新版)新人教版001
- 2《我愛我們的祖國》說課稿-2024-2025學(xué)年統(tǒng)編版語文一年級(jí)上冊(cè)
- Unit1 Making friends Part C Make a mind map of making friends(說課稿)-2024-2025學(xué)年人教PEP版(2024)英語三年級(jí)上冊(cè)
- 2《我是什么》(說課稿)2024-2025學(xué)年二年級(jí)上冊(cè)語文統(tǒng)編版
- 2025關(guān)于招標(biāo)合同的報(bào)告
- 2025年上海用人單位勞動(dòng)合同(4篇)
- 二年級(jí)上冊(cè)口算題3000道-打印版讓孩子口算無憂
- 新疆烏魯木齊地區(qū)2025年高三年級(jí)第一次質(zhì)量監(jiān)測(cè)生物學(xué)試卷(含答案)
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 高中英語北師大版必修第一冊(cè)全冊(cè)單詞表(按單元編排)
- 新教科版科學(xué)小學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- 苗圃建設(shè)項(xiàng)目施工組織設(shè)計(jì)范本
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 學(xué)校食品安全舉報(bào)投訴處理制度
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 北師大版八上《生物的遺傳和變異》
評(píng)論
0/150
提交評(píng)論