停車場管理系統(tǒng)C課程設(shè)計(jì)報(bào)告_第1頁
停車場管理系統(tǒng)C課程設(shè)計(jì)報(bào)告_第2頁
停車場管理系統(tǒng)C課程設(shè)計(jì)報(bào)告_第3頁
停車場管理系統(tǒng)C課程設(shè)計(jì)報(bào)告_第4頁
停車場管理系統(tǒng)C課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、重慶科技學(xué)院面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告 學(xué) 院:電氣與信息工程學(xué)院專業(yè)班級: 計(jì)科2012-05 學(xué)生姓名: 蔣鑫 學(xué) 號: 2012442101 設(shè)計(jì)地點(diǎn)(單位)_I313_ 設(shè)計(jì)題目:_ 停 車 場 管 理 系 統(tǒng) _ 完成日期: 2014 年 1月 8 日 指導(dǎo)教師評語: _ _ _ 成績(五級記分制):_ _ 指導(dǎo)教師(簽字):_ _ 22 / 29文檔可自由編輯打印重慶科技學(xué)院課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:停車場管理系統(tǒng)設(shè)計(jì)學(xué)生姓名蔣鑫課程名稱面向?qū)ο笳n程設(shè)計(jì)專業(yè)班級計(jì)科12-5班地 點(diǎn)I313起止時(shí)間12月30日1月10日設(shè)計(jì)內(nèi)容及要求1)問題描述定義車輛類,屬性有車牌號、顏色、車型(

2、小汽車、小卡、中卡和大卡)、到達(dá)的時(shí)間和離開的時(shí)間等信息和相關(guān)的對屬性做操作的行為。定義一個(gè)管理類,完成對停車場的管理。停車場的具體要求:設(shè)停車場是一個(gè)可停放n輛汽車的狹長通道,且只有一個(gè)大門可供汽車進(jìn)出。汽車在停車場內(nèi)按車輛到達(dá)時(shí)間的先后順序,依次由北向南排列(大門在最南端,最先到達(dá)的第一輛車停放在車場的最北端),若車場內(nèi)已停滿n輛汽車,則后來的汽車只能在門外的便道上等待,一旦有車開走,則排在便道上的第一輛車即可開入;每輛停放在車場的車在它離開停車場時(shí)必須按它停留的時(shí)間長短交納費(fèi)用。2)功能要求(1)添加功能:程序能夠添加到達(dá)停車場的車輛信息,要求車輛的車牌號要唯一,如果添加了重復(fù)編號的記錄

3、時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加。(2)查詢功能:可根據(jù)車牌號、車型等信息對已添加的停車場中的車輛信息進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息;(3)顯示功能:可顯示當(dāng)前系統(tǒng)中所有車輛的信息,每條記錄占據(jù)一行。(4)編輯功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意車牌號的唯一性。(5)刪除功能:主要實(shí)現(xiàn)對已添加的車輛記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒有相應(yīng)的人員記錄,則提示“記錄為空!”并返回操作。(6)統(tǒng)計(jì)功能:能統(tǒng)計(jì)停車場中車輛的總數(shù)、按車型、按到達(dá)時(shí)間進(jìn)行統(tǒng)計(jì)等。3)問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: (1)應(yīng)用系統(tǒng)分析,建立

4、該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);(2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系; (3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次; (4)完成類層次中各個(gè)類的描述; (5)完成類中各個(gè)成員函數(shù)的定義; (6)完成系統(tǒng)的應(yīng)用模塊; (7)功能調(diào)試;(8)完成系統(tǒng)總結(jié)報(bào)告。根據(jù)題目要求,運(yùn)用所學(xué)知識,完成設(shè)計(jì)和實(shí)現(xiàn)工作,并按照書寫規(guī)范,撰寫課程設(shè)計(jì)報(bào)告。設(shè)計(jì)參數(shù)(1)系統(tǒng)分析、設(shè)計(jì)正確。(2)結(jié)果以圖表方式顯示。(3)界面簡潔、美觀。(4)報(bào)告格式規(guī)范。進(jìn)度要求周一:明確設(shè)計(jì)任務(wù),學(xué)習(xí)相關(guān)基礎(chǔ)知識周二:熟悉各知識點(diǎn),進(jìn)行基礎(chǔ)練習(xí)周三:根據(jù)題目要求,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)周四:根據(jù)題目要求,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)周五:

