數(shù)據(jù)結(jié)構(gòu)—停車場(chǎng)管理系統(tǒng)65942_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)—停車場(chǎng)管理系統(tǒng)65942_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)—停車場(chǎng)管理系統(tǒng)65942_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)—停車場(chǎng)管理系統(tǒng)65942_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)—停車場(chǎng)管理系統(tǒng)65942_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、武漢理工大學(xué)華夏學(xué)院課程設(shè)計(jì)報(bào)告書(shū)課程名稱:數(shù)據(jù)結(jié)構(gòu)與算法分析課程設(shè)計(jì)實(shí)訓(xùn)名稱:停車場(chǎng)管理系統(tǒng)姓 名:陳航院 (系): 信息工程系專業(yè)班級(jí): 軟件1141學(xué) 號(hào): 10212814127指導(dǎo)教師: 王云華成 績(jī):時(shí)間:2015年6月29日至2015年7月3日實(shí)訓(xùn)任務(wù)書(shū)一、題目1. 停車場(chǎng)管理二、實(shí)訓(xùn)的性質(zhì)和任務(wù)數(shù)據(jù)結(jié)構(gòu)實(shí)訓(xùn)是在完成理論課程學(xué)習(xí)之后安排的綜合實(shí)踐訓(xùn)練,要求學(xué)生能根據(jù)數(shù)據(jù)結(jié)構(gòu)中所講到的各種數(shù)據(jù)類型以及它們順序和鏈?zhǔn)酱鎯?chǔ),在具體的應(yīng)用中能運(yùn)用并實(shí)現(xiàn)各種數(shù)據(jù)的各種不同操作。通過(guò)一周的綜合實(shí)訓(xùn),使學(xué)生加深對(duì)如何將邏輯關(guān)系的數(shù)據(jù)按一定的存儲(chǔ)方式存儲(chǔ)在計(jì)算機(jī)內(nèi)。并為以后的編程打好基礎(chǔ).三、實(shí)

2、訓(xùn)的基本要求1、熟悉各種數(shù)據(jù)類型及它們?cè)谟?jì)算機(jī)中的存儲(chǔ)方式; 2、熟悉各種數(shù)據(jù)類型的基本操作,各基本操作的實(shí)現(xiàn)。3、能綜合運(yùn)用各種數(shù)據(jù)類型實(shí)現(xiàn)一些具體的問(wèn)題.四、考核指標(biāo)及成績(jī)?cè)u(píng)定實(shí)訓(xùn)成績(jī)由下面構(gòu)成: 平時(shí)成績(jī)(10)+作品(70%)+實(shí)訓(xùn)報(bào)告(20%)=總評(píng)成績(jī)作品成績(jī)?cè)u(píng)定標(biāo)準(zhǔn):1、全部完成901002、主要功能完成70903、部分功能完成60-704、少部分完成40605、幾乎沒(méi)做0-40完 成 期 限: 年 月 日指導(dǎo)教師簽章:專業(yè)負(fù)責(zé)人簽章:教學(xué)院長(zhǎng)簽章年 月 日一、 需求說(shuō)明僅僅認(rèn)識(shí)到棧和隊(duì)列是兩種特殊的線性表是遠(yuǎn)遠(yuǎn)不夠的,本次實(shí)習(xí)的目的在于使讀者深入了解棧和隊(duì)列的特征,以便在實(shí)際問(wèn)

3、題背景下靈活運(yùn)用它們;同時(shí)還將鞏固這兩種結(jié)構(gòu)的構(gòu)造方法,接觸較復(fù)雜問(wèn)題的遞歸算法設(shè)計(jì).以棧模擬停車場(chǎng),以隊(duì)列模擬車場(chǎng)外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理。每一組輸入數(shù)據(jù)包括三個(gè)數(shù)據(jù)項(xiàng):汽車“到達(dá)或“離去”信息、汽車牌照號(hào)碼及到達(dá)或離去的時(shí)刻,對(duì)每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為:若是車輛到達(dá),則輸出汽車在停車場(chǎng)內(nèi)或便道上的停車位置;若是車離去;則輸出汽車在停車場(chǎng)內(nèi)停留的時(shí)間和應(yīng)交納的費(fèi)用(在便道上停留的時(shí)間不收費(fèi))。棧以順序結(jié)構(gòu)實(shí)現(xiàn),隊(duì)列以鏈表實(shí)現(xiàn)。設(shè)停車場(chǎng)內(nèi)只有一個(gè)可停放n輛汽車的狹長(zhǎng)通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場(chǎng)內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(

4、大門在最南端,最先到達(dá)的第一輛車停放在車場(chǎng)的最北端),若車場(chǎng)內(nèi)已停滿n輛汽車,則后來(lái)的汽車只能在門外的便道上等候,一旦有車開(kāi)走,則排在便道上的第一輛車即可開(kāi)入;當(dāng)停車場(chǎng)內(nèi)某輛車要離開(kāi)時(shí),在它之后開(kāi)入的車輛必須先退出車場(chǎng)為它讓路,待該輛車開(kāi)出大門外,其它車輛再按原次序進(jìn)入車場(chǎng),每輛停放在車場(chǎng)的車在它離開(kāi)停車場(chǎng)時(shí)必須按它停留的時(shí)間長(zhǎng)短交納費(fèi)用。試為停車場(chǎng)編制按上述要求進(jìn)行管理的模擬程序。二、 功能描述停車場(chǎng)管理系統(tǒng)主要有以下幾個(gè)功能:1、汽車進(jìn)入車場(chǎng) 添加車輛信息:車牌號(hào)、進(jìn)車時(shí)間,如果停車場(chǎng)已滿,則將車輛停入臨時(shí)便道內(nèi)。2、汽車退出車場(chǎng) 根據(jù)退出車輛的車牌號(hào),進(jìn)行優(yōu)先退出,再根據(jù)退出時(shí)間計(jì)算停車

