




已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
重慶科技學院面向對象程序設計課程設計報告 學 院:_電氣與信息工程學院_ 專業(yè)班級: 學生姓名: 學 號: 設計地點(單位)_計算機自主學習中心 _ _設計題目:_車輛管理系統(tǒng)設計_ _ 完成日期: 2013 年1月18日 指導教師評語: _ _ _ _ 成績(五級記分制):_ _ 指導教師(簽字):_ _ 摘 要隨著現(xiàn)代社會的不斷發(fā)展,交通的便利,車輛的數(shù)量在不斷的增加,為了更好的管理車輛信息,便設計了車輛管理系統(tǒng)主要負責各種車輛的常規(guī)信息管理工作。系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號、車牌號、車輛制造公司、車輛購買時間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護費用、養(yǎng)路費、累計總費用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。主要功能有:車輛信息的添加、更改、刪除、查詢、顯示。關鍵字:數(shù)組、類、C+、繼承、車輛管理系統(tǒng)課程設計任務書設計題目:車輛管理系統(tǒng)設計學生姓名課程名稱面向對象程序設計課程設計專業(yè)班級計地 點I304/I306起止時間2013年1月7日1月18日設計內容及要求1)問題描述車輛管理系統(tǒng)主要負責各種車輛的常規(guī)信息管理工作。系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號、車牌號、車輛制造公司、車輛購買時間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護費用、養(yǎng)路費、累計總費用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。每臺車輛當月總費用=油價*耗油量/公里+基本維護費用?;揪S護費用:客車:2000元/月,小轎車:1000元/月,卡車:1500元/月2)功能要求(1)添加車輛:主要完成車輛信息的添加,要求編號唯一。當添加了重復的編號時,則提示數(shù)據(jù)添加重復并取消添加;當車輛信息庫已滿,則提示不能再添加新的數(shù)據(jù)。(2)查詢車輛:可按照三種方式來查詢物品,分別為:按車輛制造公司查詢:輸入車輛制造公司,輸出所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”;按編號查詢:輸入編號,輸出所查詢的信息,若不存在該記錄,則提示“該編號不存在!”;按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”;(3)顯示車輛信息庫:輸出當前車輛信息庫中所有車輛信息,每條記錄占據(jù)一行。(4)編輯功能:可根據(jù)查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。(5)刪除車輛:主要完成車輛信息的刪除。如果當前車輛信息庫為空,則提示“車輛信息庫為空!”,并返回操作;否則,輸入要刪除的編號,根據(jù)編號刪除該車輛的記錄,如果該編號不在車輛信息庫庫中,則提示“該編號不存在”。(6)統(tǒng)計信息輸出當前車輛信息庫中總物品數(shù),以及按車輛類別,統(tǒng)計出當前車輛信息庫中各類別的物品數(shù)并顯示。3)問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: (1)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設計;(2)分析系統(tǒng)中的各個實體及它們之間的關系; (3)根據(jù)問題描述,設計系統(tǒng)的類層次; (4)完成類層次中各個類的描述; (5)完成類中各個成員函數(shù)的定義; (6)完成系統(tǒng)的應用模塊; (7)功能調試; (8)完成系統(tǒng)總結報告。根據(jù)題目要求,運用所學知識,完成設計和實現(xiàn)工作,并按照書寫規(guī)范,撰寫課程設計報告。設計參數(shù)(1)系統(tǒng)分析、設計正確。(2)結果以圖表方式顯示。(3)界面簡潔、美觀。(4)報告格式規(guī)范。進度要求周一:明確設計任務,學習相關基礎知識周二:熟悉各知識點,進行基礎練習周三:根據(jù)題目要求,進行設計和實現(xiàn)周四:根據(jù)題目要求,進行設計和實現(xiàn)周五:程序測試參考資料1Richard Johnsonbaugh. Martin Kalin.面向對象程序設計C+語言描述.機械工業(yè)出版社.2009年2錢能.+語言程序設計教程.清華大學出版社.2005年其它說明.本表應在每次實施前一周由負責教師填寫二份,院系審批后交院系辦備案,一份由負責教師留用。.若填寫內容較多可另紙附后。3.一題多名學生共用的,在設計內容、參數(shù)、要求等方面應有所區(qū)別。教研室主任: 指導教師:裴仰軍/伍建全/焦曉軍/陳應祖 2013年1月1日目 錄摘 要I課程設計任務書II第一章軟件需求分析說明書1第二章系統(tǒng)分析與設計22.1 軟件界面設計22.2 軟件的數(shù)據(jù)(結構)設計32.3 軟件的算法設計5第三章軟件的實現(xiàn)83.1核心功能設計分析83.2軟件界面10第四章軟件測試124.1測試數(shù)據(jù)124.2函數(shù)測試12第五章軟件使用說明書13致 謝14參考文獻15第一章 軟件需求分析說明書1.1系統(tǒng)設計的目的與意義隨著社會的進步和人們生活水平的提高,車輛作為交通工具,已經成為人們日常生活中不可缺少的一部分.大大增加了交通壓力,同時,也對車輛里的管理有了一個更高的要求.因此,需要一個車輛管理系統(tǒng)來對各種車輛的各種信息進行統(tǒng)一管理. 1.2 系統(tǒng)功能需求本系統(tǒng)有三個類:sedan類、truck類、bus類,存儲小轎車信息、卡車信息、大客車信息。1.2.1 添加車輛程序主要完成車輛信息的添加,要求編號唯一。如果添加了重復編號的物品時,則提示用戶數(shù)據(jù)添加重復并取消添加;如果車輛信息庫已滿,則提示不能再添加新的車輛信息。1.2.2查詢車輛可按照三種方式進行物品的查詢。按車輛制造公司查詢:按編號查詢:按類別查詢:如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。1.2.3顯示車輛信息庫可顯示當前車輛信息庫中所有的車輛信息。1.2.4編輯車輛可根據(jù)查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。1.2.5刪除車輛對已添加的車輛信息進行刪除。如果當前車輛信息庫為空,則提示“車輛信息庫為空!”并返回操作;否則輸入要刪除的編號,根據(jù)編號刪除該車輛信息,如果沒有找到該車輛信息,則提示“該編號不存在”。1.2.6統(tǒng)計功能輸出當前車輛信息庫中總車輛數(shù),以及按車輛類別,統(tǒng)計出當前車輛信息庫中各類別的車輛數(shù)并顯示。1.2.7保存車輛將當前系統(tǒng)中車輛信息存入文件中。1.2.8讀取車輛將保存在文件中的車輛信息讀入到當前系統(tǒng)中,以供用戶使用。第二章 系統(tǒng)分析與設計2.1 軟件界面設計2.1.1系統(tǒng)主界面車輛管理系統(tǒng)1 添加車輛 2 查詢車輛3 車庫 4 編輯車輛5 刪除車輛 6 統(tǒng)計車輛7 退出輸入操作: 圖2.1系統(tǒng)主界面程序運行后用戶要在當前界面做出選擇,添加選擇“1”,查詢選“2”,車庫選“3”,編輯選“4”,刪除選“5”,統(tǒng)計選“6”,退出選“7”,其他為無效選項。2.1.2添加車輛輸入添加數(shù)量: 選擇輸入第n輛車輛類別(退出輸0) 1 大客車 2 小轎車 3卡車 輸入車輛信息 圖2.2添加車輛界面選擇添加不同類型的車輛,將車存入不同的文件,輸入車輛的信息2.1.3查詢車輛 選擇輸入查詢方式(退出輸0) 1 公司查詢 2 編號 3類別 顯示查詢到的信息 圖2.3查詢車輛界面根據(jù)不同的要求輸入不同的查詢方式,顯示出不同的車輛信息2.1.4顯示所有車輛顯示所有信息編號:車牌號:公司: 圖2.4車庫界面把車庫中的所有車來那個信息輸出到屏幕上2.1.5編輯車輛輸入要編輯的車的編號顯示車原來的信息輸入車輛新的信息確認是否編輯顯示編輯結果 圖2.5編輯車輛界面輸入需要更改的車輛編號,顯示車輛原來的信息,然后輸入車輛的新的數(shù)據(jù),由于系統(tǒng)要求和限制車輛數(shù)據(jù)中的編號和類型無法更改!2.1.6刪除車輛輸入刪除車的編號顯示該車輛信息確認是否刪除顯示刪除結果 圖2.6刪除車輛界面2.1.7統(tǒng)計車輛顯示車庫車輛總的數(shù)目顯示卡車數(shù)目顯示轎車數(shù)目顯示客車數(shù)目 圖2.7統(tǒng)計數(shù)目界面2.2 軟件的數(shù)據(jù)(結構)設計2.2.1數(shù)據(jù)設計首先啟動程序檢測文件是否存在,若不存在自動創(chuàng)建文件。添加、編輯、刪除、顯示、統(tǒng)計都會用到文件操作。文件中每行信息都便是一輛車的信息建立一個文件,就要建立一個取值函數(shù),使其能夠將數(shù)據(jù)傳遞至數(shù)組中以便于數(shù)據(jù)統(tǒng)計和使用。取值函數(shù)有:bus* getbus()sedan* getsedan()truck* gettruck()程序中的每一個功能都用一個功能函數(shù)實現(xiàn)。功能函數(shù)有:int add()void collect()int delet()int edit ( )void search()void show()其中getbus、getsedan、gettruck用的是傳值方式實現(xiàn),是該程序的核心函數(shù)比如:bus* getbus()/*設置函數(shù)獲取客車庫中信息存儲于數(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類的設計1.基類設計: 2.客車類設計class bus:public car/*客車類,公有繼承汽車類*/ public: double maintenance_charges;/*基本維護費用*/ int apacity;/*大客車附加屬性載客量*/ void setall( ) void show()/*輸出所有數(shù)據(jù)*/ bus() ;class car/*汽車類*/public:string number;/編號string license_plat;/*車牌號碼*/string company;/汽車制造公司double time_buying;/購買時間string mode;/型號double ODO;/*總公里數(shù)*/double oil_consumption;/*油耗量/公里*/double oil_price;/*油價*/double road_tolt;/*養(yǎng)路費*/double all_cost;/*累計費用*/void getcar( );void show( )car( ) 3.轎車類 4.卡車類class sedan:public car/*小轎車類,公有繼承汽車類*/ public: double maintenance_charges;/*基本維護費用*/ int CTNS;/*小轎車附加屬性箱數(shù)*/ void setall() void show()/*輸出所有數(shù)據(jù)*/ sedan() ;class truck:public car/*卡車類,公有繼承汽車類*/ public: double maintenance_charges;/*基本維護費用*/ double load_weight;/*卡車附加屬性載重量*/void setall()void show()/*輸出所有數(shù)據(jù)*/ truck() ;2.3 軟件的算法設計2.3.1軟件的模塊圖進入主界面后,選擇你17你想要進行的功能,就可以使用你想要的功能結果,如圖2.8所示:車輛管理系統(tǒng)添加車輛查詢車輛編輯車輛車庫統(tǒng)計車輛刪除車輛客車轎車卡車編號類別制造公司 圖2.8 整體模塊圖2.3.2添加車輛模塊 根據(jù)對添加功能的要求分析,得到添加功能流程圖,如圖2.9所示:添加車輛選擇添加類型,輸入編號校驗編號是否重復Y輸入車輛信息添加成功N圖2.9添加流程圖 2.3.3查詢車輛模塊根據(jù)對查詢功能的要求分析,得到查詢功能流程圖,如圖2.10所示:查詢車輛選擇查詢方式讀取文件并全部輸出到屏幕讀取文件,檢查編號讀取所有文件,檢查所有車輛公司信息輸出最終信息到屏幕編號未找到讀取下一文件并檢查編號類別編號公司YN 圖2.10查詢流程圖2.3.4編輯車輛模塊根據(jù)對編輯功能的要求分析,得到編輯功能流程圖,如圖2.11所示:編輯車輛輸入要編輯的編號并輸入新編號檢查新編號是否存在輸入新的車輛信息YN圖2.11編輯流程圖2.3.5刪除車輛模塊根據(jù)對刪除功能的要求分析,得到刪除功能流程圖,如圖2.12所示: 刪除車輛信息輸入編號,并檢查是否存在輸出刪除結果圖2.12刪除流程圖2.3.6統(tǒng)計車輛模塊根據(jù)對統(tǒng)計功能的要求分析,得到統(tǒng)計功能流程圖,如圖2.13所示:統(tǒng)計車輛讀取文件,統(tǒng)計數(shù)目顯示結果圖2.13統(tǒng)計流程圖2.3.7顯示車輛模塊根據(jù)對顯示功能的要求分析,得到顯示功能流程圖,如圖2.14所示: 顯示車庫信息讀取所有文件顯示所有信息 圖2.14顯示流程圖第三章 軟件的實現(xiàn)3.1核心功能設計分析3.1.1傳值功能代碼如下:bus* getbus()/*設置函數(shù)獲取客車庫中信息存儲于數(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;闡述:首先讀取文件,計算文件中的信息個數(shù),由于每輛車有11個信息,最后整除11得到車庫中的車輛數(shù)目,然后再重新讀取文件,把每輛車的信息讀入數(shù)組,最后返回傳值!3.1.2刪除功能部分代碼如下:for(i=0;in1;i+)/*查找大客車信息庫*/ if(bi.number=str) k=1;/k=1表示車輛已找到j=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);闡述:輸入刪除編號,查找編號,如果找到顯示車輛信息,確認是否刪除!然后將該車后的車輛信息依次向前,再清空文件內容,最后將數(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刪除界面第四章 軟件測試4.1測試數(shù)據(jù) 表4.1測試數(shù)據(jù)編號車牌號制造公司購買時間型號總公里數(shù)油耗油價養(yǎng)路費累計費用特有屬性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東風3卡車4e+0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黃山健康職業(yè)學院《英語國家風土人情》2023-2024學年第一學期期末試卷
- 山東省泰安市泰山區(qū)2024年數(shù)學七年級第一學期期末學業(yè)水平測試試題含解析
- 貴州裝備制造職業(yè)學院《法國社會與文化》2023-2024學年第一學期期末試卷
- 曲靖市師宗縣城區(qū)學校遴選教師考試真題2024
- 2024年煙臺黃渤海新區(qū)社會事業(yè)發(fā)展局所屬事業(yè)單位招聘考試真題
- 白山市江源區(qū)事業(yè)單位招聘考試真題2024
- 2024年河北石家莊財經職業(yè)學院招聘考試真題
- 教育技術在國際教育領域的廣泛應用
- 教育科技創(chuàng)新項目AI輔助寫作教學的推廣
- 大數(shù)據(jù)時代的教育隱私權保障與應對策略
- 制冷操作證培訓教材制冷與空調設備運行操作作業(yè)培訓教程課件
- 湖南省長沙市望城區(qū)2020-2021學年八年級下學期期末考試歷史試卷
- 煙葉烘烤調制理論考試試題
- 下承式鋼桁梁橋結構設計及優(yōu)化 (跨度64m)
- DB23-T 3336-2022懸掛式單軌交通技術標準-(高清最新)
- 服刑人員心理健康教育課件
- DB32-T 2665-2014機動車維修費用結算規(guī)范-(高清現(xiàn)行)
- “麥語言”函數(shù)手冊
- 外協(xié)(外委)單位作業(yè)安全管理制度(附安全告知書)
- 【專項訓練】初二數(shù)學-全等三角形的綜合應用
- (完整版)《市場營銷學》說課課件
評論
0/150
提交評論