5、程序測試參考資料1Richard Johnsonbaugh. Martin Kalin.面向?qū)ο蟪绦蛟O(shè)計(jì)C+語言描述.機(jī)械工業(yè)出版社.2009年2錢能.+語言程序設(shè)計(jì)教程.清華大學(xué)出版社.2005年其它說明.本表應(yīng)在每次實(shí)施前一周由負(fù)責(zé)教師填寫二份,院系審批后交院系辦備案,一份由負(fù)責(zé)教師留用。.若填寫內(nèi)容較多可另紙附后。3.一題多名學(xué)生共用的,在設(shè)計(jì)內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。教研室主任: 指導(dǎo)教師:裴仰軍/伍建全/黃永文 2013年12月12日摘要C+語言是計(jì)算機(jī)程序的最基本語言,俗話說學(xué)好數(shù)理化走遍天下都不怕,但是對于計(jì)算機(jī)專業(yè)的學(xué)生來說這句話并不完全正確!對于計(jì)算機(jī)專業(yè)來說這句話應(yīng)

6、該改為學(xué)好C+走遍天下都不怕。在學(xué)習(xí)完面對對象C+語言后,為了檢驗(yàn)與鞏固所學(xué)習(xí)到的知識,要求設(shè)計(jì)一個(gè)車輛系統(tǒng)能夠完成引導(dǎo)管理者對車輛進(jìn)行有效的管理,該管理系統(tǒng)可以大大的節(jié)省管理者的時(shí)間和資源也對所管理的對象的效率是非常高的,在無外界環(huán)境的影響下,該系統(tǒng)對車輛的管理根本不會出錯(cuò),所以車輛管理系統(tǒng)不失為管理車輛者的一個(gè)好幫手。該系統(tǒng)是用C語言和C+語言編寫的一個(gè)簡單的操作系統(tǒng),在匯編環(huán)境下,用戶可以按照界面的提示,選擇不同的功能,C語言的編寫是內(nèi)核的編寫,在內(nèi)核中實(shí)現(xiàn)的是顯示功能。關(guān)鍵詞:C+ C語言 車輛管理系統(tǒng) 顯示 目錄課程設(shè)計(jì)任務(wù)書2摘 要3第一章 緒論511 課程設(shè)計(jì)的目的512 課程設(shè)

7、計(jì)的背景和意義5121 課程設(shè)計(jì)的背景5122 課程設(shè)計(jì)的意義513 課程設(shè)計(jì)環(huán)境5第二章 需求分析621 問題描述622 功能要求623 問題的解決方案6第三章 系統(tǒng)設(shè)計(jì)731 數(shù)據(jù)設(shè)計(jì)7311 類設(shè)計(jì)7312 類之間的關(guān)系7313 函數(shù)設(shè)計(jì)732 結(jié)構(gòu)設(shè)計(jì)8321 系統(tǒng)流程圖8322 界面設(shè)計(jì)8第四章 系統(tǒng)實(shí)現(xiàn)941 類實(shí)現(xiàn)942 函數(shù)實(shí)現(xiàn)1043 主函數(shù)實(shí)現(xiàn)26第五章 系統(tǒng)測試2851 模塊測試2852 課程設(shè)計(jì)過程中遇到的問題34總 結(jié)35致 謝36參考文獻(xiàn)36附 錄37 緒論課程設(shè)計(jì)的目的(1)要求學(xué)生能夠熟練掌握C+語言的基本知識和技能。(2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方

8、法。(3)能夠利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。課程設(shè)計(jì)的背景和意義 課程設(shè)計(jì)的背景1. 理論研究基礎(chǔ)(1)分析系統(tǒng)流程,并會畫出流程圖;(2)熟練掌握C+程序設(shè)計(jì)語言。2. 技術(shù)層面的支持C+面向?qū)ο蟪绦蛟O(shè)計(jì)中的類的聲明與對象定義的熟練使用;以及繼承、派生的熟練使用。 課程設(shè)計(jì)的意義在經(jīng)過了一個(gè)學(xué)期對C+程序設(shè)計(jì)的學(xué)習(xí),課程設(shè)計(jì)可以很好的檢驗(yàn)所學(xué)知識,對自身來說,是個(gè)查漏補(bǔ)缺的好時(shí)機(jī),可以將所學(xué)知識進(jìn)行復(fù)習(xí)與鞏固,將前面所有知識綜合起來,很好的聯(lián)系在一起,有機(jī)結(jié)合,形成知識網(wǎng)絡(luò)體系,將知識融會貫通,可以讓自己進(jìn)一步熟練掌握程序設(shè)計(jì)語言,并能熟練運(yùn)用。 課程設(shè)計(jì)環(huán)境軟件

