數(shù)據(jù)結(jié)構(gòu)課程設(shè)計停車場管理系統(tǒng)設(shè)計報告_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計停車場管理系統(tǒng)設(shè)計報告_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計停車場管理系統(tǒng)設(shè)計報告_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計停車場管理系統(tǒng)設(shè)計報告_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計停車場管理系統(tǒng)設(shè)計報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計停車場管理系統(tǒng)班級:*指導(dǎo)教師:*學(xué)號:*姓名:*小組成員:* * *完成日期:2009年3月6日成績:風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么課程設(shè)計目的1、通過課程設(shè)計,加深對數(shù)據(jù)結(jié)構(gòu)這一課程所學(xué)內(nèi)容的進一步理解與鞏固。2、通過課程設(shè)計,加深對結(jié)構(gòu)化設(shè)計思想的理解,能對系統(tǒng)功能進行分析,并

2、設(shè)計合理的模塊化結(jié)構(gòu)。3、通過課程設(shè)計,提高程序開發(fā)功能,能運用合理的控制流程編寫清晰高效的程序。4、通過課程設(shè)af,訓(xùn)練C程序調(diào)試能力,能將一個中小型各級組織系統(tǒng)聯(lián)調(diào)通過。5、通過課程設(shè)計,開發(fā)一個中小型系統(tǒng),掌握系統(tǒng)研發(fā)全過程。6、通話課程設(shè)計,培養(yǎng)分析問題、解決實際問題的能力。二、課程設(shè)計內(nèi)容問題描述:設(shè)有一個可以停放n輛汽車的狹長停車場,它只有一個大門可以供車輛進出。車輛按到達停車場時間的早晚依次從停車場最里面向大門口處停放(最先到達的第一輛車放在停車場的最里面)。如果停車場已放滿n輛車,則后來的車輛只能在停車場大門外的便道上等待,一旦停車場內(nèi)有車開走,則排以便道上的第一輛車就進入停車

3、場。停車場內(nèi)如有某輛車要開走,在它之后進入停車場的車都必須先退出停車場為它讓路,待其開出停車場后,這些輛再依原來的次序進場。每輛車在離開停車場時,都應(yīng)根據(jù)它在停車場內(nèi)停留的時間長短交費。如果停留在便道上的車未進停車場時,允許其離去,不收停車費,并且仍然保持在便道上等待的車輛的次序。編制一程序模擬該停車場的管理。基本要求:要求程序輸出每輛車到達后的停車位置(停車場或便道上),以及某輛車離開停車場應(yīng)交納的費用和它在停車場內(nèi)停留的時間。實現(xiàn)提示:例如,(A,1,5)表示1號牌照車在5這個時刻到達,而(D,5,20)表示5號牌照車在20這個時刻離去。整個程序可以在輸入信息為(E,0,0)時結(jié)束。本題可

4、用棧和隊列來實現(xiàn)。三、概要設(shè)計1、設(shè)計思想此停車場管理系統(tǒng)是在一個狹長的通道上的,而且只有一個大門可以供車輛進出,并且要實現(xiàn)停車場內(nèi)某輛車要離開時,在它之后進入停車場的車都必須先退出停車場為它讓路,待其開出停車場后,這些輛再依原來的次序進場的功能,就可以設(shè)計兩個堆棧,其中一個堆棧用來模擬停車場,另一個堆棧用來模擬臨時停車場,該臨時停車場用來存放當(dāng)有車輛離開時,原來停車場內(nèi)為其讓路的車輛。至于當(dāng)停車場已滿時,需要停放車輛的通道可以用一個鏈隊列來實現(xiàn)。當(dāng)停車場內(nèi)開走一輛車時,通道上便有一輛車進入停車場,此時只需要改變通道上車輛結(jié)點的連接方式就可以了,使通道上第一輛車進入停車場這個堆棧,并且使通道上