5、費(fèi)用。并將臨時(shí)便道中的車輛停入停車場(chǎng)內(nèi) 。3、退出系統(tǒng)三、 系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)軟件規(guī)格要求合理,基于C語(yǔ)言程序設(shè)計(jì),在有限空間達(dá)到效果最優(yōu)化.3.1設(shè)計(jì)要求用C語(yǔ)言實(shí)現(xiàn) “停車場(chǎng)管理系統(tǒng).3.2系統(tǒng)功能(1)系統(tǒng)啟動(dòng)后,出現(xiàn)用戶界面,人機(jī)交互。(2)根據(jù)提示輸入選項(xiàng) 1、汽車進(jìn)入車場(chǎng) 2、汽車退出車場(chǎng)3、退出系統(tǒng) (3)進(jìn)入車場(chǎng)時(shí)錄入車輛牌號(hào)、和入場(chǎng)時(shí)間,輸出??康耐\囄恢?當(dāng)停車場(chǎng)車位滿時(shí)則??吭谂R時(shí)停車便道內(nèi)。 (4)退出車場(chǎng)時(shí)錄入車輛牌號(hào)、和出場(chǎng)時(shí)間,輸出停車總時(shí)間,和所停的費(fèi)用.3。3系統(tǒng)性能:(1)時(shí)間特性需求在網(wǎng)絡(luò)連接正常的情況下,查詢響應(yīng)時(shí)間為秒級(jí)。(2) 靈活性當(dāng)需求發(fā)生某些變化時(shí)

6、,機(jī)票管理應(yīng)用軟件操作方式、數(shù)據(jù)結(jié)構(gòu)、運(yùn)行環(huán)境基本不會(huì)發(fā)生變化,變化只是將對(duì)應(yīng)的數(shù)據(jù)文件內(nèi)的記錄改變,或改變過(guò)濾條件.(3)可用性軟件應(yīng)該盡可能的一目了然,使一般用戶能夠使用。 (4)安全性本套職工信息系統(tǒng)所涉及的數(shù)據(jù)存放于文件中,在程序中應(yīng)盡可能的使用調(diào)用存儲(chǔ)過(guò)程的方法以免使某人反編譯軟件后或入侵到服務(wù)器后對(duì)數(shù)據(jù)的結(jié)構(gòu)了如指掌,在程序中應(yīng)該設(shè)置訪問(wèn)時(shí)的密碼,以保證數(shù)據(jù)不容易被錯(cuò)改、破壞,而且要經(jīng)常對(duì)數(shù)據(jù)文件進(jìn)行備份操作,使得數(shù)據(jù)一旦受到破壞或是出錯(cuò)能夠保證及時(shí)的恢復(fù)數(shù)據(jù),將損失降低到最低。(5) 可維護(hù)性(6) 應(yīng)用程序的維護(hù)當(dāng)用戶使用本套職工信息系統(tǒng)軟件時(shí),遇到了軟件本身的邏輯錯(cuò)誤時(shí),應(yīng)當(dāng)

7、有軟件的維護(hù)人員對(duì)軟件進(jìn)行修改。(7)可轉(zhuǎn)移、可轉(zhuǎn)換性Visual Studio及C編程語(yǔ)言的兼容性很高,在windows95/98。 Windows NT。 windows2000. windows XP等操作系統(tǒng)都可以直接運(yùn)行.輸入項(xiàng):用戶通過(guò)軟件輸入必要的信息,然后保存到數(shù)據(jù)文件,所輸入的信息是經(jīng)過(guò)需求分析限定的內(nèi)容,同時(shí)也是數(shù)據(jù)文件中每個(gè)字段中存儲(chǔ)的內(nèi)容。輸出項(xiàng):本套職工信息系統(tǒng)軟件會(huì)將所有需要瀏覽的數(shù)據(jù)顯示在屏幕上,以便使用戶能夠?yàn)g覽到數(shù)據(jù)文件中的數(shù)據(jù)或用戶想要瀏覽范圍中的數(shù)據(jù)算法:1)將用戶輸入的數(shù)據(jù),按字段保存到數(shù)據(jù)文件中.2)將數(shù)據(jù)文件中的數(shù)據(jù),按字段提取到用戶界面中。3)必要