9、:WindosXP系統(tǒng),Microsoft Visual C+ 6.0編譯器。硬件:聯(lián)想 雙核處理器,二G內(nèi)存,二G獨(dú)立顯卡,80G硬盤。第一章 需求分析1.1問題描述 系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號、車牌號、車輛制造公司、車輛購買時(shí)間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護(hù)費(fèi)用、養(yǎng)路費(fèi)、累計(jì)總費(fèi)用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。本系統(tǒng)主要是運(yùn)用面對對象C語言編寫的程序,在本系統(tǒng)中主要定義了一個(gè)Car類,此類為系統(tǒng)的基本類,再由此類派生出三個(gè)子類。整個(gè)系統(tǒng)的所有功能基本是

10、圍繞這三個(gè)子類編寫的。在這三個(gè)子類的基礎(chǔ)上再加以輔助的函數(shù)及基本實(shí)現(xiàn)了整個(gè)系統(tǒng)的功能。1.2 基本要求和目的1)添加車輛:主要完成車輛信息的添加,要求編號唯一。當(dāng)添加了重復(fù)的編號時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加;當(dāng)車輛信息庫已滿,則提示不能再添加新的數(shù)據(jù)。2)查詢車輛:可按照三種方式來查詢物品,分別為:按車輛制造公司查詢:輸入車輛制造公司,輸出所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”;按編號查詢:輸入編號,輸出所查詢的信息,若不存在該記錄,則提示“該編號不存在!”;按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”;3)顯示車輛信息庫:輸出當(dāng)

11、前車輛信息庫中所有車輛信息,每條記錄占據(jù)一行。4)編輯功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號的唯一性。5)刪除車輛:主要完成車輛信息的刪除。如果當(dāng)前車輛信息庫為空,則提示“車輛信息庫為空!”,并返回操作;否則,輸入要?jiǎng)h除的編號,根據(jù)編號刪除該車輛的記錄,如果該編號不在車輛信息庫庫中,則提示“該編號不存在”。6)統(tǒng)計(jì)信息輸出當(dāng)前車輛信息庫中總物品數(shù),以及按車輛類別,統(tǒng)計(jì)出當(dāng)前車輛信息庫中各類別的物品數(shù)并顯示。1.3 軟件需求本程序主要是運(yùn)用C+語言編寫的系統(tǒng)。其功能是對在庫的車輛信息進(jìn)行有效的管理,所以該系統(tǒng)主要面對的是停車場管理員。停車場管理員可以根據(jù)本系統(tǒng)的操作提示完成對所

12、需要管理的對象進(jìn)行有效的管理。在本系統(tǒng)中有很多功能,例如可以輸入新的車輛信息,包括車輛的車牌號碼、購買時(shí)間、制作公司、車型、日常所需的費(fèi)用以及油費(fèi)等等。所以本系統(tǒng)不失為一個(gè)管理車輛的有效系統(tǒng),尤其是面對對車輛需要有效管理的停車場、車站、二手車交易市場等等。1.4 系統(tǒng)中各功能函數(shù)的關(guān)系圖主界面與各功能函數(shù)的關(guān)系:主界面統(tǒng)計(jì)功能刪除功能編輯功能顯示功能查詢功能添加功能 圖 1.41添加函數(shù)功能:完成添加添加頁面不添加,返回主界面主界面繼續(xù)添加圖1.42查詢函數(shù)功能:完成完成查詢頁面不再查詢,返回主界面主界面繼續(xù)查詢圖1.43顯示功能主界面顯示車庫所有信息 圖1.44主界面庫為空,沒有任何信息主界

13、面圖1.45編輯功能 按照提示進(jìn)行修改輸入的車輛信息有誤,提示無此編號編輯功能頁面主界面找到要修改的車輛 圖1.45刪除功能 主界面 刪除車輛功能函數(shù)選擇要?jiǎng)h除的車型按照提示輸入信息輸入正確并按提示對信息進(jìn)行了修改輸入有錯(cuò)請重新輸入車庫已空請重新選擇操作圖1.46第二章 主要代碼2.1系統(tǒng)運(yùn)用的語言 本系統(tǒng)主要是運(yùn)用面對對象C+語言所編寫的軟件。面對對象C+語言是由C語言衍生而出的一個(gè)比C語言更完善更加容易操作的語言。由于該語言主要是由C語言衍生而來,所以對C語言能夠使用的語法該語言都能使用,不僅如此,該語言還添加了很多C語言所不具備的語法,例如對類的定義、類的繼承以及操作符的重載等等。本系統(tǒng)