5、原來的第二輛車成為通道上的第一輛車,此時只需將模擬通道的鏈隊列的頭結(jié)點連到原來的第二輛車上就可以了。2、實現(xiàn)方法對于此停車場管理系統(tǒng)的實現(xiàn),就是用兩個堆棧來分別模擬停車場以及停車場內(nèi)車輛為其它車輛讓路時退出停車的臨時停放地點。至于通道上車輛的停放則用一個循環(huán)隊列來實現(xiàn),此時,通道上車輛的離開或者進入停車場只需改變此鏈隊列上的結(jié)點而已。對于要對停車場內(nèi)的車輛根據(jù)其停放時間收取相應(yīng)的停車費用,可以記錄下車輛進入以及離開停車場的時間,再用時間差乘以相應(yīng)的單價并且打印出最后的費用就可以實現(xiàn)了。3、主要模塊此停車場管理系統(tǒng),主要分為以下若干模塊:首先定義用來模擬停車場的堆棧以及用來模擬通道的鏈隊列為全局

6、變量,然后編寫主函數(shù),在此主函數(shù)中實現(xiàn)對其它各個模塊的調(diào)用。在主函數(shù)中首先調(diào)用option()函數(shù),出現(xiàn)歡迎用戶使用的主界面,然后提示用戶進入此停車場管理系統(tǒng)后,再出現(xiàn)一個供用戶選擇的界面,在用戶的選擇過程中,程序又分別調(diào)用車輛的到達、車輛的離開、停車場內(nèi)停放車輛的信息以及退出程序這四個函數(shù)模塊。其中,在車輛的離開那個模塊函數(shù)中又調(diào)用了打印離開車輛信息的函數(shù),在停車場內(nèi)停放車輛信息的那個模塊函數(shù)中,又分別調(diào)用了顯示停車場上車輛信息的函數(shù)以及顯示便道上車輛信息的函數(shù)。最后,從調(diào)鼐的這四個函數(shù)中回到主函數(shù)結(jié)束整個程序的運行。在以上各個模塊中,出現(xiàn)的調(diào)用的函數(shù)為:voidInitStack(SeqS

7、tackCar*s);intInitQueue(LinkQueueCar*Q);option();intArrival(SeqStackCar*Enter,LinkQueueCar*W);voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQueueCar*W);voidPRINT(CarNode*p);voidList(SeqStackCarS,LinkQueueCarW);voidList1(SeqStackCar*S);voidList2(LinkQueueCar*W);4、模塊間關(guān)系沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與

8、透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么四、調(diào)試分析(1)調(diào)試過程中的主要問題由于此停車場管理系統(tǒng)是分模塊設(shè)計的,而且在程序的實現(xiàn)過程中又使用了清屏函數(shù),所以,運行時用戶選擇任

9、務(wù)并且執(zhí)行完任務(wù)后,又會回到供用戶選擇功能的主界面,因此整個程序從整體上來講結(jié)構(gòu)清晰,使用方便。本程序的調(diào)試運行,總體上情況良好,但中間也出現(xiàn)了一些小問題。其中比較有代表性的主要問題有:當(dāng)停車場已經(jīng)達到最大容量,但仍有車輛進入停車場的時候,運行界面上沒有出現(xiàn)或者說出現(xiàn)了但又跳掉了“停車場已滿,該車輛需在便道上等待!”的提示信息。我們小組成員經(jīng)過反復(fù)商量討論,并且在查閱了多種資料后,在那一個printf語句后加了一個getch(),此時,程序運行結(jié)果就符合要求了。對于在WINTC下不能顯示中文的問題,我們通過在第一個printf語句前加了一句system(graftabl936);就很好地解決了

10、這個問題,使得整個程序的運行都出現(xiàn)了中文提示,沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么而且是在中文的環(huán)境下操作,設(shè)計更

