數(shù)據(jù)結(jié)構(gòu)—停車場管理系統(tǒng)方案_第1頁
數(shù)據(jù)結(jié)構(gòu)—停車場管理系統(tǒng)方案_第2頁
數(shù)據(jù)結(jié)構(gòu)—停車場管理系統(tǒng)方案_第3頁
數(shù)據(jù)結(jié)構(gòu)—停車場管理系統(tǒng)方案_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余20頁可下載查看

下載本文檔

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

文檔簡介

1、.實(shí)訓(xùn)報告實(shí)訓(xùn)名稱 :停車場管理姓名:nnn院 (系):軟件學(xué)院專業(yè)班級 :學(xué)號:指導(dǎo)教師 :成績:.專業(yè) .專注.時間:2010年6 月21 日至2010年6月25日實(shí)訓(xùn)任務(wù)書一、題目1. 停車場管理2. 員工管理系統(tǒng)3. 校園導(dǎo)游程序4. 編寫一個雜貨店排隊(duì)模擬程序 。5. 猜動物6. 硬幣游戲7. 編寫程序幫助旅游者找出從一個城市到另一個城市的最短旅行路徑。8. 設(shè)計(jì)哈希表實(shí)現(xiàn)電話號碼查詢系統(tǒng) 。9. 赫夫曼編碼及譯碼.專業(yè) .專注.二、實(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)酱鎯Γ诰唧w的應(yīng)用

2、中能運(yùn)用并實(shí)現(xiàn)各種數(shù)據(jù)的各種不同操作。通過一周的綜合實(shí)訓(xùn),使學(xué)生加深對如何將邏輯關(guān)系的數(shù)據(jù)按一定的存儲方式存儲在計(jì)算機(jī)內(nèi)。并為以后的編程打好基礎(chǔ) 。三、實(shí)訓(xùn)的基本要求1、熟悉各種數(shù)據(jù)類型及它們在計(jì)算機(jī)中的存儲方式;2、熟悉各種數(shù)據(jù)類型的基本操作,各基本操作的實(shí)現(xiàn) 。3、能綜合運(yùn)用各種數(shù)據(jù)類型實(shí)現(xiàn)一些具體的問題。四、實(shí)訓(xùn)內(nèi)容及要求天 /日任務(wù)描述通過標(biāo)準(zhǔn)期10 年 6需求分析 ;算法分析完成相關(guān)設(shè)計(jì)內(nèi)容月21日10 年 6繪制流程圖 ;程序代碼設(shè)計(jì)完成相關(guān)設(shè)計(jì)內(nèi)容月22日10 年 6程序代碼設(shè)計(jì)與實(shí)現(xiàn)完成相關(guān)設(shè)計(jì)內(nèi)容月23日10 年 6程序代碼實(shí)現(xiàn)、測試完成相關(guān)設(shè)計(jì)內(nèi)容月24日10 年 6實(shí)訓(xùn)文

3、檔書寫、作品成績評定完成相關(guān)設(shè)計(jì)內(nèi)容.專業(yè) .專注.月25日五、考核指標(biāo)及成績評定實(shí)訓(xùn)成績由下面構(gòu)成:平時成績 ( 10% ) + 作品( 70% )+ 實(shí)訓(xùn)報告 (20% ) = 總評成績作品成績評定標(biāo)準(zhǔn):1、全部完成90-1002、主要功能完成70-903、部分功能完成60-704、少部分完成40-605、幾乎沒做0-40完成期限:年月日指導(dǎo)教師簽章:專業(yè)負(fù)責(zé)人簽章 :教學(xué)院長簽章年月日.專業(yè) .專注.一、需求說明僅僅認(rèn)識到棧和隊(duì)列是兩種特殊的線性表是遠(yuǎn)遠(yuǎn)不夠的,本次實(shí)習(xí)的目的在于使讀者深入了解棧和隊(duì)列的特征,以便在實(shí)際問題背景下靈活運(yùn)用它們;同時還將鞏固這兩種結(jié)構(gòu)的構(gòu)造方法,接觸較復(fù)雜問

