




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上北 華 航 天 工 業(yè) 學(xué) 院基于C+的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例實(shí)踐報(bào)告報(bào) 告 題 目 : 車輛管理系統(tǒng)設(shè)計(jì) 作者所在系部: 計(jì)算機(jī)科學(xué)與工程系 作者所在專業(yè): 網(wǎng)絡(luò)工程 作者所在班級: B12522 作 者 學(xué) 號 : 作 者 姓 名 : 妖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ì)效益、分
2、析市場需求、制定銷售計(jì)劃和目標(biāo)等管理目的。本文利用Visual C+6.0 編寫程序,實(shí)現(xiàn)了用戶對公司車輛的編號、車牌號、車輛制造公司、車輛購買時(shí)間、車輛型號(大客車、小轎車和卡車)、總公里數(shù)、耗油量/公里、基本維護(hù)費(fèi)用、養(yǎng)路費(fèi)、累計(jì)總費(fèi)用等信息的管理。本系統(tǒng)主要實(shí)現(xiàn)了對車輛的添加,查詢,顯示,編輯,刪除,統(tǒng)計(jì),存盤,讀出。主要運(yùn)用了類的繼承等編程方法來實(shí)現(xiàn)對這些車輛的管理。已經(jīng)過全面的系統(tǒng)測試,能夠很好的運(yùn)行,達(dá)到了預(yù)期的效果。關(guān)鍵詞:系統(tǒng)設(shè)計(jì) 車輛管理 類的繼承專心-專注-專業(yè)目 錄摘要第1章 緒 論11.1 課程設(shè)計(jì)的目的11.2 課程設(shè)計(jì)的背景及意義11.2.1課程設(shè)計(jì)的背景11.2.
3、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í)和技
4、能,解決簡單的面向?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 問題描述車輛管
5、理系統(tǒng)主要負(fù)責(zé)各種車輛的常規(guī)信息管理工作。 系統(tǒng)中的車輛主要有大客車、小轎車和卡車。每種車輛有車輛編號、車牌號、車輛制造公司、車輛購買時(shí)間、車輛型號(大客車、小轎車和卡車)、總公里數(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)添加車輛:主要完成車輛信息的添加,要求編號唯一。當(dāng)添加了重復(fù)的編號時(shí),則提示數(shù)據(jù)添加重復(fù)并取消
6、添加;當(dāng)車輛信息庫已滿,則提示不能再添加新的數(shù)據(jù)。(2)查詢車輛: 可按照三種方式來查詢物品,分別為: 按車輛制造公司查詢:輸入車輛制造公司,輸出所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”; 按編號查詢:輸入編號,輸出所查詢的信息,若不存在該記錄,則提示“該編號不存在!”; 按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”。 (3)顯示車輛信息庫:輸出當(dāng)前車輛信息庫中所有車輛信息,每條記錄占據(jù)一行。 (4)編輯功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號的唯一性。 (5)刪除車輛:主要完成車輛信息的刪除。如果當(dāng)前車輛信息庫為空,則
7、提示“車輛信息庫為空!”,并返回操作;否則,輸入要?jiǎng)h除的編號,根據(jù)編號刪除該車輛的記錄,如果該編號不在車輛信息庫庫中,則提示“該編號不存在”。 (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)完成類層次中各
8、個(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ù)!”并退出添加;如編號重復(fù)則顯示“數(shù)據(jù)添加重復(fù)!取消添加!”并退出添加;如可以添加,提示
9、用戶“當(dāng)前信息庫未滿!可以添加”,在輸入車輛信息后顯示“數(shù)據(jù)添加成功!”并保存當(dāng)前添加數(shù)據(jù),信息庫車輛總數(shù)加一。(2) 查詢函數(shù):查詢車輛信息并顯示。系統(tǒng)提示按車輛制造公司查詢、按編號查詢、按類別查詢?nèi)N查詢方式,通過輸入序號選擇查詢方式。如果所查詢的制造公司,編號,或類別下沒有車輛信息,則提示用戶索要查詢的信息不存在,并退出查詢;如信息存在則顯示出所要查詢的車輛信息,顯示完成后提示用戶“查詢完畢!”,并退出查詢。(3) 顯示函數(shù):將所有車輛信息顯示出來。(4) 編輯函數(shù):修改已有的車輛信息。用戶輸入編號,若沒有該編號,提示用戶“該編號不存在!”并退出編輯;否則提示用戶“請重新輸入車輛信息”,
10、用戶輸入新的信息后,系統(tǒng)進(jìn)行保存并退出編輯。編輯時(shí)不能對編號進(jìn)行修改。(5) 刪除函數(shù):將已有車輛信息刪除。用戶輸入車輛編號,若沒有該編號,提示用戶“操作失敗!該編號不存在!”并退出刪除;否則刪除該編號下的車輛信息,提示用戶“操作成功!車輛已從數(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é)
11、束界面。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)主菜單:通過輸入序號進(jìn)行相應(yīng)的操作。輸入0退出系統(tǒng)。圖3-3.主菜單圖3-4.查詢菜單 (3)查詢菜單:主菜單下的子菜單。在主菜單下輸入“2”,則進(jìn)入本子菜單。通過輸入序號進(jìn)行相應(yīng)的查詢方式。第四章 系統(tǒng)實(shí)現(xiàn)41 類實(shí)現(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; /車輛購買時(shí)間string type; /車輛型號double kilometres; /總公里數(shù)Double oil, maintenance; /
13、耗油量/公里,基本維護(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(); /車輛編號輸入double Maintenance();double Money(); /基本維護(hù)費(fèi)用,累計(jì)總費(fèi)用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)計(jì)信息 void Save(); /車輛信息存盤void Read();/讀出車輛信息 void Quit();/退出表 4-3.ManyVehicle類42 函數(shù)實(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ù)添加重復(fù)!取消添加!"<<endl<<endl;return;cout<<"當(dāng)前信息庫未滿!可以添加"
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();運(yùn)行結(jié)果:圖4-1.主菜單實(shí)現(xiàn)(2) 刪除函數(shù):void ManyVehicle:Delete()Vehicle v3;cout<<"請輸入
18、您所要?jiǎng)h除的"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();運(yùn)行結(jié)果:圖4-2.讀出函數(shù)實(shí)現(xiàn)圖4-3.刪除函數(shù)實(shí)現(xiàn)圖4-4.顯示當(dāng)前信息庫(3) 退出函數(shù):void ManyVehicle:Quit()
20、cout<<endl;cout<<""<<endl;cout<<""<<endl;cout<<"系統(tǒng)已退出!歡迎再次使用!"<<endl;cout<<""<<endl;cout<<""<<endl;cout<<endl;運(yùn)行結(jié)果:圖4-5.退出系統(tǒng)43 主函數(shù)實(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)運(yùn)行結(jié)果:輸入不同的序號分別執(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ù)的編號,系統(tǒng)顯示“數(shù)據(jù)添加重復(fù)!取消添加!”并退回主菜單。
23、圖5-2.添加數(shù)據(jù)(3) 查詢一個(gè)無效編號。圖5-3.查詢一個(gè)無效編號(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é)。是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024廣東廣州市弘盈置業(yè)有限公司招聘1人筆試參考題庫附帶答案詳解
- 2025年八氟戊醇項(xiàng)目合作計(jì)劃書
- 粵教版高中信息技術(shù)選修3教學(xué)設(shè)計(jì)-2.3.1 域名與域名系統(tǒng)
- 2025年湖北水利水電職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫及參考答案
- 第二單元《探秘物聯(lián)網(wǎng)》第7課 傳感器的應(yīng)用 教學(xué)設(shè)計(jì) 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級下冊
- 2025年廣西經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年湖北城市建設(shè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整
- 第二單元第10課《物聯(lián)系統(tǒng)原型搭建》-教學(xué)設(shè)計(jì) 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級下冊
- 2025年合肥信息技術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫必考題
- 2024年12月湖北十堰市丹江口市第二次事業(yè)單位公開招聘71人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年02月貴州省司法廳所屬事業(yè)單位公開招聘2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年01月福建省福利彩票發(fā)行中心片區(qū)管理員招考筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025至2030年中國單板電磁制動(dòng)器數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024年07月國新國證期貨有限責(zé)任公司(海南)2024年招考2名工作人員筆試歷年參考題庫附帶答案詳解
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對法》及其應(yīng)用案例
- JGJ46-2024 建筑與市政工程施工現(xiàn)場臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 2024年世界職業(yè)院校技能大賽高職組“關(guān)務(wù)實(shí)務(wù)組”賽項(xiàng)參考試題庫(含答案)
- 河北美術(shù)出版社小學(xué)六年級下冊書法練習(xí)指導(dǎo)教案
- 五下音樂《美麗的家鄉(xiāng)(簡譜、五線譜)》課件
- 2024年長沙職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 酒店熱水設(shè)計(jì)方案
評論
0/150
提交評論