11、加合理,更加人性化,更加方面用戶使用,同時也提高了用戶的操作效率。(2)測試結(jié)果的分析與討論歡迎界面SB口入范更竣zlAmyfile.eite_旦J_I停車場管理系統(tǒng)小組成員,范霎姣李月敏丁飛飛1車輛到達一12.車輛離開-23車輛信息一31退出程序一4星否進入該系統(tǒng)小小)?車輛到達0更婷41Amy11=1I回J1 .車螃!I達請選怪12-車輛離開請選1至23 .車輛信息請選擇34,退出程序請遢圣4現(xiàn)在請選擇壯信息:1請輸入到達車輛車牌號:8該車輛在停車場的位置杲;1請輸入該車輛到達的時間:2車輛離開國9lmyfile.exe車輛離開請選擇23-車輛信息請選擇34-退出程序請選擇4現(xiàn)在請選擇以上

12、信息:2停車場里停放的車輛總數(shù):2請輸入要離開車輛的位置;2請輸入離開時間:0離開車輛的車牌號;6離開車輛到達時間:4離開車輛離開時間;6停車場管理費用:6便道的4號車進入車場第2位置.請軸以現(xiàn)在的1寸間通沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。車輛信息(車場)車輛信息(便道)五、用戶手冊這個程序用來實現(xiàn)對停車場內(nèi)車輛的管理,整個操作界面為中文,更加符合人性化的標準,使得用戶使用方便,而且每一個操作都有提示,使得初次接觸該程序的用戶也能很快適應(yīng)

13、程序的操作。這個程序操作簡單,對于車牌號,只需輸入車牌號上的數(shù)字就行,而且對于進出停車場的時間,也簡化了操作,只需輸入當(dāng)時的時刻就行,沒有具體到小時和分鐘,但也許這也是該程序不足之處所在。而且該程序也給用戶提供了選擇的機會,當(dāng)點擊運行該程序后,如果想退出程序,可以輸入n或N退出該運行程序。至于使用過程中的更具體的問題,可以參照該報告書中調(diào)試分析那一項的屏幕截圖,整個程序的運行界面大致就如上述屏幕截圖的內(nèi)容。六、附錄1、源程序代碼#include#include#include#defineMAX2/*車庫容量*/#defineprice3/*每車每時刻費用*/typedefstructnode