4、題的遞歸算法設(shè)計(jì)。以棧模擬停車場 ,以隊(duì)列模擬車場外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進(jìn)行模擬管理 。 每一組輸入數(shù)據(jù)包括三個數(shù)據(jù)項(xiàng):汽車 “到達(dá) ”或“離去 ”信息、汽車牌照號碼及到達(dá)或離去的時刻,對每一組輸入數(shù)據(jù)進(jìn)行操作后的輸出數(shù)據(jù)為 :若是車輛到達(dá) ,則輸出汽車在停車場內(nèi)或便道上的停車位置;若是車離去 ;則輸出汽車在停車場內(nèi)停留的時間和應(yīng)交納的費(fèi)用(在便道上停留的時間不收費(fèi) )。棧以順序結(jié)構(gòu)實(shí)現(xiàn) ,隊(duì)列以鏈表實(shí)現(xiàn) 。設(shè)停車場內(nèi)只有一個可停放n 輛汽車的狹長通道 ,且只有一個大門可供汽車進(jìn)出 。汽車在停車場內(nèi)按車輛到達(dá)時間的先后順序,依次由北向南排列(大門在最南端 ,最先到達(dá)的第一輛車停

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

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

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

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

9、 ,按字段保存到數(shù)據(jù)文件中。2)將數(shù)據(jù)文件中的數(shù)據(jù) ,按字段提取到用戶界面中。3)必要的去除重復(fù)項(xiàng)的算法。4)保持文件和輸出數(shù)據(jù)的一致性。注釋設(shè)計(jì) :盡可能的將軟件中插入注釋語句 ,使語句功能明了 。 制作的時候應(yīng)該制作兩分,一份是標(biāo)有注釋語句的代碼 ,用來給維護(hù)人員 、測試人員和開發(fā)人員了.專業(yè) .專注.解開發(fā)過程所用 ,另一份是不帶有注釋語句的代碼,用來最后實(shí)際應(yīng)用當(dāng)中,這樣可以充分的利用有限的時間,降低客戶的計(jì)算機(jī)打開系統(tǒng)功能的時間,提高客戶的使用速度 。限制條件 :限制必要的條件 ,以排除由于用戶的誤操作造成不必要的錯誤。測試計(jì)劃 :在軟件編輯的工作進(jìn)行當(dāng)中 ,測試人員便要開始制定測試

10、計(jì)劃 ,其中要包括白盒和黑盒的具體測試項(xiàng)目 ,及其必要的測試數(shù)據(jù)和出錯的信息 。每次測試的結(jié)果要寫報告 ,并就發(fā)現(xiàn)和懷疑的問題與編輯人員聯(lián)系 。 測試的結(jié)果要讓編輯人員明白 。通過文件存儲方式將用戶所錄入的數(shù)據(jù)保存妥當(dāng),充分地描述了數(shù)據(jù)間的內(nèi)在聯(lián)系 ,便于數(shù)據(jù)修改 、更新與擴(kuò)充 ,同時保證了數(shù)據(jù)的獨(dú)立性、可靠性 、安全性與完整性 ,減少了數(shù)據(jù)冗余 ,提高了數(shù)據(jù)共享程度及數(shù)據(jù)管理效率。3.4 設(shè)計(jì)思路及框架停車場的管理流程如下 : 當(dāng)車輛要進(jìn)入停車場時 ,檢查停車場是否已滿 ,如果未滿則車輛進(jìn)入停車場;如果停車場已滿 ,則車輛進(jìn)入便道等候 。 當(dāng)車輛要求出棧時 ,先讓在它之后進(jìn)入停車場的車輛退出

11、停車場為它讓路,再讓該車退出停車場 ,讓路的所有車輛再按其原來進(jìn)入停車場的次序進(jìn)入停車場。之后,再檢查在便道上是否有車等候 ,有車則讓最先等待的那輛車進(jìn)入停車場。.專業(yè) .專注.四、各功能模塊.專業(yè) .專注.1、 交互菜單2、汽車進(jìn)入停車場1.專業(yè) .專注.3、汽車退出停車場2.專業(yè) .專注.五、 總結(jié)實(shí)訓(xùn)期間 ,讓我學(xué)到了很多東西,不僅使我在理論上對軟件行業(yè)有了全新的認(rèn)識 ,在實(shí)踐能力上也得到了提高,真正地做到了學(xué)以致用,對我來說受益非淺 。除此以外 ,我還學(xué)會了如何更好地與別人溝通,如何更好地去陳述自己的觀點(diǎn) ,如何說服別人認(rèn)同自己的觀點(diǎn)。第一次親身感受到理論與實(shí)際的相結(jié)合 ,讓我大開眼界

