停車場管理系統(tǒng)_第1頁
停車場管理系統(tǒng)_第2頁
停車場管理系統(tǒng)_第3頁
停車場管理系統(tǒng)_第4頁
停車場管理系統(tǒng)_第5頁
免費預覽已結(jié)束,剩余13頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、滁州學院課程設計報告課程名稱:數(shù)據(jù)結(jié)構(gòu)課程設計報告停車場管理問題別:計算機科學與技術(shù)系業(yè):計算機科學與技術(shù)專業(yè)別:起止日期:2011年5月20日2011年6月20日指導教師:楊斌計算機科學與技術(shù)系二O一年制課程設計題目停車場管理問題組長康金山學號2010211097班級計科101系別計算機科學與技 術(shù)系專業(yè)計算機科學與技術(shù)專業(yè)組員吉國燕、任祥、徐晟凱指導教師楊斌課程設計目的深入理解數(shù)據(jù)結(jié)構(gòu)的基本理論,掌握數(shù)據(jù)存儲結(jié)構(gòu)的設計方法,掌握數(shù)據(jù)結(jié)構(gòu)基于的各種操作的實現(xiàn)方法課程設計所需環(huán)境Microsoft Visual C+ 6.0課程設計任務要求用數(shù)據(jù)結(jié)構(gòu)的基本理論和數(shù)據(jù)存儲的設計方法完成一個實際應

2、用 問題,在完成程序設計的同時能夠?qū)懗霰容^規(guī)范的設計報告課程設計工作進度計劃序號起止日期工作內(nèi)容分工情況15.20-5.23整體思路編寫以及修改代 碼編寫。康金山25.23-5.26主函數(shù)的編寫任祥35.23-5.26數(shù)據(jù)的保存徐晟凱45.23-5.26數(shù)據(jù)的計算及輸出吉國燕指導教師簽字:年月日教研室審核意見:教研室主任簽字:年月日1引言2需求分析2.1問題描述2.2設計思路2.3運行環(huán)境及開發(fā)工具3概要設計3.1流程圖3.2主要數(shù)據(jù)結(jié)構(gòu).3.3函數(shù)及其實現(xiàn)的功能4詳細設計4.1程序代碼5調(diào)試與操作說明5.1操作說明6課程設計總結(jié)與體會7.致謝8.參考文獻目錄101111課程設計的主要內(nèi)容數(shù)據(jù)

3、結(jié)構(gòu)主要介紹一些最常用的數(shù)據(jù)結(jié)構(gòu),闡明各種數(shù)據(jù)結(jié)構(gòu)內(nèi)在的邏輯關(guān)系,討論 其在計算機中的存儲表示,以及在其上進行各種運算時的實現(xiàn)算法,并對算法的效率進行簡單 的分析和討論。數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學、計算機軟件和計算機硬件之間的一門計算機專業(yè)的核心 課程,它是計算機程序設計、數(shù)據(jù)庫、操作系統(tǒng)、編譯原理及人工智能等的重要基礎(chǔ),廣泛的 應用于信息學、系統(tǒng)工程等各種領(lǐng)域。2 需求分析2.1問題描述題目、停車場管理問題設有一個可以停放n輛汽車的狹長停車場,它只有一個大門可以供車輛進出。車輛按到達停車場時間的早晚依次從停車場最里面向大門口處停放(最先到達的第一輛車放在停車場的最里面)。如果停車場已放滿n輛車,則后

