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

付費下載

下載本文檔

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

文檔簡介

《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計班級:*****學(xué)號:*******

指導(dǎo)教師:**姓名:***小組成員:************完成日期:3月6成績:________________

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)目

錄(一設(shè)計的………………3(二設(shè)計容………………3(三概要計………………4(四調(diào)試析………………(五用戶冊………………9(六附

錄………………9-17第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)《數(shù)據(jù)構(gòu)》課程設(shè)停車場理系統(tǒng)一課設(shè)目、通課程設(shè)計,深對《數(shù)據(jù)結(jié)構(gòu)》這一課程所學(xué)內(nèi)容的進(jìn)一步理解與鞏固。、通課程設(shè)計,深對結(jié)構(gòu)化設(shè)計思想的理解,能對系統(tǒng)功能進(jìn)行分析,并設(shè)計合理的模塊化結(jié)構(gòu)。、通課程設(shè)計,高程序開發(fā)功能,能運用合理的控制流程編寫清晰高效的程序。、通課程設(shè)計,練程調(diào)試能力,能將一個中小型各級組織系統(tǒng)聯(lián)調(diào)通過。、通課程設(shè)計,發(fā)一個中小型系統(tǒng),掌握系統(tǒng)研發(fā)全過程。、通課程設(shè)計,養(yǎng)分析問題、解決實際問題的能二課設(shè)內(nèi)①問描述:設(shè)有一個可以停放n輛車的狹停車場只有一個大門可以供車輛進(jìn)出輛到達(dá)停車場時間的早晚依次從停車場最里面向大門口處停先到達(dá)的第一輛車放在停車場的最里面果車場已滿車,則后來的車輛只能在停車場大門外的便道上等待,一旦停車場內(nèi)有車開走,則排以便道上的第一輛車就進(jìn)入停車.停車場內(nèi)如有某輛車要開走之進(jìn)入停車場的車都必須先退出停車場為它讓路開停車場后,這些輛再依原來的次序進(jìn)場輛車在離開停車場時應(yīng)據(jù)它在停車場內(nèi)停留的時間長短交費。如果停留在便道上的車未進(jìn)停車場時,允許其離,不收停車費,并且仍然保持在便道上等待的車輛的次序。編制一程序模擬該停車場的管理。②基要求:要求程序輸出每輛車到達(dá)后的停車位置(停車場或便道上及某輛車離開停車場應(yīng)交納的費用和它在停車場內(nèi)停留的時間。③實提示:汽車的模擬輸入信息格式可以:到達(dá)離去,汽車牌照號碼,到/離去的時刻例如,5)表示1號照在5個時刻到達(dá),‘D',20)表示號照車在20這時刻離去.整個程序可以在輸入信息為時結(jié)束。本題可用棧和隊列來實現(xiàn)。第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)三概設(shè)1、設(shè)計思想此停車場管理系統(tǒng)是在一個狹長的通道上,且只有一個大門可以供車輛進(jìn)出,并且要實現(xiàn)停車場內(nèi)某輛車要離開時之后進(jìn)入停車場的車都必須先退出停車場為它讓路,待其開出停車場,這輛再依原來的次序進(jìn)場的功,就可以設(shè)計兩個堆棧,其中一個堆棧用來模擬停車場,另一個堆棧用來模擬臨時停車,該臨時停車場用來存放當(dāng)有車輛離開時原停車場為其讓路的車輛于當(dāng)停車場已滿時需停放車輛的通道可以用一個鏈隊列來實現(xiàn)停場內(nèi)開走一輛車時道便有一輛車進(jìn)入停車場,此只需要改變通道上車輛結(jié)點的連接方式就可以了,使通上第一輛車進(jìn)入停車場這個堆棧并使通道上原來的第二輛車成為通道上的第一輛車,此時只需將模擬通道的鏈隊列的頭結(jié)點連到原來的第二輛車上就可以了。2、實現(xiàn)方法對于此停車場管理系統(tǒng)的實現(xiàn)用兩個堆棧來分別模擬停車場以及停車場內(nèi)車輛為其它車輛讓路時退出停車的臨時停放地點通道上車輛的停放則用一個鏈隊列來實現(xiàn)此,通道上車輛的離開者進(jìn)入停車場只需改變此鏈隊列上的結(jié)點而已要對停車場內(nèi)的車輛根據(jù)其停放時間收取相應(yīng)的停車費用記下車輛進(jìn)入以及離開停車場的時間再時差乘以相應(yīng)的單價并且打印出最后的費用就可以實現(xiàn)了。3、主要模塊①此停車場管理系統(tǒng),主要分為以下若干模:首先定義用來模擬停車場的堆棧以及用來模擬通道的鏈隊列為全局變量編寫主函數(shù),在此主函數(shù)中實現(xiàn)對其它各個模塊的調(diào)用。在主函數(shù)中首先調(diào)用()函數(shù)出歡迎用戶使用的主界面,然后提示用戶進(jìn)入此停車場管理系統(tǒng)后,再出現(xiàn)一個供用戶選擇的界面,在用戶的選擇過程中,程序又分別調(diào)用車輛的到達(dá)、車輛的離開、停車場內(nèi)停放車輛的信息以及退出程序這四個函數(shù)模塊中在車輛的離開那個模塊函數(shù)中又調(diào)用了打印離開車輛信息的函數(shù),在停車場內(nèi)停放車輛信息的那個模塊函數(shù)中別用了顯示停車場上車輛信息的函數(shù)以及顯示便道上車輛信息的函數(shù)從調(diào)鼐的這四個函數(shù)中回到主函數(shù)結(jié)束整個程序的運.第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)②在以上各個模塊中,出現(xiàn)的調(diào)用的函數(shù):voidInitStack(SeqStackCar*s);intInitQueue(LinkQueueCar*Q);option();intArrival(SeqStackCar;voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQueueCar);voidPRINT(CarNode*pvoidList(SeqStackCarS,LinkQueueCar);voidList1(SeqStackCar);voidList2(LinkQueueCar*W);4、模塊間關(guān)系第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)四調(diào)分(調(diào)過程中的主要問題由于此停車場管理系統(tǒng)是分模塊設(shè)計的,而且在程序的實現(xiàn)過程中又使用了清屏函數(shù),所以運行時用戶選擇任務(wù)并且執(zhí)行完任務(wù)后,又會回到供用戶選擇功能的主界因此整個程序從整體上來講結(jié)構(gòu)清晰,使用方便.本程序的調(diào)試運行,總體上情況好,但中間也出現(xiàn)了一些小問題。其中比較有代表性的主要問題有:當(dāng)停車場已經(jīng)達(dá)到最大容量仍有車輛進(jìn)入停車場的時候行面上沒有出現(xiàn)或者說出現(xiàn)了但又跳掉了“停車場已滿,該車輛需在便道上等待提信息。我們小組成員經(jīng)過反復(fù)商量討論,并且在查閱了多種資料后,在那一個printf語后加了一個(),此時,程序運行結(jié)果就符合要求了。對于在—TC下不能顯示中文的問題,我們通過在第一個printf語前加了一句("graftabl問題得個程序的運行都出現(xiàn)了中文提示,而且是在中文的環(huán)境下操作,設(shè)計更加合理,更加人性更加方面用戶使同時也提高了用戶的操作效率。(2測試結(jié)果的分析與討論①歡迎界面第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)②車輛到達(dá)③車輛離開第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)④車輛信息(車場)⑤車輛信息(便道)第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)五用手這個程序用來實現(xiàn)對停車場內(nèi)車輛的管理個操作界面為中文加符合人性化的標(biāo)準(zhǔn)使用戶使用方便而且每個操作都有提示使得初次接觸該程序的用戶也能很快適應(yīng)程序的操作。這個程序操作簡單對于車牌號只需輸入車牌號上的數(shù)字就行,而且對于進(jìn)出停車場的時間也化了操,只輸入當(dāng)時的時刻就行有具體到小時和分鐘也這也是該程序不足之處所在而該程序給用戶提供了選擇的機(jī)會點擊運行該程序后如想退出程序,可以輸入n或N退出運行程.至于使用過程中的更具體的問題以參照該報告書中調(diào)試分析那一項的屏幕截圖個程序的運行界面大致就如上述屏幕截圖的內(nèi).六附1、源程序代碼#include。”#include"stdlib.h"”MAX;個局變量用來存儲車庫最大容量float;/*每車每小時的費用*typedefstructtimemin;

*};/*

時間結(jié)點

/typedefstructnode{第頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)}車輛信息結(jié)點*/typedefstructNODE*stack[100];top;/停車站*/typedefstructcardata;car*next;};typedefstructQNode*QNoderear;}LinkQueue;通道*/void*);/*

初始化棧*InitQueue(LinkQueue*)/*

初始化便道*arrive(SqStack)/*車輛到達(dá)

*voidSqStack,SqStack*,)/*

車輛離開*voidinfo(SqStack,LinkQueue);/*顯示停車場信息voidPRINT(Car,introom);voidInitStack(SqStack*/*初始化棧*{i;s-〉i<=MAX;i++)第10頁共頁

*

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)—>stack[s>top]=NULL}InitQueue(LinkQueue初始化便道*/{Q-)malloc(sizeof())if(>head!head>next=NULLQ-;return(1);else)}voidmain()In,Out;LinkQueueWaitInitStack(&In);/*初始化停車站

/Out);/*初始化讓路的臨時棧

*&;/*while(1){

初始化通道*”-——---——--歡迎使用停車場管理系統(tǒng)—--—--—-——--\n”);printf("\t丁磊。\n\n");

本系統(tǒng)由工作室開發(fā),作者鄧春國、段慶龍、梁偉明、”

請輸入停車場的容量

");第11頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)(&MAX);”

請輸入停車場的收費標(biāo)準(zhǔn)元/時)("%&MAX,price);

您輸入的停車場容量為%d位,費用為%。1f

元/小時.n”printf("\n()車輛到達(dá)(2)車輛離開()停車場信息)退出系統(tǒng)\n請選\”);while(1){ch=getch);switch(ch)case49:arrive(Wait);break;車輛到達(dá)*case50:leave(&In,&Out,&Wait)/*

車輛離開*/case51:info(In,;/*

輸出車站信息*case52:{用);}/*

退出主程序*"\n

按鍵無效,請重新按鍵選擇!}/*49分別表示“1“4這四個按鍵的鍵值

/-———-—----—歡迎使用停車場管理系統(tǒng)---—-------—-—-\n”);"\t丁磊。)

本系統(tǒng)由CG工作室開發(fā)作者春國段慶龍梁偉明、”

您輸入的停車場容量為位費用為%1f元小時.

\n,MAX,printf("\n(1)車輛到(2)車輛離開\n停車場信息(4)退系統(tǒng)\n請選\n"}第12頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)}arrive(SqStack*)/*

車輛到達(dá)

*p;QNode*t;p=(Car*(flushall();\n停車場還%車位(若停車位為,車可先進(jìn)入便道等待)",MAX-In—〉top);printf("\n請輸入車牌號碼(:Dgets(p-〉num);if(In—〉top<MAX)/*停車場未滿車進(jìn)車場*In>top++;\n

停車的位置:%d號停車位。

—〉top);\n

請輸入車到達(dá)的時間(格式**"):;”d”,hour&(p—reach.min;〉top]=p;”

請按任意鍵返回);getch();return(1else/*停車場已滿,車進(jìn)便/{printf("\n停車位已滿,該車須在便道等待!t=(*)malloc(sizeof(QNode));t〉data=p;第13頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)t->next=NULL;〉next=t;rear=t"

請按任意鍵返回);getch();return(1}}voidSqStackIn,SqStack*Out,LinkQueue{/*

車輛離開*room;p,*t;QNode*q;/*判斷車場內(nèi)否有車*/if(In—〉)/*有車/{while(1)/*輸入離開車輛的信息*{\n請輸入車在停車場的位置(1-%d)",In->top);if(&room<=In—>top)break;}while(In〉room)/*{

車輛離開

*;Out->stack[Out-top]=In-〉stack[—>top];In〉〉]In〉top-—;第14頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)}p=In->stack[In—>top];In〉stack[In->top]=NULL;In->top-—;while(Out-〉top〉=1{In->top++;In〉stack[In-〉top]=Out——〉];Out—stack[Out]=NULL;Out->top——}PRINT(p,room);/*

判斷通道上是否有車及車站是否已滿*/if((—>head!=W-〉&In->top〈MAX)/便道的車輛進(jìn)入停車場*{q=W->head〉next;〉data;In->top++;"\n便道的%s號車進(jìn)入車場第%號停車位。

”t-—>top);”\n

請輸入現(xiàn)在的時間(格式*:*”):");,t-〉reach.hour),&;—〉〉next;if(q==W->rear)—〉rear=W-〉In>stack[In>top]=t;(}第15頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)elseprintf("\n停車場里沒有\(zhòng)/*沒車*

請按任意鍵返回;;}voidinfo1(SqStack*S)/*列表輸出車場信息*{i;if(S->top/*判斷停車場內(nèi)是否有車{printf("\n車場");

*”\n

位置到達(dá)時間車牌號

\n");=S〉;i++){d\%d:%d"——[i);(—〉stack[i]—}elseprintf("\n

停車場里沒有車);}voidinfo2(LinkQueue*W)/*顯示便道信息*/{QNode*p;p=Whead〉if(W-〉/*判斷通道上是否有車*第16頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)printf("\n便道中車輛的號碼為:\n");while!{〉p=p—〉next;}}elseprintf("\n

便道里沒有車”)

請按任意鍵返回);;}voidinfo(S,LinkQueueW){;/顯示停車場信息*info2();/*示停便道信息

/}voidPRINT(Car*p,int/*出停車站車的信息*{A2,B1,printf("\n請輸入車離開的時間(格式****”):")”d",)(p->leave。min));”\n

車牌號碼");puts(p—;printf("\n車到達(dá)的時間是%d:%d",pmin);

車離開的時間是:%%d",>leave.hour,p〉leaveA1=p—。第17頁共頁

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計.停車場管理系統(tǒng)A2=p—。B1=p〉leave.h

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論