12、 。也是對以前所學(xué)知識的一個初審吧!這次實(shí)訓(xùn)對于我以后學(xué)習(xí) 、找工作也真是受益菲淺,在這短短的幾天中相信這些寶貴的經(jīng)驗(yàn)會成為我今后成功的重要的基石。作為一名大二的學(xué)生 ,經(jīng)過兩年的在校學(xué)習(xí) ,對程序設(shè)計(jì)有了理性的認(rèn)識和理解 。 在校期間 ,一直忙于理論知識的學(xué)習(xí),沒有機(jī)會也沒有相應(yīng)的經(jīng)驗(yàn)來參與項(xiàng)目的開發(fā) 。所以在實(shí)訓(xùn)之前 ,軟件項(xiàng)目開發(fā)對我來說是比較抽象的,一個完整的項(xiàng)目要怎么來分工以及完成該項(xiàng)目所要的基本步驟也不明確。 而經(jīng)過這次實(shí)訓(xùn) ,讓我明白一個完整項(xiàng)目的開發(fā)它所要經(jīng)歷的階段包括:規(guī)劃和用例.專業(yè) .專注.說明、項(xiàng)目結(jié)構(gòu) 、業(yè)務(wù)功能說明書 、詳細(xì)設(shè)計(jì)說明書 、代碼實(shí)現(xiàn) 、測試、實(shí)訓(xùn)手冊。

13、 一個項(xiàng)目的開發(fā)所需要的財(cái)力、人力都是大量的 ,如果沒有一個好的遠(yuǎn)景規(guī)劃 ,對以后的開發(fā)進(jìn)度會產(chǎn)生很大的影響,嚴(yán)重時導(dǎo)致在預(yù)定時間內(nèi)不能完成該項(xiàng)目或者完成的項(xiàng)目跟原先計(jì)劃所要實(shí)現(xiàn)的項(xiàng)目功能不符合。一份好的項(xiàng)目結(jié)構(gòu) 、業(yè)務(wù)功能和詳細(xì)設(shè)計(jì)說明書對一個項(xiàng)目的開發(fā)有明確的指引作用,它可以使開發(fā)人員對這個項(xiàng)目所要實(shí)現(xiàn)的功能在總體上有具體的認(rèn)識,并能減少在開發(fā)過程中出現(xiàn)不必要的脫節(jié)。代碼的實(shí)現(xiàn)是一個項(xiàng)目開發(fā)成功與否的關(guān)鍵,可以說,前面所做的事情就是為代碼的實(shí)現(xiàn)做鋪墊。這次實(shí)訓(xùn)也讓我深刻了解到,不管在工作中還是在生活中要和老師,同學(xué)保持良好的關(guān)系是很重要的。做事首先要學(xué)做人 ,要明白做人的道理 ,如何與人相

14、處是現(xiàn)代社會的做人的一個最基本的問題。對于自己這樣一個即將步入社會的人來說 ,需要學(xué)習(xí)的東西很多,他們就是最好的老師 ,正所謂 “三人行 ,必有我?guī)?”,我們可以向他們學(xué)習(xí)很多知識、道理。在此,我應(yīng)當(dāng)感謝老師的指導(dǎo)與幫助以及學(xué)院提供此次千載難逢的實(shí)訓(xùn)機(jī)會。.專業(yè) .專注.六、 附錄#include<stdio.h>#include <stdlib.h>#include<string.h>#include<math.h>#define size 1 /停車場位置數(shù)/ 模擬停車場的堆棧的性質(zhì) ;typedef struct zanlindint nu