4、來的車輛只能在停車場大門外的便道上等待,一 旦停車場內(nèi)有車開走,則排在便道上的第一輛車就進入停車場。停車場內(nèi)如有某輛車要開走,在它之后進入停車場的車都必須先退出停車場為它讓路,待其開出停車場后, 這些車輛再依原來的次序進場。每輛車在離開停車場時, 都應根據(jù)它在停車場內(nèi)停留的時間長短交費。如果停留在便道上的車未進停車場就要離去,允許其離去,不收停車費,并且仍然保持在便道上等待的車輛的次序。編制一個程序模擬該停車場的管理。實現(xiàn)要求要求程序輸出每輛車到達后的停車位置(停車場或便道上),以及某輛車離開停車場時應交納的費用和它在停車場內(nèi)停留的時間。實現(xiàn)提示汽車的模擬輸入信息格式可以是:(到達/離去,汽車

5、牌照號碼,到達/離去的時刻)。例如,( A , 1, 5)表示1號牌照車在5這個時刻到達,而( D', 5, 20)表示5號牌 照車在20這個時刻離去。整個程序可以在輸入信息為( ,0, 0)時結(jié)束。本題可用棧和隊列來實現(xiàn)。2.2設計思路構(gòu)造三個主要的結(jié)構(gòu)體 分別保存不同的數(shù)據(jù),第一個用于保存 車輛停在停車場的車輛, 第二個用于保存停在便道的車輛,第三用保存要離開的車輛,然后設計程序首先要把輸入的數(shù) 據(jù)分別保存在相應的結(jié)構(gòu)體里,例如當停車場里沒有停滿時車輛要停在停車場,因此該車輛的 相應數(shù)據(jù)要存第一個結(jié)構(gòu)體里,相反要是滿了就要保存在第二個結(jié)構(gòu)體里,要離開的車輛要保存在第三結(jié)構(gòu)體里,同時

6、也用到隊列棧,當數(shù)據(jù)輸入完整后運行程序,輸出要求輸出的數(shù)據(jù)。最后要對車輛位置進 行調(diào)整就可以了。2.3運行環(huán)境及開發(fā)工具運行環(huán)境 Microsoft Visual C+ 6.0 ;開發(fā)工具 C/C+3 概要設計3.1流程圖主菜單輸入記錄保存進車I出車1修改T退出3.2主要數(shù)據(jù)結(jié)構(gòu)typ edef struct/*用于保存每輛車的信息*/char ch;int chehao;int time;node;typ edef struct/*用保存停在停車場的車輛*/int lengh;/*記錄車輛的個數(shù)*/node numn;queue;typ edef struct/*用于保存每輛車的信息*/ch

7、ar ch1;int che pai;int time1;node1;typ edef struct/*保存停在便道的車輛*/int fron t,reare;node1 numb20;squeue;typ edef struct/*用于保存每輛車的信息*/char ch2;int che ph;int time;n ode2;typ edef struct/*保存要離開的車輛*/int top;ode2 number30;stack1;3.3函數(shù)及其實現(xiàn)的功能void create(queue &chechang,squeue &biandao,stack1 &dep

8、arture)用于創(chuàng)建結(jié)構(gòu)體以及輸入輸出要求輸出的數(shù)據(jù),void xugai(queue &checha ng,squeue & bia ndao,stack1&dep arture);對離開的車輛進行刪除在相應結(jié)構(gòu)體的信息以及將可能停在便道上的車輛的信息移到停車場的結(jié)構(gòu)體里相應位置。4 詳細設計4.1程序代碼#in clude"iostream.h" #defi ne n 10 typ edef structchar ch;int chehao;int time;node;typ edef structint lengh;node numn;que

9、ue;typ edef structchar ch1;int che pai;int time1;node1;typ edef structint fron t,reare;node1 numb20;squeue;typ edef structchar ch2;int che ph;int time;n ode2;typ edef structint top;node2 number30;stack1;void mai n()queue checha ng;squeue bia ndao;stack1 dep arture;void create(queue &checha ng,sq

10、ueue &bia ndao,stack1 &dep arture);void xugai(queue &checha ng,squeue &bia ndao,stack1 &dep arture);create(checha ng,bia ndao,de parture);xugai(checha ng,bia ndao,de parture);void create(queue &checha ng,squeue &bia ndao,stack1 &dep arture)char ch;int che pai;int time

11、;int i,j,k;checha ng.le ngh=0;bia ndao.fr on t=-1;bia ndao.reare=-1;dep arture.t op=-1;cout<<"請輸入數(shù)據(jù)例如A 1 4"cout<<e ndl;cin> >ch>>che pai>>time;while(ch!='E'|che pai!=0|time!=0)if(ch='A '&&checha ng.le ngh<=n-1)checha ng.nu mchecha ng

12、.le ngh.ch=ch;checha ng.nu mchecha ng.le ngh.chehao=che pai;checha ng.nu mchecha ng.le ngh.time=time;checha ng.len gh+;else if(ch='A '&&checha ng.le ngh> n-1)bia ndao.reare+;bia ndao .nu mbbia ndao.reare.ch仁ch;bia ndao .nu mbbia ndao.reare.che pai=che pai;bia ndao .nu mbbia ndao.r

13、eare.time1=time;elsedep arture.t op+;dep arture .nu mberde parture.t op .ch2=ch;dep arture .nu mberde parture.t op .che ph=che pai;dep arture .nu mberde parture.t op .time=time;cin> >ch>>che pai>>time;cout<<"停在停車場的車 車牌號停車時刻”<<endl;for(i=0;i<checha ng.len gh;i+)c

14、out<<checha ng.nu mi.chehao<<" "<<checha ng.nu mi.time;cout<<""cout<<e ndl;cout<<"停在便道的車 車牌號 停車時刻"<<endl;for(i=0;i<bia ndao.reare+1;i+)cout<<bia ndao .nu mbi.che pai<<" "<<bia ndao .nu mbi.time1;co

15、ut<<".H.cout<<e ndl;cout<<"車牌號停車費用停車時間”<<endl;cout<<e ndl;for(i=0;i<=de parture.t op ;i+)for(j=0;j<checha ng.len gh;j+)if(de parture .nu mberi.che ph=checha ng.nu mj.chehao)k=2*(de parture .nu mberi.time-checha ng.nu mj.time);cout<<checha ng.nu mj.

16、chehao;cout<<""cout<<k;cout<<""cout<<k/2;cout<<e ndl;for(i=0;i<=de parture.t op ;i+)for(j=0;j<=bia ndao.reare;j+)if(de parture .nu mberi.che ph=bia ndao .nu mbj.che pai)k=de parture .nu mberi.time-bia ndao .nu mbj.time1;cout<<bia ndao .nu

17、 mbj.che pai;cout<<"H.cout<<"0"cout<<""cout<<k;cout<<e ndl;void xugai(queue &checha ng,squeue &bia ndao,stack1 &dep arture) int i,j,k;for(i=0;i<=de parture.t op ;i+)for(j=0;j<bia ndao.reare;j+)if(de parture .nu mberi.che ph=bia

18、 ndao .nu mbj.che pai)while(j<bia ndao.reare-1)bia ndao .nu mbj=bia ndao .nu mbj+1;j+;bia ndao.reare-;for(i=0;i<=de parture.t op ;i+)for(j=0;j<checha ng.len gh;j+)if(de parture .nu mberi.che ph=checha ng.nu mj.chehao)while(j<checha ng.le ngh-1)checha ng.nu mj=checha ng.nu mj+1;j+;if(bia

19、ndao.fr on t=bia ndao.reare)checha ng.le ngh-;elsek=checha ng.len gh-1;checha ng.nu mk.ch=bia ndao .nu mbbia ndao.fro nt+1.ch1;checha ng.nu mk.chehao=bia ndao .nu mbbia ndao.fro nt+1.che pai;checha ng.nu mk.time=de parture .nu mberi.time;5 調(diào)試與操作說明5.1操作說明輸入相應的數(shù)據(jù)例如(A 1 4)代表進車輛,(D 3 4)代表要離開的車輛,然后以 E 0

