版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、模擬停車場分析與設(shè)計摘 要本文是關(guān)于了解并掌握數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法,具備初步的獨立分析和設(shè)計能力。編寫源程序時,每個子功能定義為相應(yīng)的子函數(shù),在主函數(shù)中調(diào)用各子函數(shù),要程序結(jié)構(gòu)清晰。數(shù)據(jù)的存儲結(jié)構(gòu)根據(jù)需要自行定義。其中測試數(shù)據(jù)包括正確的輸入及其輸出結(jié)果和含有錯誤的輸入及其輸出結(jié)果。分析算法的時間復(fù)雜度,要求算法的效率盡可能高。用棧模擬停車場,棧結(jié)點是結(jié)構(gòu)體,用隊列模擬便道,隊列結(jié)點也是結(jié)構(gòu)體。主要功能: 本系統(tǒng)是對停車場的模,它能清除的顯示操作人員所需的操作,使用方便,簡潔?;A(chǔ)數(shù)據(jù)管理:模擬車站,模擬便道,還有一個臨時的棧,分別通過進出車站函數(shù)控制。進站管理:用進入函數(shù)把車輛進入車站或便道。出
2、站管理:用出棧函數(shù)把出棧的車輛出棧,然后如果便道有車進入車站。打印信息:分兩類打印1.車站信息2.便道信息關(guān)鍵詞:停車場;棧;后進先出;排隊- I -模擬停車場分析與設(shè)計目 錄摘 要I1 需求分析32邏輯結(jié)構(gòu)設(shè)計43數(shù)據(jù)結(jié)構(gòu)44程序設(shè)計45調(diào)試結(jié)果15總結(jié)16參考文獻171 需求分析主要功能: 本系統(tǒng)是對停車場的模,它能清楚的顯示操作人員所需的操作,使用方便,簡潔。基礎(chǔ)數(shù)據(jù)管理:模擬車站,模擬便道,還有一個臨時的棧,分別通過進出車站函數(shù)控制。進站管理:用進入函數(shù)把車輛進入車站或便道。出站管理:用出棧函數(shù)把出棧的車輛出棧,然后如果便道有車進入車站。打印信息:分兩類打印1.車站信息2.便道信息。2
3、邏輯結(jié)構(gòu)設(shè)計打印信息進入NOYES進入便道車輛離開進入車站車站滿否車輛進入,傳入?yún)?shù)開始3數(shù)據(jù)結(jié)構(gòu)用棧模擬停車場,棧結(jié)點是結(jié)構(gòu)體,用隊列模擬便道,隊列結(jié)點也是結(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;/進出棧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;/進出便道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;/車輛進入時處理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<<"車到達的時間(00:00):小時為"cin>>i->reach.hour;cout<<"tt 分鐘為"cin>>i->reach.min;push(in,i);cerr<<"a?"/system("cls");cou
9、t<<"tt車輛已成功進入停車場"<<endl<<endl;cout<<"tt車號為"<<i->num<<"的車進入t"cout<<"到達的時間:"<<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<<"車到達的時間:"<<t->reach.hour<<":"<<t->reach.min<<endl;cout&l
13、t;<"車離開的時間:"<<p->leave.hour<<":"<<p->leave.min<<endl;cout<<"費用為:"<<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<<"的車進入時間是:"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:車到達 "<<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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 包裝設(shè)計師資格產(chǎn)品包裝題庫及答案
- 2025年西安高新一中實驗中學、西安交通大學附屬小學招聘備考題庫及1套參考答案詳解
- 理想教學課件大學
- 班級聘任書課件
- 消防安全風險研判報告
- 消防安全布局圖解指南
- 醫(yī)患關(guān)系的互利性
- 2025年新型智能零售店防盜系統(tǒng)研發(fā)與應(yīng)用分析
- 寧德上汽面試技巧講稿模板
- 客戶感恩回饋話術(shù)
- 俄羅斯易貨貿(mào)易操作手冊2024年
- 個體工商戶入股協(xié)議書
- DB37-T 3080-2022特種設(shè)備作業(yè)人員配備要求
- DL∕T 1878-2018 燃煤電廠儲煤場盤點導(dǎo)則
- 科學精神與科學研究方法智慧樹知到期末考試答案2024年
- JB-T 14509-2023 反滲透海水淡化設(shè)備技術(shù)規(guī)范
- 種豬場人工授精技術(shù)推廣與應(yīng)用樣本
- 景觀模型設(shè)計與制作課件
- 工傷認定申請表
- 信息化建設(shè)情況調(diào)查表
- 靜脈導(dǎo)管常見并發(fā)癥臨床護理實踐指南1
評論
0/150
提交評論