




已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
北 華 航 天 工 業(yè) 學(xué) 院基于C+的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例實(shí)踐報(bào)告報(bào) 告 題 目 : 車輛管理系統(tǒng)設(shè)計(jì) 作者所在系部: 計(jì)算機(jī)科學(xué)與工程系 作者所在專業(yè): 網(wǎng)絡(luò)工程 作者所在班級(jí): B12522 作 者 學(xué) 號(hào) : 作 者 姓 名 : 妖YYYao 指導(dǎo)教師姓名: 李瑛 完 成 時(shí) 間 : 2013年6月 北華航天工業(yè)學(xué)院教務(wù)處制摘 要在當(dāng)前的市場經(jīng)濟(jì)體制下,企業(yè)要想提高市場的競爭力,取得好的經(jīng)濟(jì)效益,不但要有好的產(chǎn)品,同時(shí)也要有好的管理方式,所以必須擁有一套完善的并且適合自身特點(diǎn)的信息化管理系統(tǒng),以實(shí)現(xiàn)企業(yè)降低成本、及時(shí)反饋市場信息、完善服務(wù)質(zhì)量、提高經(jīng)濟(jì)效益、分析市場需求、制定銷售計(jì)劃和目標(biāo)等管理目的。本文利用Visual C+6.0 編寫程序,實(shí)現(xiàn)了用戶對(duì)公司車輛的編號(hào)、車牌號(hào)、車輛制造公司、車輛購買時(shí)間、車輛型號(hào)(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護(hù)費(fèi)用、養(yǎng)路費(fèi)、累計(jì)總費(fèi)用等信息的管理。本系統(tǒng)主要實(shí)現(xiàn)了對(duì)車輛的添加,查詢,顯示,編輯,刪除,統(tǒng)計(jì),存盤,讀出。主要運(yùn)用了類的繼承等編程方法來實(shí)現(xiàn)對(duì)這些車輛的管理。已經(jīng)過全面的系統(tǒng)測試,能夠很好的運(yùn)行,達(dá)到了預(yù)期的效果。關(guān)鍵詞:系統(tǒng)設(shè)計(jì) 車輛管理 類的繼承目 錄摘要第1章 緒 論11.1 課程設(shè)計(jì)的目的11.2 課程設(shè)計(jì)的背景及意義11.2.1課程設(shè)計(jì)的背景11.2.2課程設(shè)計(jì)的意義11.3 課程設(shè)計(jì)環(huán)境1第2章 系統(tǒng)需求分析22.1問題描述22.2功能分析22.3問題的解決方案3第3章 系統(tǒng)設(shè)計(jì)431 數(shù)據(jù)設(shè)計(jì)4311 類設(shè)計(jì)4312 類之間的關(guān)系4313 函數(shù)設(shè)計(jì)432 結(jié)構(gòu)設(shè)計(jì)5321 系統(tǒng)流程圖5322 界面設(shè)計(jì)6第4章 系統(tǒng)實(shí)現(xiàn)841 類實(shí)現(xiàn)842 函數(shù)實(shí)現(xiàn)1043 主函數(shù)實(shí)現(xiàn)14第5章 系統(tǒng)測試1651 模塊測試1652 課程設(shè)計(jì)過程中遇到的問題18總結(jié)19致謝20參考文獻(xiàn)21第一章 緒論11 課程設(shè)計(jì)的目的(1) 要求學(xué)生能夠熟練掌握C+語言的基本知識(shí)和技能。(2) 加班掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法。(3) 能夠利用所學(xué)的基本知識(shí)和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。12 課程設(shè)計(jì)的背景和意義121 課程設(shè)計(jì)的背景1. 理論研究基礎(chǔ)(1)C+在C的基礎(chǔ)上增加了面向?qū)ο蟮臋C(jī)制。(2)充分運(yùn)用面向?qū)ο髾C(jī)制中的繼承性與多態(tài)性實(shí)現(xiàn)函數(shù)的設(shè)計(jì)。2. 技術(shù)層面的支持運(yùn)用系統(tǒng)為C+面向?qū)ο蟪绦蛟O(shè)計(jì)提供的各種設(shè)計(jì)方法和VC+系統(tǒng)提供的庫函數(shù)實(shí)現(xiàn)項(xiàng)目的開發(fā)。122 課程設(shè)計(jì)的意義通過設(shè)計(jì)此系統(tǒng),熟練掌握C+語言的基本知識(shí)和技能,基本掌握面向?qū)ο蟪绦蜷_發(fā)的基本思路和方法,培養(yǎng)學(xué)生的動(dòng)手操作能力,提高自主學(xué)習(xí)能力,能夠利用所學(xué)的基本知識(shí)和技能,進(jìn)行簡單應(yīng)用程序設(shè)計(jì)。13 課程設(shè)計(jì)環(huán)境Visual C+6.0第二章 需求分析21 問題描述車輛管理系統(tǒng)主要負(fù)責(zé)各種車輛的常規(guī)信息管理工作。 系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號(hào)、車牌號(hào)、車輛制造公司、車輛購買時(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)用。 基本維護(hù)費(fèi)用:客車:2000 元/ 月,小轎車:1000 元/ 月,卡車:1500元/月 22 功能要求(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ù)并顯示。 (7)車輛信息存盤:將當(dāng)前程序中的車輛信息存入文件中。 (8)讀出車輛信息:從文件中將車輛信息讀入程序。 23 問題的解決方案根據(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)告。第三章 系統(tǒng)設(shè)計(jì)31 數(shù)據(jù)設(shè)計(jì)311 類設(shè)計(jì)(1) 日期類Date (2) 車輛類Vehicle(3) 車輛管理類ManyVehicle312 類之間的關(guān)系(1) Date日期類:基類(2)Vehicle車輛類:公有繼承Date類(3)ManyVehicle車輛數(shù)組類:公有繼承Vehicle類313 函數(shù)設(shè)計(jì)(1) 添加函數(shù):添加一個(gè)新數(shù)據(jù)。如信息庫已滿,顯示“信息庫已滿!不能添加新的數(shù)據(jù)!”并退出添加;如編號(hào)重復(fù)則顯示“數(shù)據(jù)添加重復(fù)!取消添加!”并退出添加;如可以添加,提示用戶“當(dāng)前信息庫未滿!可以添加”,在輸入車輛信息后顯示“數(shù)據(jù)添加成功!”并保存當(dāng)前添加數(shù)據(jù),信息庫車輛總數(shù)加一。(2) 查詢函數(shù):查詢車輛信息并顯示。系統(tǒng)提示按車輛制造公司查詢、按編號(hào)查詢、按類別查詢?nèi)N查詢方式,通過輸入序號(hào)選擇查詢方式。如果所查詢的制造公司,編號(hào),或類別下沒有車輛信息,則提示用戶索要查詢的信息不存在,并退出查詢;如信息存在則顯示出所要查詢的車輛信息,顯示完成后提示用戶“查詢完畢!”,并退出查詢。(3) 顯示函數(shù):將所有車輛信息顯示出來。(4) 編輯函數(shù):修改已有的車輛信息。用戶輸入編號(hào),若沒有該編號(hào),提示用戶“該編號(hào)不存在!”并退出編輯;否則提示用戶“請(qǐng)重新輸入車輛信息”,用戶輸入新的信息后,系統(tǒng)進(jìn)行保存并退出編輯。編輯時(shí)不能對(duì)編號(hào)進(jìn)行修改。(5) 刪除函數(shù):將已有車輛信息刪除。用戶輸入車輛編號(hào),若沒有該編號(hào),提示用戶“操作失??!該編號(hào)不存在!”并退出刪除;否則刪除該編號(hào)下的車輛信息,提示用戶“操作成功!車輛已從數(shù)據(jù)庫中刪除!”并保存,信息庫車輛總數(shù)減一。(6) 統(tǒng)計(jì)函數(shù):將信息庫內(nèi)的車輛信息分類。分別統(tǒng)計(jì)出大客車,小轎車,卡車的數(shù)量以及車輛總數(shù),并進(jìn)行輸出。(7) 保存函數(shù):將信息保存為txt文件,保存成功后提示用戶“信息保存成功!”;否則顯示“信息文件保存失敗!”。(8) 讀出函數(shù):從txt文件中將車輛信息讀入程序。(9) 退出函數(shù):提示用戶退出系統(tǒng),顯示結(jié)束界面。32 結(jié)構(gòu)設(shè)計(jì)調(diào)用公有繼承公有繼承Main函數(shù)Date(日期類)Vehicle(車輛類)ManyVehicele(車輛數(shù)組類)顯顯示顯添加顯查詢顯統(tǒng)計(jì)顯刪除顯存盤顯編輯顯讀出菜主菜單調(diào)用圖3-1.流程圖321 系統(tǒng)流程圖322 界面設(shè)計(jì)(1)歡迎界面:按Enter鍵清屏并顯示主菜單。圖3-2. 歡迎界面 (2)主菜單:通過輸入序號(hào)進(jìn)行相應(yīng)的操作。輸入0退出系統(tǒng)。圖3-3.主菜單圖3-4.查詢菜單 (3)查詢菜單:主菜單下的子菜單。在主菜單下輸入“2”,則進(jìn)入本子菜單。通過輸入序號(hào)進(jìn)行相應(yīng)的查詢方式。第四章 系統(tǒng)實(shí)現(xiàn)41 類實(shí)現(xiàn)l 類名日期類 Datel 數(shù)據(jù)成員int year; int month; int day; /年,月,日l 成員函數(shù)int GetYear(); int GetMonth(); int GetDay(); /返回 year,month,dayvoid Input_Date(); /輸入日期void Show_Date(); /輸出日期l 類名車輛類 Vehiclel 數(shù)據(jù)成員string num; string plate; string make; /車輛編號(hào),車牌號(hào),制造公司Date time; /車輛購買時(shí)間string type; /車輛型號(hào)double kilometres; /總公里數(shù)Double oil, maintenance; /耗油量/公里,基本維護(hù)費(fèi)用double road;double money; /養(yǎng)路費(fèi),累計(jì)總費(fèi)用int people; int box;int heavy; /載客量,箱數(shù),載重量l 成員函數(shù)string GetNum(); string GetMake(); string GetType(); /傳遞void Num(); /車輛編號(hào)輸入double Maintenance();double Money(); /基本維護(hù)費(fèi)用,累計(jì)總費(fèi)用void Input(); /輸入車輛信息void Show(); /輸出車輛信息void Show_txt(); /輸出文件信息friend ostream & operator =N)cout信息庫已滿!不能添加新的數(shù)據(jù)!endlendl;return;cout請(qǐng)輸入您想要添加的;v1.Vehicle:Num();for(int i=0;itop;i+)if(v1.GetNum()=vi.Vehicle:GetNum()cout數(shù)據(jù)添加重復(fù)!取消添加!endlendl;return;cout當(dāng)前信息庫未滿!可以添加endl;v1.Vehicle:Input();vtop=v1;cout數(shù)據(jù)添加成功!endlendl;top+;ofstream outfile(車輛信息庫.txt,ios:out);for(int k=0;ktop;k+)outfilevkendl;outfile.close();運(yùn)行結(jié)果:圖4-1.主菜單實(shí)現(xiàn)(2) 刪除函數(shù):void ManyVehicle:Delete()Vehicle v3;cout請(qǐng)輸入您所要?jiǎng)h除的;v3.Vehicle:Num();for(int i=0;i=top)coutendl操作失?。≡摼幪?hào)不存在!endlendl;return;Vehicle vt;for(int j=0;jtop;j+)if(v3.Vehicle:GetNum()=vj.Vehicle:GetNum()vj=vj+1;top-;coutendl操作成功!編號(hào)v3.Vehicle:GetNum()的車輛已從數(shù)據(jù)庫中刪除!endlendl;ofstream outfile(車輛信息庫.txt,ios:out);for(int k=0;ktop;k+)outfilevkendl;outfile.close();運(yùn)行結(jié)果:圖4-2.讀出函數(shù)實(shí)現(xiàn)圖4-3.刪除函數(shù)實(shí)現(xiàn)圖4-4.顯示當(dāng)前信息庫(3) 退出函數(shù):void ManyVehicle:Quit()coutendl;coutendl;coutendl;cout系統(tǒng)已退出!歡迎再次使用!endl;coutendl;coutendl;coutendl;運(yùn)行結(jié)果:圖4-5.退出系統(tǒng)43 主函數(shù)實(shí)現(xiàn) (1)程序代碼:int main()Welcome();if(cin.get()=n)system(cls);ManyVehicle m1;int i=0;while(1)Menu();coutendl;coutn;couta;coutendl;switch(n)case 1:m1.Add();break;case 2:m1.Find();break;case 3:m1.Show();break;case 4:m1.Edit();break;case 5:m1.Delete();break;case 6:m1.Statistics();break;case 7:m1.Save();break;case 8:m1.Read();break;case 0:m1.Quit();return 0;default:cout輸入不合法!endl;break;(2)運(yùn)行結(jié)果:輸入不同的序號(hào)分別執(zhí)行不同的函數(shù),進(jìn)行相應(yīng)的操作。圖4-6.查詢函數(shù)實(shí)現(xiàn)第五章 系統(tǒng)測試51 模塊測試(1) 讀出數(shù)據(jù):將保存在文件內(nèi)的信息讀出。圖5-1.讀出數(shù)據(jù)(2) 添加數(shù)據(jù):添加一個(gè)重復(fù)的編號(hào),系統(tǒng)顯示“數(shù)據(jù)添加重復(fù)!取消添加!”并退回主菜單。圖5-2.添加數(shù)據(jù)(3) 查詢一個(gè)無效編號(hào)。圖5-3.查詢一個(gè)無效編號(hào)(4) 查詢卡車類下的所有車輛信息。圖5-4.按類別查詢(5) 統(tǒng)計(jì)當(dāng)前信息。圖5-5.統(tǒng)計(jì)52 課程設(shè)計(jì)過程中遇到的問題(1) 刪除函數(shù):刪除車輛信息時(shí),信息庫的車輛總數(shù)要減一,一開始運(yùn)行的時(shí)候,出現(xiàn)了信息重復(fù)的現(xiàn)象;后來將數(shù)組中的每個(gè)信息復(fù)制到前面,再依次輸出,最后將數(shù)組中車輛總數(shù)top 減一,再運(yùn)行,就正確了。(2) 清屏功能:一開始,將清屏寫到了每個(gè)功能函數(shù)的后面,執(zhí)行完函數(shù)買就自動(dòng)清屏,執(zhí)行出來的內(nèi)容閃一下就被清屏了;后來將清屏寫到了歡迎界面的后面,按回車鍵,執(zhí)行清屏功能并進(jìn)入主菜單,看起來清晰多了???結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)際能力的重要環(huán)節(jié)。是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說無處不在。因此對(duì)于二十一世紀(jì)的大學(xué)生來說,掌握計(jì)算機(jī)開發(fā)技術(shù)十分重要。我的題目是車輛管理系統(tǒng)的設(shè)計(jì),對(duì)于我們這些新手來說,這是很大的考驗(yàn),所以怎樣才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn),怎樣才能讓自己的程序更加直觀簡練,怎樣才能讓程序的運(yùn)行更加人性化,這都是在課程設(shè)計(jì)中必須考慮的問題。很感謝學(xué)校和老師給了我們一個(gè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T型連接高強(qiáng)螺栓受拉承載力設(shè)計(jì)方法及可靠性研究
- 基于TPACK理論的師范生人工智能素養(yǎng)現(xiàn)狀及培養(yǎng)策略研究
- 編制會(huì)議材料培訓(xùn)
- 貓和老鼠手繪課件設(shè)計(jì)指南
- 體外診斷試劑性能指標(biāo)
- 領(lǐng)航職業(yè)英語課件
- 顱腦CTA技術(shù)課件
- 預(yù)防踩踏事故班會(huì)課件
- 預(yù)防毒品安全知識(shí)課件
- 預(yù)防小學(xué)生溺水的課件
- 2025全員安全生產(chǎn)責(zé)任制范本
- 林業(yè)行政執(zhí)法培訓(xùn)
- 電大考試試題及答案商法
- 廣西壯族自治區(qū)柳州市上進(jìn)聯(lián)考2024-2025學(xué)年高一下學(xué)期6月期末聯(lián)合考試數(shù)學(xué)試題(含答案)
- 八年級(jí)暑假前家長會(huì)課件
- 福建省南平市2024-2025學(xué)年八年級(jí)下學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2025年河南省高考地理試卷真題(含答案)
- 2025屆廣東省惠州惠城區(qū)五校聯(lián)考英語八下期末檢測試題含答案
- 工廠績效計(jì)件方案(3篇)
- 2025年湖南省中考?xì)v史試卷真題(含答案)
- 高中英語必背3500單詞表完整版
評(píng)論
0/150
提交評(píng)論