20、0,為結(jié)束條件。AD129A2O30A45運行結(jié)果A停在在停車場的車車牌號停車時刻D1129; 2 3 ; 4 5 ; 3 6 ;E車牌號停車費用停車時間 5右運7亍結(jié)果停在e停車場的車to車牌號e停車時刻1 2; 2 3; 4 5; 3 6 ;車牌號 停車費用停車時間(2 )運行結(jié)果圖1 14 7P ress ang key to con ti nue6 課程設計總結(jié)與體會1)編程的核心是算法結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)又包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu),編程中要時刻注意 這些問題。2 )調(diào)試過程遠遠比編程過程繁瑣,需要足夠的耐心對一個個錯誤進行修改直至完全正確。并 且調(diào)試過程也需要一定的技巧,能夠選取適當?shù)膶嶒灁?shù)據(jù)對程序進行驗證,找到出錯的 地方以進行修正。我這次的課程設計題目是關(guān)于停車場問題的,總體來說,這個題目還是比較簡單的,主要是運用了棧和隊列的一些知識和操作。也沒有用到其他太多的數(shù)據(jù)結(jié)構(gòu)知識。程序基本 上還是能夠運行,結(jié)果也正確,能夠?qū)崿F(xiàn)那些基本的車輛到達、離開、收費、遍歷顯示等主要功能。但我覺得這個程序還有很多小的地方是可以完善的,比如:在輸入登記車輛到達時023,分鐘 060);這就使間的時候,沒有相關(guān)的小時、分鐘數(shù)字的限制范圍一一(小時這樣就可能會導致程序不那么健壯了,還有,在計算收費時如果離開時間

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論