14、中主要運(yùn)用面對對象C+語言對本系統(tǒng)的主要對象car進(jìn)行類的定義,然后再運(yùn)用類的繼承完成對旗下三個(gè)子類的定義,最后對該三個(gè)子類賦予適當(dāng)?shù)妮o助函數(shù)來完成本程序的編寫。2.2類的定義 按照本系統(tǒng)的功能,首先定義了一個(gè)父類Car,其代碼如下: class Carprivate:string ID;string PlateNumber;string Factory;string BuyTime;string CarType;double Distance;double OilCut;double BaseFee;double ReadFee;double AllFee;double OilFee;pub

15、lic:void setCar()/cout請輸入車輛編號ID;cout請輸入車牌號PlateNumber;cout請輸入車輛制造公司Factory;cout請輸入車輛購買時(shí)間BuyTime;cout請輸入車輛型號CarType;cout請輸入總公里數(shù)Distance;cout請輸入耗油量/公里OilCut;cout請輸入養(yǎng)路費(fèi)ReadFee;cout請輸入油價(jià):OilFee;AllFee = Distance*OilCut+ReadFee;void getCar()cout編碼:ID車牌號: PlateNumber制作公司: Factory購買時(shí)間: BuyTime車型 CarType總公里

16、數(shù): Distance耗油量/公里: OilCut養(yǎng)路費(fèi): ReadFee油費(fèi)/升: OilFee總費(fèi)用: ;void setBaseFee(int fee)BaseFee = fee;double getAllFee()return AllFee;void setID(string s)ID = s;string getID()return ID;string getFactory()return Factory;class MotorBus:virtual public Carprivate:int BusLoad;public:void setMotorBus()Car:setCar()

17、;Car:setBaseFee(2000);cout請輸入載客量:BusLoad;void getMotorBus()Car:getCar();cout(getAllFee()+2000)endl;;定義完父類之后又要對子類進(jìn)行定義,子類有三個(gè),首先是客車類MotorBus的定義,其代碼如下:class MotorBus:virtual public Carprivate:int BusLoad;public:void setMotorBus()Car:setCar();Car:setBaseFee(2000);cout請輸入載客量:BusLoad;void getMotorBus()Car:

18、getCar();cout(getAllFee()+2000)endl;其次是卡車類Van的定義:class Van:virtual public Carprivate:double Load;public:void setVan()Car:setCar();Car:setBaseFee(1500);cout請輸入載重量:Load;void getVan()Car:getCar();cout(getAllFee()+1500)endl;最后是轎車Scar的定義:class SCar:virtual public Carprivate:int BoxNumber;public:void setS

19、Car()Car:setCar();Car:setBaseFee(1000);cout請輸入箱數(shù):BoxNumber;void getSCar()Car:getCar();cout(getAllFee()+1000)endl; 子類與父類的關(guān)系圖如下:Class Car Class VanClass ScarClass MotorBus 圖2.21除此之外還在本程序中有一個(gè)對所有類進(jìn)行操作的函數(shù)Function,其主要代碼如下:class Function:public MotorBus,public Van,public SCarprivate:public:switch(Type)case

20、 1:if(MLength = 0)return true;break;case 2:if(VLength = 0)return true;break;case 3:if(SLength = 0)return true;break;default:return false;return false;int Check_RepetID(string CID, int Type, int Way)int i;switch(Way)case 1:switch(Type)case 1:for(i = 0; i MLength; i+)if(CID = Mi.getID()return i;break;

21、case 2:for(i = 0; i VLength; i+)if(CID = Vi.getID()return i;break;case 3:for(i = 0; i SLength; i+)if(CID = Si.getID()return i;break;break;case 2:switch(Type)case 1:for(i = 0; i MLength; i+)if(CID = Mi.getFactory()return i;break;case 2:for(i = 0; i VLength; i+)if(CID = Vi.getFactory()return i;break;c

22、ase 3:for(i = 0; i SLength; i+)if(CID = Si.getFactory()return i;break;break;case 3:switch(Type)case 1:if(MLength = 0)cout該類別沒有車輛.endl;return 0;elsefor(i = 0; i MLength; i+)Mi.setMotorBus();return 0;case 2:if(VLength = 0)cout該類別沒有車輛.endl;return 0;elsefor(i = 0; i VLength; i+)Vi.getVan();return 0;case 3:if(SLength = 0)cout該類別沒有車輛.endl;return 0;elsefor(i = 0; i SLength; i+)Si.getSCar();return 0;break;return -1;void Ad

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論