版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、模擬停車場分析與設(shè)計摘 要本文是關(guān)于了解并掌握數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,具備初步的獨(dú)立分析和設(shè)計能力。編寫源程序時,每個子功能定義為相應(yīng)的子函數(shù),在主函數(shù)中調(diào)用各子函數(shù),要程序結(jié)構(gòu)清晰。數(shù)據(jù)的存儲結(jié)構(gòu)根據(jù)需要自行定義。其中測試數(shù)據(jù)包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。分析算法的時間復(fù)雜度,要求算法的效率盡可能高。用棧模擬停車場,棧結(jié)點(diǎn)是結(jié)構(gòu)體,用隊(duì)列模擬便道,隊(duì)列結(jié)點(diǎn)也是結(jié)構(gòu)體。主要功能: 本系統(tǒng)是對停車場的模,它能清除的顯示操作人員所需的操作,使用方便,簡潔?;A(chǔ)數(shù)據(jù)管理:模擬車站,模擬便道,還有一個臨時的棧,分別通過進(jìn)出車站函數(shù)控制。進(jìn)站管理:用進(jìn)入函數(shù)把車輛進(jìn)入車站或便道。出
2、站管理:用出棧函數(shù)把出棧的車輛出棧,然后如果便道有車進(jìn)入車站。打印信息:分兩類打印1.車站信息2.便道信息關(guān)鍵詞:停車場;棧;后進(jìn)先出;排隊(duì)- I -模擬停車場分析與設(shè)計目 錄摘 要I1 需求分析32邏輯結(jié)構(gòu)設(shè)計43數(shù)據(jù)結(jié)構(gòu)44程序設(shè)計45調(diào)試結(jié)果15總結(jié)16參考文獻(xiàn)171 需求分析主要功能: 本系統(tǒng)是對停車場的模,它能清楚的顯示操作人員所需的操作,使用方便,簡潔?;A(chǔ)數(shù)據(jù)管理:模擬車站,模擬便道,還有一個臨時的棧,分別通過進(jìn)出車站函數(shù)控制。進(jìn)站管理:用進(jìn)入函數(shù)把車輛進(jìn)入車站或便道。出站管理:用出棧函數(shù)把出棧的車輛出棧,然后如果便道有車進(jìn)入車站。打印信息:分兩類打印1.車站信息2.便道信息。2
3、邏輯結(jié)構(gòu)設(shè)計打印信息進(jìn)入NOYES進(jìn)入便道車輛離開進(jìn)入車站車站滿否車輛進(jìn)入,傳入?yún)?shù)開始3數(shù)據(jù)結(jié)構(gòu)用棧模擬停車場,棧結(jié)點(diǎn)是結(jié)構(gòu)體,用隊(duì)列模擬便道,隊(duì)列結(jié)點(diǎn)也是結(jié)構(gòu)體。4程序設(shè)計#include<iostream.h>#include<stdlib.h>#include<string.h>#define N 2#define price 0.1/時間struct timeint hour;int min;/車輛信息struct carnodechar num10;time reach;time leave;/模擬車站 棧struct stackcarcarno
4、de *base;carnode *top;int stacksize;struct queuenodecarnode *data;queuenode *next;/模擬通道struct linkqueuequeuenode *frond;queuenode *rear;/便道空否int queueemty(linkqueue q)if(q.frond=q.rear)return 1;else return 0; /初始化棧void initstack(stackcar *s)s->base=new carnode;if(!s->base) exit(0);/分配失敗 退出s-&g
5、t;top=s->base;s->stacksize=N;/進(jìn)出棧int push(stackcar *s,carnode *e)if(s->top-s->base=s->stacksize)return 0;else*s->top+=*e;return 1;int pop(stackcar *s,carnode *e)if(s->top=s->base)return 0;/*=VS=?!小錯就是大錯*/else *e=*-s->top;return 1;/棧判空函數(shù)int stackempty(stackcar s)if(s.base=s
6、.top) return 1;else return 0;/初始化便道int initqueue(linkqueue *q)q->frond=q->rear=new queuenode;if(!q->rear)exit(0);q->frond->next=NULL;return 1;/進(jìn)出便道int enqueue(linkqueue *q,carnode *e)queuenode *p;p=new queuenode;if(!p)exit(0);p->data=e;p->next=0;q->rear->next=p;q->rear=
7、p;return 1;int dequeue(linkqueue *q,carnode *e)queuenode *p;if(q->frond=q->rear)return 0;p=q->frond->next;e=p->data;q->frond->next=p->next;if(q->rear=p)q->rear=q->frond;delete(p);return 1;/車輛進(jìn)入時處理int arrive(stackcar *in,linkqueue *wait) carnode *i;i=new carnode;cerr&
8、lt;<"輸入車號:"cin.ignore();/消除前面回車的影響cin.getline(i->num,10);if(in->top-in->base<N)/棧沒滿時cerr<<"車到達(dá)的時間(00:00):小時為"cin>>i->reach.hour;cout<<"tt 分鐘為"cin>>i->reach.min;push(in,i);cerr<<"a?"/system("cls");cou
9、t<<"tt車輛已成功進(jìn)入停車場"<<endl<<endl;cout<<"tt車號為"<<i->num<<"的車進(jìn)入t"cout<<"到達(dá)的時間:"<<i->reach.hour<<":"<<i->reach.min<<endl<<endl;return 1;else queuenode *w;w=new queuenode;w->
10、;data=i;w->next=NULL;wait->rear->next=w;wait->rear=w;cout<<"tt抱歉 車位已滿 請在便道等待"<<endl;return 1;return 0;/車輛離開時處理函數(shù)int leave(stackcar *in,stackcar *temp,linkqueue *wait)int flag=0,a1,a2,b1,b2;double money;carnode *p,*t;queuenode *q;p=new carnode;cout<<"請輸入車牌
11、號:"cin.ignore();cin.getline(p->num,10);while(!stackempty(*in)t=new carnode;pop(in,t);if(strcmp(p->num,t->num)=0)cout<<"輸入離開的時間(00:00)"cin>>p->leave.hour,cin>>p->leave.min;cout<<"車牌號為"<<p->num<<"的車離開"<<endl
12、;a1=p->leave.hour;a2=t->reach.hour;b1=p->leave.min;b2=t->reach.min;if(b1>=b2)money=(a1-a2+24)%24*60+(b1-b2)%60)*price;else money=(a1-a2+23)%24*60+(b1-b2+60)*60)*price;cout<<"車到達(dá)的時間:"<<t->reach.hour<<":"<<t->reach.min<<endl;cout&l
13、t;<"車離開的時間:"<<p->leave.hour<<":"<<p->leave.min<<endl;cout<<"費(fèi)用為:"<<money<<endl;flag=1;delete(t);break;else push(temp,t);if(flag=0)cout<<"沒有此車"<<endl;while(!stackempty(*temp)pop(temp,p);push(in,p);d
14、elete(p);if(flag&&wait->frond!=wait->rear)q=new queuenode;q=wait->frond->next;t=q->data;if(q) push(in,t);cout<<"車號為"<<t->num<<"的車進(jìn)入時間是:"cin>>t->reach.hour;cout<<"tt 分鐘為"cin>>t->reach.min;wait->frond-
15、>next=q->next;wait->rear=wait->rear;if(q=wait->rear)wait->rear=wait->frond;delete(q);return 1;/輸出打印信息void print(stackcar *in,stackcar *temp,linkqueue *wait)char c;int count=1;carnode *p,*t;queuenode *q;p=new carnode;t=new carnode;q=new queuenode;cout<<"tt 1:打印便道的車輛數(shù)&q
16、uot;<<endl;cout<<"tt 2:打印停車場的車輛數(shù)"<<endl;cout<<"tt 3:退出打印"<<endl;cout<<"tt請輸入你的選擇"cin>>c;if(c='1')q=wait->frond->next;if(wait->frond!=wait->rear)while(q)p=q->data;cout<<"第"<<count<&
17、lt;"輛車的車牌號是"<<p->num<<endl;q=q->next;count+;else cout<<"便道是空的"<<endl;if(c='2')count=0;while(!stackempty(*in)pop(in,t);push(temp,t);while(!stackempty(*temp)pop(temp,t);cout<<"第"<<+count<<"輛車的車牌是"<<t-
18、>num<<endl;count+;push(in,t);if(count=0)cout<<"車站里沒有車"<<endl;void menu()cout<<"tt*"<<endl;cout<<"tt*"<<endl;cout<<"ttt 1:車到達(dá) "<<endl;cout<<"ttt 2:車離開"<<endl;cout<<"ttt 3:
19、打印信息"<<endl;cout<<"ttt 4:退出"<<endl;cout<<"tt*"<<endl;cout<<"tt*"<<endl;cout<<"請選擇:"void main()char c;stackcar in,t;linkqueue road;initstack(&in);initstack(&t);initqueue(&road);cout<<endl;cout<<"ttt模擬停車場系統(tǒng)"<<endl<<endl;while(1)menu();cin>>c;switch(c)case '1':arrive(&in,&road);break;case '2':leave(&in,&t,&road);break;case '3':print(&in,&t,&road);break;default:exit(0);5調(diào)試結(jié)果程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度公路建設(shè)項(xiàng)目承包墊資合同樣本3篇
- 建設(shè)工程材料供應(yīng)合同
- 山西省二手車買賣合同
- 2025年度個人版權(quán)使用合同范本3篇
- 23年-24年項(xiàng)目安全培訓(xùn)考試題及答案【奪冠】
- 2023-2024年項(xiàng)目部安全管理人員安全培訓(xùn)考試題及完整答案(名校卷)
- 2023-2024年企業(yè)主要負(fù)責(zé)人安全培訓(xùn)考試題含答案AB卷
- 23年-24年項(xiàng)目安全培訓(xùn)考試題附答案【鞏固】
- 2024年項(xiàng)目安全培訓(xùn)考試題附參考答案(奪分金卷)
- 2024項(xiàng)目部安全管理人員安全培訓(xùn)考試題含答案【突破訓(xùn)練】
- 泵站運(yùn)行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 第19章 一次函數(shù) 單元整體教學(xué)設(shè)計 【 學(xué)情分析指導(dǎo) 】 人教版八年級數(shù)學(xué)下冊
- 浙教版七年級下冊科學(xué)全冊課件
- 弧度制及弧度制與角度制的換算
- GB/T 33322-2016橡膠增塑劑芳香基礦物油
- 瓦楞紙箱計算公式測量方法
- 江蘇省中等職業(yè)學(xué)校學(xué)業(yè)水平考試商務(wù)營銷類(營銷方向)技能考試測試題
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評論
0/150
提交評論