14、intnum;intreachtime;intleavetime;CarNode;/*車輛信息結(jié)點*/typedefstructNODECarNode*stackMAX+1;inttop;SeqStackCar;/*模擬車站*/typedefstructcarCarNode*data;structcar*next;QueueNode;typedefstructNodeQueueNode*head;QueueNode*rear;LinkQueueCar;/*模擬通道*/*/*函數(shù)聲明部分*/voidInitStack(SeqStackCar*);/*初始化棧*/intInitQueue(Link

15、QueueCar*);/*初始化便道*/intArrival(SeqStackCar*,LinkQueueCar*);/*車輛到達*/voidLeave(SeqStackCar*,SeqStackCar*,LinkQueueCar*);/*車輛離開*/voidList(SeqStackCar,LinkQueueCar);/*顯示存車信息*/voidPRINT(CarNode*p);/*/voidoption()inti;charchoice;gotoxy(0,0);for(i=1;i=1&chtop=0;for(i=0;istacks-top=NULL;intInitQueue(LinkQue

16、ueCar*Q)/*初始化便道*/Q-head=(QueueNode*)malloc(sizeof(QueueNode);if(Q-head!=NULL)Q-head-next=NULL;Q-rear=Q-head;return;elsereturn(-1);voidPRINT(CarNode*p)/*打印出站車的信息*/intA1,A2;printf(nttt請輸入離開時間:);scanf(%d,&(p-leavetime);風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下

17、些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么printf(nttt離開車輛的車牌號:d,p-num);printf(nnttt離開車輛到達時間:%d,p-reachtime);printf(nnttt離開車輛離開時間:d,p-leavetime);A1=p-reachtime;A2=p-leavetime;printf(nnttt停車場管理費用:d,(A2-A1)*price);free(p);intArrival(SeqStackCar*Enter,LinkQueueCar*

18、W)/*車輛到達*/CarNode*p;QueueNode*t;p=(CarNode*)malloc(sizeof(CarNode);flushall();printf(ttt請輸入到達車輛車牌號:);W-rear=t;沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。scanf(%d,&(p-num);if(Enter-toptop+;printf(nttt該車輛在停車場的位置是:dn,Enter-top);printf(nttt請輸入該車輛到達的時間

19、:);scanf(%d,&(p-reachtime);Enter-stackEnter-top=p;return(1);else/*車場已滿,車進便道*/printf(nttt停車場已滿該車輛需在便道上等待!);getch();t=(QueueNode*)malloc(sizeof(QueueNode);t-data=p;t-next=NULL;W-rear-next=t;風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳??;哨鴿從天空飛過,留下串串歡韻;歲月?花從春走過,留下從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么縷縷花香;葉從夏走過,留下片片蔭涼

20、;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么return;車輛離開*/voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQueueCar*W)/*inti,room;CarNode*p,*t;QueueNode*q;/*判斷車場內(nèi)是否有車*/if(Enter-top0) /*有車*/ while(1)/*輸入離開車輛的信息*/ printf(ttt停車場里停放的車輛總數(shù):%d,Enter-top);printf(nnttt請輸入要離開車輛的位置:);scanf(%d,&room);if(

21、room=1&roomtop)break;while(Enter-toproom)/*車輛離開*/Temp-top+;Temp-stackTemp-top=Enter-stackEnter-top;Enter-stackEnter-top=NULL;Enter-top-;p=Enter-stackEnter-top;Enter-stackEnter-top=NULL;Enter-top-;while(Temp-top=1)Enter-top+;Enter-stackEnter-top=Temp-stackTemp-top;Temp-stackTemp-top=NULL;Temp-top-;沒有

22、落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。風(fēng)從水上走過,留下粼粼波紋;駱駝從沙漠上走過,留下深深的腳印 ;哨鴿從天空飛過,留下串串歡韻;歲月從樹林穿過,留下圈圈年輪。啊,朋友,我們從時代的舞臺走過,將給社會留下些什么?花從春走過,留下縷縷花香;葉從夏走過,留下片片蔭涼;風(fēng)從秋走過,留下陣陣金浪;雪從冬走過,留下種種希望。啊,朋友,我們從人生的四季走過,將給人生留下些什么沒有落日般的瑰麗,沒有流云般的飄逸,但可以有水晶般的清純與透明。沒有大山般的巍峨,

23、沒有湖水般的輕柔,但可以有巖石般的堅毅與穩(wěn)重。沒有大海般的浩瀚,沒有瀑布般的飛瀉,但可以有泥土般的樸素與隨和。PRINT(p);/*判斷通道上是否有車及車站是否已滿*/if(W-head!=W-rear)&Enter-tophead-next;t=q-data;Enter-top+;printf(nnttt置.,t-num,Enter-top);printf(nntttscanf(%d,&(t-reachtime);W-head-next=q-next;if(q=W-rear)W-rear=W-head;Enter-stackEnter-top=t;便道的%d號車進入車場第%d位請輸入現(xiàn)在的時

24、間:”);free(q);elseprintf(nntttelseprintf(nntttvoidList1(SeqStackCar*S)/*inti;if(S-top0)/*printf(ntttprintf(nnttt便道里沒有車.n);車場里沒有車.);/*沒車*/列表顯示車場信息*/判斷車站內(nèi)是否有車*/車場:);位置到達時間車牌號n)for(i=1;itop;i+)printf(%26d,i);printf(%6d,S-stacki-reachtime);printf(%10d,S-stacki-num);printf(n);elseprintf(ntttvoidList2(Link

25、QueueCar*W)/*QueueNode*p;p=W-head-next;if(W-head!=W-rear)/*printf(ntttwhile(p!=NULL)車場里沒有車);列表顯示便道信息*/判斷通道上是否有車*/等待車輛的號碼為:);printf(%-10d,p-data-num);p=p-next;printf(n);elseprintf(nttt便道里沒有車.);voidList(SeqStackCarS,LinkQueueCarW)intflag,tag;flag=1;while(flag)printf(nttt請選擇1|2|3:);printf(nnttt1.車場nnttt2.nnttt);便道nnttt3.返回while(1)scanf(%

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論