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

下載本文檔

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

文檔簡(jiǎn)介

重慶科技學(xué)院面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告 學(xué) 院:_電氣與信息工程學(xué)院_ 專業(yè)班級(jí): 學(xué)生姓名: 學(xué) 號(hào): 設(shè)計(jì)地點(diǎn)(單位)_計(jì)算機(jī)自主學(xué)習(xí)中心 _ _設(shè)計(jì)題目:_車輛管理系統(tǒng)設(shè)計(jì)_ _ 完成日期: 2013 年1月18日 指導(dǎo)教師評(píng)語: _ _ _ _ 成績(jī)(五級(jí)記分制):_ _ 指導(dǎo)教師(簽字):_ _ 摘 要隨著現(xiàn)代社會(huì)的不斷發(fā)展,交通的便利,車輛的數(shù)量在不斷的增加,為了更好的管理車輛信息,便設(shè)計(jì)了車輛管理系統(tǒng)主要負(fù)責(zé)各種車輛的常規(guī)信息管理工作。系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號(hào)、車牌號(hào)、車輛制造公司、車輛購(gòu)買時(shí)間、車輛型號(hào)(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護(hù)費(fèi)用、養(yǎng)路費(fèi)、累計(jì)總費(fèi)用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。主要功能有:車輛信息的添加、更改、刪除、查詢、顯示。關(guān)鍵字:數(shù)組、類、C+、繼承、車輛管理系統(tǒng)課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:車輛管理系統(tǒng)設(shè)計(jì)學(xué)生姓名課程名稱面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)專業(yè)班級(jí)計(jì)地 點(diǎn)I304/I306起止時(shí)間2013年1月7日1月18日設(shè)計(jì)內(nèi)容及要求1)問題描述車輛管理系統(tǒng)主要負(fù)責(zé)各種車輛的常規(guī)信息管理工作。系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號(hào)、車牌號(hào)、車輛制造公司、車輛購(gòu)買時(shí)間、車輛型號(hào)(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護(hù)費(fèi)用、養(yǎng)路費(fèi)、累計(jì)總費(fèi)用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。每臺(tái)車輛當(dāng)月總費(fèi)用=油價(jià)*耗油量/公里+基本維護(hù)費(fèi)用?;揪S護(hù)費(fèi)用:客車:2000元/月,小轎車:1000元/月,卡車:1500元/月2)功能要求(1)添加車輛:主要完成車輛信息的添加,要求編號(hào)唯一。當(dāng)添加了重復(fù)的編號(hào)時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加;當(dāng)車輛信息庫已滿,則提示不能再添加新的數(shù)據(jù)。(2)查詢車輛:可按照三種方式來查詢物品,分別為:按車輛制造公司查詢:輸入車輛制造公司,輸出所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”;按編號(hào)查詢:輸入編號(hào),輸出所查詢的信息,若不存在該記錄,則提示“該編號(hào)不存在!”;按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”;(3)顯示車輛信息庫:輸出當(dāng)前車輛信息庫中所有車輛信息,每條記錄占據(jù)一行。(4)編輯功能:可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號(hào)的唯一性。(5)刪除車輛:主要完成車輛信息的刪除。如果當(dāng)前車輛信息庫為空,則提示“車輛信息庫為空!”,并返回操作;否則,輸入要?jiǎng)h除的編號(hào),根據(jù)編號(hào)刪除該車輛的記錄,如果該編號(hào)不在車輛信息庫庫中,則提示“該編號(hào)不存在”。(6)統(tǒng)計(jì)信息輸出當(dāng)前車輛信息庫中總物品數(shù),以及按車輛類別,統(tǒng)計(jì)出當(dāng)前車輛信息庫中各類別的物品數(shù)并顯示。3)問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: (1)應(yīng)用系統(tǒng)分析,建立該系統(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í),完成設(shè)計(jì)和實(shí)現(xiàn)工作,并按照書寫規(guī)范,撰寫課程設(shè)計(jì)報(bào)告。設(shè)計(jì)參數(shù)(1)系統(tǒng)分析、設(shè)計(jì)正確。(2)結(jié)果以圖表方式顯示。(3)界面簡(jiǎn)潔、美觀。(4)報(bào)告格式規(guī)范。進(jìn)度要求周一:明確設(shè)計(jì)任務(wù),學(xué)習(xí)相關(guān)基礎(chǔ)知識(shí)周二:熟悉各知識(shí)點(diǎn),進(jìn)行基礎(chǔ)練習(xí)周三:根據(jù)題目要求,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)周四:根據(jù)題目要求,進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)周五:程序測(cè)試參考資料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)教師:裴仰軍/伍建全/焦曉軍/陳應(yīng)祖 2013年1月1日目 錄摘 要I課程設(shè)計(jì)任務(wù)書II第一章軟件需求分析說明書1第二章系統(tǒng)分析與設(shè)計(jì)22.1 軟件界面設(shè)計(jì)22.2 軟件的數(shù)據(jù)(結(jié)構(gòu))設(shè)計(jì)32.3 軟件的算法設(shè)計(jì)5第三章軟件的實(shí)現(xiàn)83.1核心功能設(shè)計(jì)分析83.2軟件界面10第四章軟件測(cè)試124.1測(cè)試數(shù)據(jù)124.2函數(shù)測(cè)試12第五章軟件使用說明書13致 謝14參考文獻(xiàn)15第一章 軟件需求分析說明書1.1系統(tǒng)設(shè)計(jì)的目的與意義隨著社會(huì)的進(jìn)步和人們生活水平的提高,車輛作為交通工具,已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?大大增加了交通壓力,同時(shí),也對(duì)車輛里的管理有了一個(gè)更高的要求.因此,需要一個(gè)車輛管理系統(tǒng)來對(duì)各種車輛的各種信息進(jìn)行統(tǒng)一管理. 1.2 系統(tǒng)功能需求本系統(tǒng)有三個(gè)類:sedan類、truck類、bus類,存儲(chǔ)小轎車信息、卡車信息、大客車信息。1.2.1 添加車輛程序主要完成車輛信息的添加,要求編號(hào)唯一。如果添加了重復(fù)編號(hào)的物品時(shí),則提示用戶數(shù)據(jù)添加重復(fù)并取消添加;如果車輛信息庫已滿,則提示不能再添加新的車輛信息。1.2.2查詢車輛可按照三種方式進(jìn)行物品的查詢。按車輛制造公司查詢:按編號(hào)查詢:按類別查詢:如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息。1.2.3顯示車輛信息庫可顯示當(dāng)前車輛信息庫中所有的車輛信息。1.2.4編輯車輛可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號(hào)的唯一性。1.2.5刪除車輛對(duì)已添加的車輛信息進(jìn)行刪除。如果當(dāng)前車輛信息庫為空,則提示“車輛信息庫為空!”并返回操作;否則輸入要?jiǎng)h除的編號(hào),根據(jù)編號(hào)刪除該車輛信息,如果沒有找到該車輛信息,則提示“該編號(hào)不存在”。1.2.6統(tǒng)計(jì)功能輸出當(dāng)前車輛信息庫中總車輛數(shù),以及按車輛類別,統(tǒng)計(jì)出當(dāng)前車輛信息庫中各類別的車輛數(shù)并顯示。1.2.7保存車輛將當(dāng)前系統(tǒng)中車輛信息存入文件中。1.2.8讀取車輛將保存在文件中的車輛信息讀入到當(dāng)前系統(tǒng)中,以供用戶使用。第二章 系統(tǒng)分析與設(shè)計(jì)2.1 軟件界面設(shè)計(jì)2.1.1系統(tǒng)主界面車輛管理系統(tǒng)1 添加車輛 2 查詢車輛3 車庫 4 編輯車輛5 刪除車輛 6 統(tǒng)計(jì)車輛7 退出輸入操作: 圖2.1系統(tǒng)主界面程序運(yùn)行后用戶要在當(dāng)前界面做出選擇,添加選擇“1”,查詢選“2”,車庫選“3”,編輯選“4”,刪除選“5”,統(tǒng)計(jì)選“6”,退出選“7”,其他為無效選項(xiàng)。2.1.2添加車輛輸入添加數(shù)量: 選擇輸入第n輛車輛類別(退出輸0) 1 大客車 2 小轎車 3卡車 輸入車輛信息 圖2.2添加車輛界面選擇添加不同類型的車輛,將車存入不同的文件,輸入車輛的信息2.1.3查詢車輛 選擇輸入查詢方式(退出輸0) 1 公司查詢 2 編號(hào) 3類別 顯示查詢到的信息 圖2.3查詢車輛界面根據(jù)不同的要求輸入不同的查詢方式,顯示出不同的車輛信息2.1.4顯示所有車輛顯示所有信息編號(hào):車牌號(hào):公司: 圖2.4車庫界面把車庫中的所有車來那個(gè)信息輸出到屏幕上2.1.5編輯車輛輸入要編輯的車的編號(hào)顯示車原來的信息輸入車輛新的信息確認(rèn)是否編輯顯示編輯結(jié)果 圖2.5編輯車輛界面輸入需要更改的車輛編號(hào),顯示車輛原來的信息,然后輸入車輛的新的數(shù)據(jù),由于系統(tǒng)要求和限制車輛數(shù)據(jù)中的編號(hào)和類型無法更改!2.1.6刪除車輛輸入刪除車的編號(hào)顯示該車輛信息確認(rèn)是否刪除顯示刪除結(jié)果 圖2.6刪除車輛界面2.1.7統(tǒng)計(jì)車輛顯示車庫車輛總的數(shù)目顯示卡車數(shù)目顯示轎車數(shù)目顯示客車數(shù)目 圖2.7統(tǒng)計(jì)數(shù)目界面2.2 軟件的數(shù)據(jù)(結(jié)構(gòu))設(shè)計(jì)2.2.1數(shù)據(jù)設(shè)計(jì)首先啟動(dòng)程序檢測(cè)文件是否存在,若不存在自動(dòng)創(chuàng)建文件。添加、編輯、刪除、顯示、統(tǒng)計(jì)都會(huì)用到文件操作。文件中每行信息都便是一輛車的信息建立一個(gè)文件,就要建立一個(gè)取值函數(shù),使其能夠?qū)?shù)據(jù)傳遞至數(shù)組中以便于數(shù)據(jù)統(tǒng)計(jì)和使用。取值函數(shù)有:bus* getbus()sedan* getsedan()truck* gettruck()程序中的每一個(gè)功能都用一個(gè)功能函數(shù)實(shí)現(xiàn)。功能函數(shù)有:int add()void collect()int delet()int edit ( )void search()void show()其中g(shù)etbus、getsedan、gettruck用的是傳值方式實(shí)現(xiàn),是該程序的核心函數(shù)比如:bus* getbus()/*設(shè)置函數(shù)獲取客車庫中信息存儲(chǔ)于數(shù)組中,方便之后提取*/string s;ifstream fin1(1.txt,ios:in);n1=0;dofin1s;n1+;while(!fin1.eof();n1=n1/11;fin1.close();int i;bus* head=new busn1;ifstream is1(1.txt,ios:in);for(i=0;iheadi.numberheadi.license_panyheadi.time_buyingheadi.modeheadi.ODO headi.oil_consumptionheadi.oil_priceheadi.road_toltheadi.all_costheadi.apacity; is1.close();return head;2.2.2類的設(shè)計(jì)1.基類設(shè)計(jì): 2.客車類設(shè)計(jì)class bus:public car/*客車類,公有繼承汽車類*/ public: double maintenance_charges;/*基本維護(hù)費(fèi)用*/ int apacity;/*大客車附加屬性載客量*/ void setall( ) void show()/*輸出所有數(shù)據(jù)*/ bus() ;class car/*汽車類*/public:string number;/編號(hào)string license_plat;/*車牌號(hào)碼*/string company;/汽車制造公司double time_buying;/購(gòu)買時(shí)間string mode;/型號(hào)double ODO;/*總公里數(shù)*/double oil_consumption;/*油耗量/公里*/double oil_price;/*油價(jià)*/double road_tolt;/*養(yǎng)路費(fèi)*/double all_cost;/*累計(jì)費(fèi)用*/void getcar( );void show( )car( ) 3.轎車類 4.卡車類class sedan:public car/*小轎車類,公有繼承汽車類*/ public: double maintenance_charges;/*基本維護(hù)費(fèi)用*/ int CTNS;/*小轎車附加屬性箱數(shù)*/ void setall() void show()/*輸出所有數(shù)據(jù)*/ sedan() ;class truck:public car/*卡車類,公有繼承汽車類*/ public: double maintenance_charges;/*基本維護(hù)費(fèi)用*/ double load_weight;/*卡車附加屬性載重量*/void setall()void show()/*輸出所有數(shù)據(jù)*/ truck() ;2.3 軟件的算法設(shè)計(jì)2.3.1軟件的模塊圖進(jìn)入主界面后,選擇你17你想要進(jìn)行的功能,就可以使用你想要的功能結(jié)果,如圖2.8所示:車輛管理系統(tǒng)添加車輛查詢車輛編輯車輛車庫統(tǒng)計(jì)車輛刪除車輛客車轎車卡車編號(hào)類別制造公司 圖2.8 整體模塊圖2.3.2添加車輛模塊 根據(jù)對(duì)添加功能的要求分析,得到添加功能流程圖,如圖2.9所示:添加車輛選擇添加類型,輸入編號(hào)校驗(yàn)編號(hào)是否重復(fù)Y輸入車輛信息添加成功N圖2.9添加流程圖 2.3.3查詢車輛模塊根據(jù)對(duì)查詢功能的要求分析,得到查詢功能流程圖,如圖2.10所示:查詢車輛選擇查詢方式讀取文件并全部輸出到屏幕讀取文件,檢查編號(hào)讀取所有文件,檢查所有車輛公司信息輸出最終信息到屏幕編號(hào)未找到讀取下一文件并檢查編號(hào)類別編號(hào)公司YN 圖2.10查詢流程圖2.3.4編輯車輛模塊根據(jù)對(duì)編輯功能的要求分析,得到編輯功能流程圖,如圖2.11所示:編輯車輛輸入要編輯的編號(hào)并輸入新編號(hào)檢查新編號(hào)是否存在輸入新的車輛信息YN圖2.11編輯流程圖2.3.5刪除車輛模塊根據(jù)對(duì)刪除功能的要求分析,得到刪除功能流程圖,如圖2.12所示: 刪除車輛信息輸入編號(hào),并檢查是否存在輸出刪除結(jié)果圖2.12刪除流程圖2.3.6統(tǒng)計(jì)車輛模塊根據(jù)對(duì)統(tǒng)計(jì)功能的要求分析,得到統(tǒng)計(jì)功能流程圖,如圖2.13所示:統(tǒng)計(jì)車輛讀取文件,統(tǒng)計(jì)數(shù)目顯示結(jié)果圖2.13統(tǒng)計(jì)流程圖2.3.7顯示車輛模塊根據(jù)對(duì)顯示功能的要求分析,得到顯示功能流程圖,如圖2.14所示: 顯示車庫信息讀取所有文件顯示所有信息 圖2.14顯示流程圖第三章 軟件的實(shí)現(xiàn)3.1核心功能設(shè)計(jì)分析3.1.1傳值功能代碼如下:bus* getbus()/*設(shè)置函數(shù)獲取客車庫中信息存儲(chǔ)于數(shù)組中,方便之后提取*/string s;ifstream fin1(1.txt,ios:in);n1=0;dofin1s;n1+;while(!fin1.eof();n1=n1/11;fin1.close();int i;bus* head=new busn1;ifstream is1(1.txt,ios:in);for(i=0;iheadi.numberheadi.license_panyheadi.time_buyingheadi.modeheadi.ODO headi.oil_consumptionheadi.oil_priceheadi.road_toltheadi.all_costheadi.apacity; is1.close();return head;闡述:首先讀取文件,計(jì)算文件中的信息個(gè)數(shù),由于每輛車有11個(gè)信息,最后整除11得到車庫中的車輛數(shù)目,然后再重新讀取文件,把每輛車的信息讀入數(shù)組,最后返回傳值!3.1.2刪除功能部分代碼如下:for(i=0;in1;i+)/*查找大客車信息庫*/ if(bi.number=str) k=1;/k=1表示車輛已找到j(luò)=i;break; if(k=1) bi.show(); coutx; if(x=y|x=Y) while (in1-1) bi.number=bi+1.number; bi.license_plat=bi+1.license_plat; pany=bi+1.company; bi.time_buying=bi+1.time_buying;bi.mode=bi+1.mode;bi.ODO=bi+1.ODO; bi.oil_consumption=bi+1.oil_consumption; bi.oil_price=bi+1.oil_price; bi.road_tolt=bi+1.road_tolt; bi.all_cost=bi+1.all_cost; bi.apacity=bi+1.apacity; i+; n1-; ofstream os1(1.txt,ios:trunc/*|ios:binary*/); for(i=0;in1;i+)/*刪除數(shù)據(jù)*/ os1bi.number bi.license_plat pany bi.time_buying bi.mode bi.ODO bi.oil_consumption bi.oil_price bi.road_tolt bi.all_cost bi.apacityendl; cout刪除成功!endl; os1.close(); else return (0);闡述:輸入刪除編號(hào),查找編號(hào),如果找到顯示車輛信息,確認(rèn)是否刪除!然后將該車后的車輛信息依次向前,再清空文件內(nèi)容,最后將數(shù)組中的數(shù)據(jù)寫入文件!3.2軟件界面3.2.1程序開始界面 圖3.1程序主界面 3.2.2添加車輛界面 圖3.2添加界面 3.2.3編輯車輛界面 圖3.3編輯界面3.2.4刪除車輛界面 圖3.4刪除界面第四章 軟件測(cè)試4.1測(cè)試數(shù)據(jù) 表4.1測(cè)試數(shù)據(jù)編號(hào)車牌號(hào)制造公司購(gòu)買時(shí)間型號(hào)總公里數(shù)油耗油價(jià)養(yǎng)路費(fèi)累計(jì)費(fèi)用特有屬性1川A.8XX88豐田5客車10000209.82001.965e+006202冀J.75790大眾10客車120002592002.71e+006353桂T.82111紅旗5客車15000258.93003.342e+006304閩A8889B現(xiàn)代2客車20000993001.622e+006355京A73848奔馳12客車5000010105004.962e+0061006京A80XXX紅旗1轎車10000011010150037京00001路虎1轎車2000030105006.0015e+00638京AC3371法拉利1轎車1e+006301210003.60002e+00839軍A00001蘭博基尼1轎車1e+0095050100002.5e+012310空A00001瑪莎拉蒂1轎車100000301003.00015e+007311甲A1111東風(fēng)3卡車4e+0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論