8、的去除重復(fù)項(xiàng)的算法。4)保持文件和輸出數(shù)據(jù)的一致性。注釋設(shè)計(jì):盡可能的將軟件中插入注釋語(yǔ)句,使語(yǔ)句功能明了。制作的時(shí)候應(yīng)該制作兩分,一份是標(biāo)有注釋語(yǔ)句的代碼,用來(lái)給維護(hù)人員、測(cè)試人員和開(kāi)發(fā)人員了解開(kāi)發(fā)過(guò)程所用,另一份是不帶有注釋語(yǔ)句的代碼,用來(lái)最后實(shí)際應(yīng)用當(dāng)中,這樣可以充分的利用有限的時(shí)間,降低客戶的計(jì)算機(jī)打開(kāi)系統(tǒng)功能的時(shí)間,提高客戶的使用速度。限制條件:限制必要的條件,以排除由于用戶的誤操作造成不必要的錯(cuò)誤。測(cè)試計(jì)劃:在軟件編輯的工作進(jìn)行當(dāng)中,測(cè)試人員便要開(kāi)始制定測(cè)試計(jì)劃,其中要包括白盒和黑盒的具體測(cè)試項(xiàng)目,及其必要的測(cè)試數(shù)據(jù)和出錯(cuò)的信息。每次測(cè)試的結(jié)果要寫(xiě)報(bào)告,并就發(fā)現(xiàn)和懷疑的問(wèn)題與編輯人

9、員聯(lián)系。測(cè)試的結(jié)果要讓編輯人員明白.通過(guò)文件存儲(chǔ)方式將用戶所錄入的數(shù)據(jù)保存妥當(dāng),充分地描述了數(shù)據(jù)間的內(nèi)在聯(lián)系,便于數(shù)據(jù)修改、更新與擴(kuò)充,同時(shí)保證了數(shù)據(jù)的獨(dú)立性、可靠性、安全性與完整性,減少了數(shù)據(jù)冗余,提高了數(shù)據(jù)共享程度及數(shù)據(jù)管理效率。3。4設(shè)計(jì)思路及框架停車場(chǎng)的管理流程如下:當(dāng)車輛要進(jìn)入停車場(chǎng)時(shí),檢查停車場(chǎng)是否已滿,如果未滿則車輛進(jìn)入停車場(chǎng);如果停車場(chǎng)已滿,則車輛進(jìn)入便道等候。當(dāng)車輛要求出棧時(shí),先讓在它之后進(jìn)入停車場(chǎng)的車輛退出停車場(chǎng)為它讓路,再讓該車退出停車場(chǎng),讓路的所有車輛再按其原來(lái)進(jìn)入停車場(chǎng)的次序進(jìn)入停車場(chǎng).之后,再檢查在便道上是否有車等候,有車則讓最先等待的那輛車進(jìn)入停車場(chǎng)。四、各功能模

10、塊1、 交互菜單2、汽車進(jìn)入停車場(chǎng)13、汽車退出停車場(chǎng)2五、 總結(jié)短學(xué)期的課程設(shè)計(jì)是一次非常珍貴的機(jī)會(huì),這是一次可以讓我們所學(xué)的理論與實(shí)際相結(jié)合的機(jī)會(huì).其實(shí)個(gè)人而言,我體會(huì)較深的一點(diǎn)是團(tuán)隊(duì)互相幫助學(xué)習(xí)的過(guò)程,自己看書(shū)學(xué)習(xí)的經(jīng)驗(yàn),以及從網(wǎng)上以及其他各種途徑獲得信息和知識(shí)的經(jīng)驗(yàn)。理論與實(shí)際相結(jié)合的設(shè)計(jì),鍛煉了我綜合運(yùn)用所學(xué)的基礎(chǔ)知識(shí),解決實(shí)際問(wèn)題的能力,同時(shí)也提高我查閱文獻(xiàn)資料、對(duì)程序整體的把握等其他能力水平。而且通過(guò)對(duì)整體的掌控,對(duì)局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我的能力得到了鍛煉,我的各方面經(jīng)驗(yàn)都得到了極大的豐富?!罢n程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題鍛煉實(shí)

