停車場管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p> 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告</p><p> 姓名學(xué)號10級9班組實(shí)驗(yàn)室:</p><p> 提交日期 成績指導(dǎo)教師</p><p> 實(shí)驗(yàn)題目:停車場管理系統(tǒng)</p><p> 問題解析(對問題的分析、理解和解題方法):1.首先確定停車場和便道所用的數(shù)學(xué)模型,在此程序中,停車場的情況用二維數(shù)組sspace表示,便道用一維數(shù)

2、組構(gòu)成的隊(duì)列CarQueue表示。2.接著是對整個(gè)停車場系統(tǒng)的分析,第一,這個(gè)停車場管理系統(tǒng)是模擬了一個(gè)30車位的停車場與5車位的便道相結(jié)合的系統(tǒng),功能是羅列出一天內(nèi)停車場內(nèi)車輛出入情況以及每輛車停泊的位置(系統(tǒng)還會給出車的車牌號)和時(shí)間,最后是統(tǒng)計(jì)車輛出入的總車次,車輛停泊的總時(shí)間,停車場的總收入;第二,明確一些臨界問題。1,若車位已滿,則車必須在便道內(nèi)等待,不需要付費(fèi);2,車輛停留1小時(shí)后離開的概率是25%,每多停留1小時(shí)后離開概率

3、增加25%,4小時(shí)后一定要離開;3,若有空車位,但此時(shí)便道上還有車在等待,便道上的車先進(jìn)入停車場,新到的車仍需在便道上等待;3.對于本系統(tǒng)的設(shè)計(jì):通過對停車和離開過程進(jìn)行模擬即可解決問題。用隨機(jī)函數(shù)rand()生成每小時(shí)新來的車輛數(shù)目x(x在0-20間)及相應(yīng)車牌號,調(diào)用CarArrived()函數(shù)使車輛逐輛停入編號最小的空車位。以車位為對象記錄停入車輛的車牌號、到達(dá)時(shí)間及停留時(shí)間,存儲在sspace中。對于每</p>&

4、lt;p> 數(shù)據(jù)結(jié)構(gòu)選擇、算法設(shè)計(jì):用二維數(shù)組sspace構(gòu)成的線性表模擬停車場,用一維數(shù)組CarQueue和一個(gè)整型變量a作為指針構(gòu)成循環(huán)隊(duì)列,模擬便道。用一維數(shù)組TCarNum儲存每小時(shí)新來車輛的車牌號。因?yàn)閱栴}規(guī)模較小且車位有序,所以采用遍歷所有車位的方法尋找車位,找到的第一個(gè)空車位即為所求,對于每小時(shí)進(jìn)入停車場的x輛車,時(shí)間效率最優(yōu)為O(1),最壞為O(M)。隨機(jī)數(shù)的產(chǎn)生,采用STL中的rand()和srand()函數(shù)。函

5、數(shù)功能:void OpenForDay()//初始化,打開文件,變量賦初值void NewCars()//通過隨機(jī)數(shù)生成每小時(shí)新來車輛的數(shù)目及每輛車的車牌號void CarArrived()//車輛到達(dá),停車場空位減少,相應(yīng)車位記為非空,開始記錄車輛的到達(dá)時(shí)間、停留時(shí)間及車號void CarDeparture()//車輛離開,停車場空位增加,車位初始化,計(jì)算車費(fèi)并輸出提示,累加總時(shí)間及總收入int main()//模擬停車場運(yùn)營過程&l

