




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上軟件工程課程設計停車場管理系統(tǒng)姓名馮玉顛 李曉梅學 號 學 號 班級計本1班成績指導教師(簽字) 年 月 日停車場管理系統(tǒng)一、前言三、需求分析六、代碼開發(fā)七、軟件測試一、引言隨著現(xiàn)代化信息技術的發(fā)展,人民生活水平快速提高,汽車的數(shù)量也飛速增長,于此同時,停車問題越來越受人們的關注,為了使停車場有效管理,停車場管理的信息化成為必然。我們可以利用所學的知識,編寫一個停車場管理系統(tǒng),以提高管理的效率,提升停車場的競爭力。本次課程設計,我運用C語言編寫停車場管理系統(tǒng),主要實現(xiàn)汽車停車,離開,收費,停車信息查詢,顯示等功能,主要實現(xiàn)方式是用棧和隊列。下面對棧和隊列進行一下簡單介
2、紹。棧(stack)是一種僅允許在一端進行插入和刪除運算的線性表。棧中允許插入和刪除的那一端,稱為棧頂(top)。棧頂?shù)牡谝粋€元素稱為棧頂元素。棧中不可以插入和刪除的那一端稱為棧底。在一個棧中插入元素,即把新元素放到當前棧頂元素的上面,使其稱為新的棧頂元素,即進棧(push)。從一個棧中刪除一個元素,即把棧頂元素刪除掉,使其下面的元素成為新的棧頂元素,稱為出棧(pop)。棧遵循后進先出的原則,即后進棧的元素必先出棧。其中順序棧是利用一組地址連續(xù)的存儲單元依次存放從棧底到棧頂?shù)脑?。在C語言中,可以用一維數(shù)組描述順序棧中數(shù)據(jù)元素的存儲區(qū)域,并預設一個數(shù)組的最大空間。棧底設置在0下標端,棧頂隨著插
3、入和刪除元素而變化,可以用一個整形變量top來指示棧頂?shù)奈恢?。隊列是一種限定在表的一端進行插人而另一端進行刪除的線性表,與棧相反,隊列遵循先進先出的原則。允許刪除的一端,稱為隊頭(front)。允許插入的一端稱為隊尾(rear)。向隊列中插入新的元素稱為入隊,新元素進隊后就成為了新的隊尾元素;從隊列中刪除元素,稱為出隊,元素離隊后,其后繼元素就成為了新的隊頭元素。其中鏈隊列就是用鏈表表示的隊列,需要兩個分別指示隊頭和隊尾的指針(分別稱為頭指針和尾指針)。為了操作方便,給鏈隊列添加一個頭結點,并令頭指針指向頭結點,尾指針指向隊尾元素結點,判斷隊列為空的條件是頭指針和尾指針均指向頭結點。停車場的管
4、理系統(tǒng)正好利用棧和隊列的這些特點來實現(xiàn)模擬停車場和便道。停車場管理主要實現(xiàn)以下幾個功能:(1)、停車場車位的劃分。(2)、車輛進出管理及收費功能。(3)、停車場車輛信息查詢功能。(4)、退出系統(tǒng)。二、項目開發(fā)前的準備工作1、課程設計的目的(1)要求學生能夠熟練掌握C+語言的基本知識和技能。(2)基本掌握面向對象程序設計的基本思路和方法。(3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。2、課程設計的背景和意義(1)、課程設計的背景1. 理論研究基礎(1)分析系統(tǒng)流程,并會畫出流程圖;(2)熟練掌握C+程序設計語言。2. 技術層面的支持C+面向對象程序設計中的類的聲明與對象定義
5、的熟練使用;以及繼承、派生的熟練使用。(2)課程設計的意義在經(jīng)過了一個學期對C+程序設計的學習,課程設計可以很好的檢驗所學知識,對自身來說,是個查漏補缺的好時機,可以將所學知識進行復習與鞏固,將前面所有知識綜合起來,很好的聯(lián)系在一起,有機結合,形成知識網(wǎng)絡體系,將知識融會貫通,可以讓自己進一步熟練掌握程序設計語言,并能熟練運用。3、課程設計環(huán)境軟件:WindosXP系統(tǒng),Microsoft Visual C+ 6.0編譯器。硬件:聯(lián)想 雙核處理器,二G內存,二G獨立顯卡,80G硬盤。 三、需求分析(1)問題描述 系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號、車牌號、車輛制造公司、
6、車輛購買時間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護費用、養(yǎng)路費、累計總費用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。本系統(tǒng)主要是運用面對對象C語言編寫的程序,在本系統(tǒng)中主要定義了一個Car類,此類為系統(tǒng)的基本類,再由此類派生出三個子類。整個系統(tǒng)的所有功能基本是圍繞這三個子類編寫的。在這三個子類的基礎上再加以輔助的函數(shù)及基本實現(xiàn)了整個系統(tǒng)的功能。(2) 基本要求和目的1)添加車輛:主要完成車輛信息的添加,要求編號唯一。當添加了重復的編號時,則提示數(shù)據(jù)添加重復并取消添加;當車輛信息庫已滿,則提示不能再添加新的數(shù)
7、據(jù)。2)查詢車輛:可按照三種方式來查詢物品,分別為:按車輛制造公司查詢:輸入車輛制造公司,輸出所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”;按編號查詢:輸入編號,輸出所查詢的信息,若不存在該記錄,則提示“該編號不存在!”;按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”;3)顯示車輛信息庫:輸出當前車輛信息庫中所有車輛信息,每條記錄占據(jù)一行。4)編輯功能:可根據(jù)查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。5)刪除車輛:主要完成車輛信息的刪除。如果當前車輛信息庫為空,則提示“車輛信息庫為空!”,并返回操作;否則,輸入要刪除的編號,根據(jù)編
8、號刪除該車輛的記錄,如果該編號不在車輛信息庫庫中,則提示“該編號不存在”。6)統(tǒng)計信息輸出當前車輛信息庫中總物品數(shù),以及按車輛類別,統(tǒng)計出當前車輛信息庫中各類別的物品數(shù)并顯示。(3) 軟件需求本程序主要是運用C+語言編寫的系統(tǒng)。其功能是對在庫的車輛信息進行有效的管理,所以該系統(tǒng)主要面對的是停車場管理員。停車場管理員可以根據(jù)本系統(tǒng)的操作提示完成對所需要管理的對象進行有效的管理。在本系統(tǒng)中有很多功能,例如可以輸入新的車輛信息,包括車輛的車牌號碼、購買時間、制作公司、車型、日常所需的費用以及油費等等。所以本系統(tǒng)不失為一個管理車輛的有效系統(tǒng),尤其是面對對車輛需要有效管理的停車場、車站、二手車交易市場等
9、等。四、系統(tǒng)總體設計1、設計思路停車場采用棧式結構,便道采用隊列結構(即便道就是等候隊列)。停車場的管理流程如下:(1)當車輛要進入停車場時,檢查停車場是否已滿,如果未滿則車輛進棧(車輛進入停車場);如果停車場已滿,則車輛進入等候隊列(車輛進入便道等待)。(2)當車輛要求出棧時,該車到棧頂?shù)哪切┸囅瘸鰲#ㄔ谒筮M入的車輛必須先退出車場為它讓路),在讓該車出棧,其他車輛再按原次序進棧(進入車場)。當車輛出棧完畢后,檢查等候隊列(便道)中是否有車,有車則從隊頭取出,壓入棧中。用棧模擬停車場,用隊列模擬便道,按照從終讀入的輸人數(shù)據(jù)序列的進行模擬管理,每一組輸入數(shù)據(jù)包含三個數(shù)據(jù)項:汽車到達或汽車離去
10、的信息,汽車車牌號以及汽車到達或離去的時刻。每次輸完,進行輸出操作:若是車輛到達,輸出汽車在停車場內或者便道上停車的信息;若是車輛離去,輸出停留時間和需繳納的費用(在便道上停留的時間不收費),其中棧以順序結構實現(xiàn),隊列以鏈表結構實現(xiàn)。2、系統(tǒng)總體框架圖停車場管理系統(tǒng)主函數(shù)流程圖列表顯示停車場信息退出系統(tǒng)車輛停車車輛離開車庫停車便道停車便道信息停車場信息返回主菜單停車位置應繳納費用停車時刻離開時刻停車位置到達時刻車牌號等待中的車牌號停車時刻停車位置車牌號圖1 系統(tǒng)總體框圖3、系統(tǒng)流程圖實現(xiàn)對一級菜單:模擬停車場,便道,實現(xiàn)車輛停車、離開、列表顯示停車場信息、退出系統(tǒng)功能的控制,調用各個子函數(shù)。程
11、序流程圖如圖2所示。開始讀取頭函數(shù)判斷輸入的數(shù)字是否為1執(zhí)行第一種情況執(zhí)行其他情況輸入是否為0 跳出頭函數(shù)是否空 結束YNNYYN圖2主函數(shù)流程圖五、詳細設計1、車輛停車函數(shù)及流程圖車輛停車函數(shù)實現(xiàn):記錄停車信息包括車輛車牌號、停車時刻、停車車位等。其流程如圖3所示開始車輛停車,進入函數(shù)輸入車牌號N停車場車庫不滿Y車進便道輸出車輛停車位置輸入車輛車牌號 結束圖3車輛停車流程圖2、車輛離開函數(shù)及流程圖車輛離開函數(shù)主要實現(xiàn):記錄車輛離開的信息,以及便道上的車是否進入車庫中。其流程如圖4所示。開始N停車場車有車YN1停車場沒有車Y輸入離開車的車位 車輛離開 輸出該車信息N便道上有車Y便道上車進停車庫
12、顯示便道上沒有車輸入便道上的車進車庫時間結束圖4車輛離開流程圖3、列表顯示車場信息函數(shù)及流程圖該函數(shù)主要判斷停車場是否有車,如果有車就顯示停車場車輛的信息,沒車顯示無車。其流程如圖5所示。開始N停車場是否有車Y顯示停車場沒有車輸出停車場中車輛的信息結束圖5列表顯示停車場信息流程圖4、列表顯示便道信息判斷便道上是否有車,如果有車,輸出車輛的車牌號,如果沒有車,顯示無車,其流程如圖6所示開始N便道是否有車Y顯示便道上沒有車輸出便道車輛的信息結束圖6列表顯示便道信息5列表顯示菜單函數(shù)及流程圖示實現(xiàn)列表顯示功能的控制,調用顯示停車場信息、便道信息的函數(shù),程序流程圖如圖7所示開始NFlag=1Y輸出車場
13、信息、便道信息、返回主菜單三個選項N1Y輸入1-2-3選擇的選項N1Y執(zhí)行其他情況執(zhí)行第一種情況跳出結束圖7列表顯示菜單及流圖六、代碼開發(fā)七、軟件測試1、2、3、4、5、6、7、8、八、總結通過本次課程設計,我對數(shù)據(jù)結構的理解進一步加深,我理解和掌握了每一段程序代碼的功能及含義,并且能夠實現(xiàn)模擬停車場管理的主要功能:利用棧實現(xiàn)車的入庫問題,利用隊列完成車在便道上停放的問題,主要是通過棧和隊列的初始化,調用等函數(shù)來模擬停車問題。學習數(shù)據(jù)結構,我學會如何將所學的知識運用到實際中,解決一些實際的問題,這才是學習的根本。當然在實驗中我也遇到了不少實際性的問題,比如車輛停車的時間hour限制在24小時,min限制在60分鐘之內
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 借借款合同范例
- pvc地膠合同范本
- 債務處理合同范例
- 制造業(yè)股合同范本
- 農(nóng)場用電安裝合同范例
- 倉儲配送中心合同范例
- 臨街門面店鋪轉讓合同范例
- 代租代理合同范例
- 產(chǎn)品和技術合作合同范例
- 常規(guī)施工方案的混凝土
- 《基礎和聲學》試習題庫(6套答案)
- 馬克思主義政治經(jīng)濟學課程講義
- 四年級道德與法治從中國制造到中國創(chuàng)造
- SolidWorks、CAD三維建模練習習題圖
- HONEYWELLDCS操作手冊
- 2021-2022新教科版四年級科學下冊全一冊全部課件(共24課)
- 方正飛騰使用教程詳解
- 3 棄渣場施工方案
- 國外客戶來訪行程安排表
- 八路搶答器PLC控制系統(tǒng)設計
- 《車輛解壓委托書 》
評論
0/150
提交評論