15、mber; /汽車車號float ar_time; /汽車到達(dá)時間zanInode;typedef structzanInode *base; /停車場的堆棧底zanInode *top; /停車場的堆棧頂int stacksize_curren;stackhead;/ 堆棧的基本操作 ;void initstack(stackhead &L) /構(gòu)造一個空棧LL.base=(zanInode*)malloc(size*sizeof(zanlind);if(!L.base) exit(0);/ 存儲分配失敗.專業(yè) .專注.L.top=L.base;L.stacksize_curren=

16、0;void push(stackhead &L,zanInode e) /插入元素e 為新的棧頂元素*L.top+=e;L.stacksize_curren+;void pop(stackhead &L,zanInode &e) /若棧不為空 ,刪除 L 的棧頂元素 ,用 e 返回其值if(L.top=L.base)printf(" 停車場為空 !");return;e=*-L.top;L.stacksize_curren-;/ 模擬便道的隊(duì)列的性質(zhì);typedef struct duilieint number; /汽車車號float ar_ti

17、me; /汽車到達(dá)時間.專業(yè) .專注.struct duilie *next;*queueptr;typedef structqueueptr front; /便道的隊(duì)列的對頭queueptr rear; /便道的隊(duì)列的隊(duì)尾int length;linkqueue;/ 隊(duì)列的基本操作 ;void initqueue(linkqueue &q) /構(gòu)造一個空隊(duì)列qq.front=q.rear=(queueptr)malloc(sizeof(duilie);if(!q.front|!q.rear)exit(0);/ 存儲分配失敗q.front->next=NULL;q.length=

18、0;voidenqueue(linkqueue&q,intnumber,intar_time)/ 把元素的插入隊(duì)列尾(屬性為.專業(yè) .專注.number , ar_time )queueptr p;p=(queueptr)malloc(sizeof(duilie);if(!p) exit(0);/ 存儲分配失敗p->number=number;p->ar_time=ar_time;p->next=NULL;q.rear->next=p;q.rear=p;q.length+;voidpopqueue(linkqueue&q,queueptr&w)/

19、 刪除q的隊(duì)頭元素w (屬性為number , ar_time )queueptr p;if(q.front=q.rear)printf(" 停車場通道為空");return;p=q.front->next;.專業(yè) .專注.w=p;q.front->next=p->next;q.length-;if(q.rear=p) q.front=q.rear;float shijiancha(float x,float y)/ 求時間差的子程序int shix,shiy,fenx,feny;float shijiancha;shix=x;shiy=y;fenx=(i

20、nt)(x-shix)*100);feny=(int)(y-shiy)*100);if(fenx>feny)shijiancha=(shiy-shix-1)+(float)(feny+60-fenx)/100;elseshijiancha=(shiy-shix)+(float)(feny-fenx)/100;return shijiancha;.專業(yè) .專注.void jinru(stackhead &st,linkqueue &q)/ 對進(jìn)入停車場的汽車的處理;int number;float time_a;printf(" 請輸入車牌號:");sc

21、anf("%d" ,&number);printf(" 請輸入您進(jìn)車場的時間(比如說 : 8 點(diǎn)半則輸入8.30):"); scanf("%f",&time_a);if(st.stacksize_curren<2)zanInode e;e.number=number;e.ar_time=time_a;push(st,e);printf(" 請把你的車停在%d 號車道 nn",st.stacksize_curren);elseenqueue(q,number,time_a);printf(&qu

22、ot; 停車場已滿 ,請把你的車停在便道的第%d 個位置上 ",q.length);.專業(yè) .專注.void likai(stackhead &st,stackhead &sl,linkqueue &q)/ 對離開的汽車的處理;/st堆棧為停車場, sl 堆棧為倒車場int number,flag=1;/q為便道隊(duì)列float sh,time_d,arrivaltime,money1;printf(" 請輸入您的車牌號:"); scanf("%d",&number);printf(" 請輸入您出車場的時

23、間(比如說 : 8 點(diǎn)半則輸入8.30):");scanf("%f",&time_d);zanInode e,q_to_s;queueptr w;while(flag)/ 找到要開出的車,并彈出停車場棧pop(st,e);push(sl,e);if(e.number=number)flag=0;arrivaltime=e.ar_time;sh=shijiancha(arrivaltime,time_d);money1=(int)sh*2+(sh-(int)sh)*100/30;.專業(yè) .專注.pop(sl,e);/ 把臨時堆棧的第一輛車(要離開的 )去掉;

24、while(sl.stacksize_curren)/ 把倒車場的車倒回停車場pop(sl,e);push(st,e);if(st.stacksize_curren<2&&q.length!=0)/ 停車場有空位 ,便道上的車開進(jìn)入停車場popqueue(q,w);q_to_s.ar_time=time_d;q_to_s.number=w->number;push(st,q_to_s);printf("車 牌為%d的車已從通道進(jìn)入停車場,所在的停車位為 %d:n",q_to_s.number,st.stacksize_curren);printf("n收據(jù) ");printf(" 車牌號 :%dn",number);printf("+n");printf("進(jìn)車場時間 :%4.2fn&qu

溫馨提示

  • 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

提交評論