6、t;/p><p> 任務(wù)分工及進(jìn)度計(jì)劃:全部獨(dú)立完成,8.15編程,8.16調(diào)試程序修改錯(cuò)誤8.17繼續(xù)調(diào)試程序并撰寫課程設(shè)計(jì)報(bào)告,8.18提交報(bào)告。</p><p> 用戶手冊程序運(yùn)行時(shí)隨機(jī)產(chǎn)生每小時(shí)進(jìn)入車輛數(shù)及相應(yīng)車牌號碼,相應(yīng)提示輸出在屏幕上。車輛離開時(shí)屏幕會輸出車牌號、停留時(shí)間及應(yīng)付的停車費(fèi),同時(shí)離開車輛的到達(dá)時(shí)間、停留時(shí)間及車牌號會記錄在文件CarRecord.txt中。一天結(jié)束后屏

7、幕輸出全天的統(tǒng)計(jì)結(jié)果。停車場車位及便道長度在源代碼中以常量形式定義,可以進(jìn)行改動。</p><p> 測試結(jié)果注:因數(shù)據(jù)過多,此處僅截取部分CarRecord.txt //汽車到達(dá)和離去的時(shí)間及汽車的車號Number is: 10001,Arriving time is: 0,Leaving Time is: 1Number is: 10008,Arriving time is: 0,Leaving Tim

8、e is: 1Number is: 10017,Arriving time is: 1,Leaving Time is: 2Number is: 10004,Arriving time is: 0,Leaving Time is: 2……Number is: 20037,Arriving time is: 3,Leaving Time is: 6Number is: 20038,Arriving time is: 3,L

9、eaving Time is: 6Number is: 20054,Arriving time is: 4,Leaving Time is: 6……Number is: 70327,Arriving time is: 22,Leaving </p><p> 程序清單#include<stdio.h>#include<stdlib.h>#include<time.h>#d

10、efine N 5#define M 30int TotalArCar,TotalDeCar,TotalTime,TotalMoney;int Time,REST,QRest,j,k,a,x,num;//Time記錄當(dāng)前時(shí)間,REST記錄當(dāng)前停車場的空位數(shù)量,QRest記錄便道中的空位。x是每小時(shí)新來的車輛數(shù),num是車號,j、k為循環(huán)控制變量,a為隊(duì)列指針int TCarNum[21];//記錄新產(chǎn)生車輛的車牌號int sspace[

11、4][M],CarQueue[N];//sspace記錄所有車位情況,CarQueue記錄便道車輛的車號FILE *fp1;//用于記錄汽車到達(dá)和離去的時(shí)間及汽車的車號void OpenForDay(){//初始化if((fp1=fopen("CarRecord.txt","w+"))==NULL)printf("cannot open CarRecord!\n");srand

12、((unsigned)time(NULL));TotalArCar</p><p> 總結(jié)(對所作程序進(jìn)行分析、評價(jià)運(yùn)行效果,總結(jié)遇到的問題和解決辦法)所作程序數(shù)據(jù)結(jié)構(gòu)和算法都很簡單,但已完整實(shí)現(xiàn)題目要求。運(yùn)行時(shí)對普通數(shù)據(jù)及邊緣數(shù)據(jù)0、20皆能產(chǎn)生正確結(jié)果。問題規(guī)模較小,在M范圍擴(kuò)大至一定范圍之前,對于x輛車的操作和為O(M)已經(jīng)足以很快得出結(jié)果(測試M=3000000,runtime=0.328s)??紤]到現(xiàn)實(shí)

13、中停車場的規(guī)模很難達(dá)到更大,且當(dāng)前規(guī)模(M=30)排序優(yōu)化非常有限,故未采用排序。遇到的問題和解決方法:1、開始時(shí)是判斷停車場有空位則直接停入停車場,但車輛離開后便道可能會有等待的車輛,從便道進(jìn)入停車場和直接進(jìn)入停車場無法使用同一個(gè)函數(shù)完成。后來修改為新來的車輛先進(jìn)入便道,統(tǒng)一由便道進(jìn)入停車場,這樣就可以使用共同的函數(shù)CarArrived()了。2、開始時(shí)的思考方式是以車輛為對象,用鏈表記錄車輛的停留車位、時(shí)間等,后來發(fā)現(xiàn)這樣操作量太大

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論