11、踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。”在這次課程設(shè)計(jì)的過(guò)程中,我深深地體會(huì)到了理論與實(shí)踐結(jié)合的過(guò)程,當(dāng)實(shí)踐成功時(shí)的成就感,從整個(gè)過(guò)程中我受益匪淺.六、 附錄includestdio。hinclude stdlib。hinclude#define size 1 /停車場(chǎng)位置數(shù)/模擬停車場(chǎng)的堆棧的性質(zhì);typedef struct zanlindint number; /汽車車號(hào)float ar_time; /汽車到達(dá)時(shí)間zanInode;typedef structzanInode base; /停車場(chǎng)的堆棧底zanInode top; /停車場(chǎng)的堆棧頂int stack

12、size_curren;stackhead;/堆棧的基本操作;void initstack(stackhead &L) /構(gòu)造一個(gè)空棧LL.base=(zanInode)malloc(sizesizeof(zanlind));if(!L.base) exit(0); /存儲(chǔ)分配失敗L。top=L。base;L。stacksize_curren=0;void push(stackhead L,zanInode e) /插入元素e為新的棧頂元素*L。top+=e;L.stacksize_curren+;void pop(stackhead &L,zanInode e) /若棧不為空,刪除L的棧頂元

13、素,用e返回其值if(L.top=L。base)printf(停車場(chǎng)為空!”);return;e=*-L。top;L.stacksize_curren-;/模擬便道的隊(duì)列的性質(zhì);typedef struct duilieint number; /汽車車號(hào)float ar_time; /汽車到達(dá)時(shí)間struct duilie next;queueptr;typedef structqueueptr front; /便道的隊(duì)列的對(duì)頭queueptr rear; /便道的隊(duì)列的隊(duì)尾int length;linkqueue;/隊(duì)列的基本操作;void initqueue(linkqueue q) /構(gòu)

14、造一個(gè)空隊(duì)列qq.front=q。rear=(queueptr)malloc(sizeof(duilie));if(!q。front!q。rear) exit(0); /存儲(chǔ)分配失敗q。frontnext=NULL;q。length=0;void enqueue(linkqueue q,int number,int ar_time) /把元素的插入隊(duì)列尾(屬性為number,ar_time)queueptr p;p=(queueptr)malloc(sizeof(duilie));if(!p) exit(0); /存儲(chǔ)分配失敗p-number=number;p-ar_time=ar_time;

15、p-next=NULL;q.rearnext=p;q.rear=p;q。length+;void popqueue(linkqueue q,queueptr w) /刪除q的隊(duì)頭元素 w(屬性為number,ar_time)queueptr p;if(q。front=q。rear)printf(”停車場(chǎng)通道為空”);return;p=q。frontnext;w=p;q。frontnext=pnext;q.length;if(q。rear=p) q。front=q。rear;float shijiancha(float x,float y) /求時(shí)間差的子程序int shix,shiy,fenx

16、,feny;float shijiancha;shix=x;shiy=y;fenx=(int)((xshix)100);feny=(int)(yshiy)100);if(fenxfeny)shijiancha=(shiy-shix-1)+(float)(feny+60fenx)/100;elseshijiancha=(shiy-shix)+(float)(fenyfenx)/100;return shijiancha;void jinru(stackhead st,linkqueue &q) /對(duì)進(jìn)入停車場(chǎng)的汽車的處理;int number;float time_a;printf(請(qǐng)輸入車牌號(hào)

17、:”);scanf(%d” ,number);printf(”請(qǐng)輸入您進(jìn)車場(chǎng)的時(shí)間(比如說(shuō):8點(diǎn)半則輸入8.30):”); scanf(”f”,time_a); if(st。stacksize_currennumber;push(st,q_to_s);printf(”車牌為%d 的車已從通道進(jìn)入停車場(chǎng), 所在的停車位為 d:n”,q_to_s。number,st。stacksize_curren); printf(n 收據(jù));printf(”車牌號(hào):dn,number);printf(”+n”); printf(” 進(jìn)車場(chǎng)時(shí)間:4.2fn”,arrivaltime); printf(” 出車場(chǎng)

18、時(shí)間:4。2fn,time_d); printf( 停留時(shí)間:4.2fn”,sh); printf(” 應(yīng)付(元) 4。2fn”,money1); printf(”+nn”); void main()int m=100;char flag; /進(jìn)入或離開(kāi)的標(biāo)識(shí);stackhead sting,slinshi; /停車場(chǎng)和臨時(shí)倒車場(chǎng)堆棧的定義;linkqueue line; /隊(duì)列的定義;initstack(sting); /構(gòu)造停車場(chǎng)堆棧stinginitstack(slinshi); /構(gòu)造倒車場(chǎng)堆棧slinshiinitqueue(line); /構(gòu)造便道隊(duì)列l(wèi)inewhile(m) printf(”n *停車場(chǎng)管理程序* ”

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論