版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上北 華 航 天 工 業(yè) 學 院基于C+的面向?qū)ο蟪绦蛟O(shè)計實例實踐報告報 告 題 目 : 車輛管理系統(tǒng)設(shè)計 作者所在系部: 計算機科學與工程系 作者所在專業(yè): 網(wǎng)絡(luò)工程 作者所在班級: B12522 作 者 學 號 : 作 者 姓 名 : 妖YYYao 指導教師姓名: 李瑛 完 成 時 間 : 2013年6月 北華航天工業(yè)學院教務(wù)處制摘 要在當前的市場經(jīng)濟體制下,企業(yè)要想提高市場的競爭力,取得好的經(jīng)濟效益,不但要有好的產(chǎn)品,同時也要有好的管理方式,所以必須擁有一套完善的并且適合自身特點的信息化管理系統(tǒng),以實現(xiàn)企業(yè)降低成本、及時反饋市場信息、完善服務(wù)質(zhì)量、提高經(jīng)濟效益、分
2、析市場需求、制定銷售計劃和目標等管理目的。本文利用Visual C+6.0 編寫程序,實現(xiàn)了用戶對公司車輛的編號、車牌號、車輛制造公司、車輛購買時間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護費用、養(yǎng)路費、累計總費用等信息的管理。本系統(tǒng)主要實現(xiàn)了對車輛的添加,查詢,顯示,編輯,刪除,統(tǒng)計,存盤,讀出。主要運用了類的繼承等編程方法來實現(xiàn)對這些車輛的管理。已經(jīng)過全面的系統(tǒng)測試,能夠很好的運行,達到了預期的效果。關(guān)鍵詞:系統(tǒng)設(shè)計 車輛管理 類的繼承專心-專注-專業(yè)目 錄摘要第1章 緒 論11.1 課程設(shè)計的目的11.2 課程設(shè)計的背景及意義11.2.1課程設(shè)計的背景11.2.
3、2課程設(shè)計的意義11.3 課程設(shè)計環(huán)境1第2章 系統(tǒng)需求分析22.1問題描述22.2功能分析22.3問題的解決方案3第3章 系統(tǒng)設(shè)計431 數(shù)據(jù)設(shè)計4311 類設(shè)計4312 類之間的關(guān)系4313 函數(shù)設(shè)計432 結(jié)構(gòu)設(shè)計5321 系統(tǒng)流程圖5322 界面設(shè)計6第4章 系統(tǒng)實現(xiàn)841 類實現(xiàn)842 函數(shù)實現(xiàn)1043 主函數(shù)實現(xiàn)14第5章 系統(tǒng)測試1651 模塊測試1652 課程設(shè)計過程中遇到的問題18總結(jié)19致謝20參考文獻21第一章 緒論11 課程設(shè)計的目的(1) 要求學生能夠熟練掌握C+語言的基本知識和技能。(2) 加班掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法。(3) 能夠利用所學的基本知識和技
4、能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計問題。12 課程設(shè)計的背景和意義121 課程設(shè)計的背景1. 理論研究基礎(chǔ)(1)C+在C的基礎(chǔ)上增加了面向?qū)ο蟮臋C制。(2)充分運用面向?qū)ο髾C制中的繼承性與多態(tài)性實現(xiàn)函數(shù)的設(shè)計。2. 技術(shù)層面的支持運用系統(tǒng)為C+面向?qū)ο蟪绦蛟O(shè)計提供的各種設(shè)計方法和VC+系統(tǒng)提供的庫函數(shù)實現(xiàn)項目的開發(fā)。122 課程設(shè)計的意義通過設(shè)計此系統(tǒng),熟練掌握C+語言的基本知識和技能,基本掌握面向?qū)ο蟪绦蜷_發(fā)的基本思路和方法,培養(yǎng)學生的動手操作能力,提高自主學習能力,能夠利用所學的基本知識和技能,進行簡單應用程序設(shè)計。13 課程設(shè)計環(huán)境Visual C+6.0第二章 需求分析21 問題描述車輛管
5、理系統(tǒng)主要負責各種車輛的常規(guī)信息管理工作。 系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號、車牌號、車輛制造公司、車輛購買時間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護費用、養(yǎng)路費、累計總費用等信息。大客車還有載客量(最大載客數(shù))信息,小轎車還有箱數(shù)(兩廂或三廂)信息,卡車還有載重量等信息。 每臺車輛當月總費用= 油價* 耗油量/ 公里+ 基本維護費用。 基本維護費用:客車:2000 元/ 月,小轎車:1000 元/ 月,卡車:1500元/月 22 功能要求(1)添加車輛:主要完成車輛信息的添加,要求編號唯一。當添加了重復的編號時,則提示數(shù)據(jù)添加重復并取消
6、添加;當車輛信息庫已滿,則提示不能再添加新的數(shù)據(jù)。(2)查詢車輛: 可按照三種方式來查詢物品,分別為: 按車輛制造公司查詢:輸入車輛制造公司,輸出所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”; 按編號查詢:輸入編號,輸出所查詢的信息,若不存在該記錄,則提示“該編號不存在!”; 按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”。 (3)顯示車輛信息庫:輸出當前車輛信息庫中所有車輛信息,每條記錄占據(jù)一行。 (4)編輯功能:可根據(jù)查詢結(jié)果對相應的記錄進行修改,修改時注意編號的唯一性。 (5)刪除車輛:主要完成車輛信息的刪除。如果當前車輛信息庫為空,則
7、提示“車輛信息庫為空!”,并返回操作;否則,輸入要刪除的編號,根據(jù)編號刪除該車輛的記錄,如果該編號不在車輛信息庫庫中,則提示“該編號不存在”。 (6)統(tǒng)計信息:輸出當前車輛信息庫中總物品數(shù),以及按車輛類別,統(tǒng)計出當前車輛信息庫中各類別的物品數(shù)并顯示。 (7)車輛信息存盤:將當前程序中的車輛信息存入文件中。 (8)讀出車輛信息:從文件中將車輛信息讀入程序。 23 問題的解決方案根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: (1)應用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計; (2)分析系統(tǒng)中的各個實體及它們之間的關(guān)系; (3)根據(jù)問題描述,設(shè)計系統(tǒng)的類層次; (4)完成類層次中各
8、個類的描述; (5)完成類中各個成員函數(shù)的定義; (6)完成系統(tǒng)的應用模塊; (7)功能調(diào)試; (8)完成系統(tǒng)總結(jié)報告。第三章 系統(tǒng)設(shè)計31 數(shù)據(jù)設(shè)計311 類設(shè)計(1) 日期類Date (2) 車輛類Vehicle(3) 車輛管理類ManyVehicle312 類之間的關(guān)系(1) Date日期類:基類(2)Vehicle車輛類:公有繼承Date類(3)ManyVehicle車輛數(shù)組類:公有繼承Vehicle類313 函數(shù)設(shè)計(1) 添加函數(shù):添加一個新數(shù)據(jù)。如信息庫已滿,顯示“信息庫已滿!不能添加新的數(shù)據(jù)!”并退出添加;如編號重復則顯示“數(shù)據(jù)添加重復!取消添加!”并退出添加;如可以添加,提示
9、用戶“當前信息庫未滿!可以添加”,在輸入車輛信息后顯示“數(shù)據(jù)添加成功!”并保存當前添加數(shù)據(jù),信息庫車輛總數(shù)加一。(2) 查詢函數(shù):查詢車輛信息并顯示。系統(tǒng)提示按車輛制造公司查詢、按編號查詢、按類別查詢?nèi)N查詢方式,通過輸入序號選擇查詢方式。如果所查詢的制造公司,編號,或類別下沒有車輛信息,則提示用戶索要查詢的信息不存在,并退出查詢;如信息存在則顯示出所要查詢的車輛信息,顯示完成后提示用戶“查詢完畢!”,并退出查詢。(3) 顯示函數(shù):將所有車輛信息顯示出來。(4) 編輯函數(shù):修改已有的車輛信息。用戶輸入編號,若沒有該編號,提示用戶“該編號不存在!”并退出編輯;否則提示用戶“請重新輸入車輛信息”,
10、用戶輸入新的信息后,系統(tǒng)進行保存并退出編輯。編輯時不能對編號進行修改。(5) 刪除函數(shù):將已有車輛信息刪除。用戶輸入車輛編號,若沒有該編號,提示用戶“操作失??!該編號不存在!”并退出刪除;否則刪除該編號下的車輛信息,提示用戶“操作成功!車輛已從數(shù)據(jù)庫中刪除!”并保存,信息庫車輛總數(shù)減一。(6) 統(tǒng)計函數(shù):將信息庫內(nèi)的車輛信息分類。分別統(tǒng)計出大客車,小轎車,卡車的數(shù)量以及車輛總數(shù),并進行輸出。(7) 保存函數(shù):將信息保存為txt文件,保存成功后提示用戶“信息保存成功!”;否則顯示“信息文件保存失敗!”。(8) 讀出函數(shù):從txt文件中將車輛信息讀入程序。(9) 退出函數(shù):提示用戶退出系統(tǒng),顯示結(jié)
11、束界面。32 結(jié)構(gòu)設(shè)計調(diào)用公有繼承公有繼承Main函數(shù)Date(日期類)Vehicle(車輛類)ManyVehicele(車輛數(shù)組類)顯顯示顯添加顯查詢顯統(tǒng)計顯刪除顯存盤顯編輯顯讀出菜主菜單調(diào)用圖3-1.流程圖321 系統(tǒng)流程圖322 界面設(shè)計(1)歡迎界面:按Enter鍵清屏并顯示主菜單。圖3-2. 歡迎界面 (2)主菜單:通過輸入序號進行相應的操作。輸入0退出系統(tǒng)。圖3-3.主菜單圖3-4.查詢菜單 (3)查詢菜單:主菜單下的子菜單。在主菜單下輸入“2”,則進入本子菜單。通過輸入序號進行相應的查詢方式。第四章 系統(tǒng)實現(xiàn)41 類實現(xiàn)l 類名日期類 Datel 數(shù)據(jù)成員int year; in
12、t 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; /車輛編號,車牌號,制造公司Date time; /車輛購買時間string type; /車輛型號double kilometres; /總公里數(shù)Double oil, maintenance; /
13、耗油量/公里,基本維護費用double road;double money; /養(yǎng)路費,累計總費用int people; int box;int heavy; /載客量,箱數(shù),載重量l 成員函數(shù)string GetNum(); string GetMake(); string GetType(); /傳遞void Num(); /車輛編號輸入double Maintenance();double Money(); /基本維護費用,累計總費用void Input(); /輸入車輛信息void Show(); /輸出車輛信息void Show_txt(); /輸出文件信息friend ostrea
14、m & operator <<(ostream &,Vehicle &); /輸出表 4-2.Vehicle類void Set(string ,string ,string ,int ,int ,int ,string ,double ,double ,double ,double ,double ,int ,int ,int );表 4-1.Date類l 類名車輛數(shù)組類 ManyVehiclel 數(shù)據(jù)成員Vehicle vN;/定義車輛數(shù)組 int top;/數(shù)組內(nèi)信息數(shù)量l 成員函數(shù)ManyVehicle()top=0; /構(gòu)造 void Add();/
15、添加車輛void Find(); /查詢車輛 void Find1();/按制造公司查詢void Find2();/按編號查詢 void Find3(); /按類別查詢void Top();/首行格式 void Show();/顯示車輛信息庫void Edit();/編輯車輛 void Delete();/刪除車輛void Statistics();/統(tǒng)計信息 void Save(); /車輛信息存盤void Read();/讀出車輛信息 void Quit();/退出表 4-3.ManyVehicle類42 函數(shù)實現(xiàn)(1) 添加函數(shù):void ManyVehicle:Add()Vehicle
16、 v1;if(top>=N)cout<<"信息庫已滿!不能添加新的數(shù)據(jù)!"<<endl<<endl;return;cout<<"請輸入您想要添加的"v1.Vehicle:Num();for(int i=0;i<top;i+)if(v1.GetNum()=vi.Vehicle:GetNum()cout<<"數(shù)據(jù)添加重復!取消添加!"<<endl<<endl;return;cout<<"當前信息庫未滿!可以添加"
17、<<endl;v1.Vehicle:Input();vtop=v1;cout<<"數(shù)據(jù)添加成功!"<<endl<<endl;top+;ofstream outfile("車輛信息庫.txt",ios:out);for(int k=0;k<top;k+)outfile<<vk<<endl;outfile.close();運行結(jié)果:圖4-1.主菜單實現(xiàn)(2) 刪除函數(shù):void ManyVehicle:Delete()Vehicle v3;cout<<"請輸入
18、您所要刪除的"v3.Vehicle:Num();for(int i=0;i<top;i+)if(v3.Vehicle:GetNum()=vi.Vehicle:GetNum()break;if(i>=top)cout<<endl<<"操作失??!該編號不存在!"<<endl<<endl;return;Vehicle vt;for(int j=0;j<top;j+)if(v3.Vehicle:GetNum()=vj.Vehicle:GetNum()vj=vj+1;top-;cout<<endl
19、<<"操作成功!編號"<<v3.Vehicle:GetNum()<<"的車輛已從數(shù)據(jù)庫中刪除!"<<endl<<endl;ofstream outfile("車輛信息庫.txt",ios:out);for(int k=0;k<top;k+)outfile<<vk<<endl;outfile.close();運行結(jié)果:圖4-2.讀出函數(shù)實現(xiàn)圖4-3.刪除函數(shù)實現(xiàn)圖4-4.顯示當前信息庫(3) 退出函數(shù):void ManyVehicle:Quit()
20、cout<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"系統(tǒng)已退出!歡迎再次使用!"<<endl;cout<<""<<endl;cout<<""<<endl;cout<<endl;運行結(jié)果:圖4-5.退出系統(tǒng)43 主函數(shù)實現(xiàn) (1)程序代碼:int main()Welcome();if(cin.get()='
21、;n')system("cls");ManyVehicle m1;int i=0;while(1)Menu();cout<<endl;cout<<"請輸入您想操作的序號:"int n;cin>>n;cout<<"a"cout<<endl;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(
22、);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)運行結(jié)果:輸入不同的序號分別執(zhí)行不同的函數(shù),進行相應的操作。圖4-6.查詢函數(shù)實現(xiàn)第五章 系統(tǒng)測試51 模塊測試(1) 讀出數(shù)據(jù):將保存在文件內(nèi)的信息讀出。圖5-1.讀出數(shù)據(jù)(2) 添加數(shù)據(jù):添加一個重復的編號,系統(tǒng)顯示“數(shù)據(jù)添加重復!取消添加!”并退回主菜單。
23、圖5-2.添加數(shù)據(jù)(3) 查詢一個無效編號。圖5-3.查詢一個無效編號(4) 查詢卡車類下的所有車輛信息。圖5-4.按類別查詢(5) 統(tǒng)計當前信息。圖5-5.統(tǒng)計52 課程設(shè)計過程中遇到的問題(1) 刪除函數(shù):刪除車輛信息時,信息庫的車輛總數(shù)要減一,一開始運行的時候,出現(xiàn)了信息重復的現(xiàn)象;后來將數(shù)組中的每個信息復制到前面,再依次輸出,最后將數(shù)組中車輛總數(shù)top 減一,再運行,就正確了。(2) 清屏功能:一開始,將清屏寫到了每個功能函數(shù)的后面,執(zhí)行完函數(shù)買就自動清屏,執(zhí)行出來的內(nèi)容閃一下就被清屏了;后來將清屏寫到了歡迎界面的后面,按回車鍵,執(zhí)行清屏功能并進入主菜單,看起來清晰多了???結(jié)課程設(shè)計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實際能力的重要環(huán)節(jié)。是對學生實際工作能力的具體訓練和考察過程。隨著科學技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年四川中建三局裝飾有限公司招聘筆試參考題庫含答案解析
- 2025年國網(wǎng)電力科學研究院武漢南瑞有限責任公司招聘筆試參考題庫附帶答案詳解
- 2025-2030全球高壓有載分接開關(guān)行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國醫(yī)用 PTFE 管行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年度店鋪債權(quán)債務(wù)轉(zhuǎn)讓合同范本
- 2025年度店鋪租賃權(quán)轉(zhuǎn)讓及裝修設(shè)計咨詢服務(wù)合同3篇
- 二零二五年度車庫購置與物業(yè)管理合作協(xié)議4篇
- 2024鐵路貨運合同鐵路運輸貨物交付與驗收協(xié)議3篇
- 二零二五年度餐廚廢棄物處置與廢棄物處理設(shè)施改造合同3篇
- 2025年度個人與個人草原生態(tài)修復工程合同范本
- 南通市2025屆高三第一次調(diào)研測試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學一模試卷
- 2025中國人民保險集團校園招聘高頻重點提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應對法》及其應用案例
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- 銷售提成對賭協(xié)議書范本 3篇
- 勞務(wù)派遣招標文件范本
- EPC項目階段劃分及工作結(jié)構(gòu)分解方案
- 《跨學科實踐活動4 基于特定需求設(shè)計和制作簡易供氧器》教學設(shè)計
- 信息安全意識培訓課件
評論
0/150
提交評論