車輛管理系統課程設計報告(C++)_第1頁
車輛管理系統課程設計報告(C++)_第2頁
車輛管理系統課程設計報告(C++)_第3頁
車輛管理系統課程設計報告(C++)_第4頁
已閱讀5頁,還剩20頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.課程設計報告課程設計題目:車輛管理系統學生:ABC專業:軟件工程班級: 16*指導教師: * 祥 * 康(完整源代碼和注釋在我上次的另一篇文章里)2017年 6月 18日word 資料.東華理工大學課程設計評分表學生: A班級 16*學號: 20162018*課程設計題目:項目容滿分實 評能結合所學課程知識、有一定的能力訓練。符合選題要求10選(5 人一題)題工作量適中,難易度合理10能能熟練應用所學知識,有一定查閱文獻及運用文獻資料能力10力理論依據充分,數據準確,公式推導正確10水能應用計算機軟件進行編程、資料搜集錄入、加工、排版、10制圖等平能體現創造性思維,或有獨特見解10總體設計正

2、確、合理,各項技術指標符合要求。10成說明書綜述簡練完整,概念清楚、立論正確、技術用語準確、結論嚴謹合理;分析處理科學、條理分明、語言流暢、結構10果嚴謹、版面清晰質設計說明書欄目齊全、合理,符號統一、編號齊全。格式、10量繪圖、表格、插圖等規準確,符合國家標準有一定篇幅,字符數不少于 500010總分100word 資料.指導教師評語:指導教師簽名:年月日格式要求:中文正文使用五號字體,英文及代碼使用小五號字體東華理工大學課程設計評分表學生: B班級 16*學號: 20162018*課程設計題目:項目容滿分實 評能結合所學課程知識、有一定的能力訓練。符合選題要求10選(5 人一題)題工作量適

3、中,難易度合理10能能熟練應用所學知識,有一定查閱文獻及運用文獻資料能力10word 資料.力理論依據充分,數據準確,公式推導正確10水能應用計算機軟件進行編程、資料搜集錄入、加工、排版、10制圖等平能體現創造性思維,或有獨特見解10總體設計正確、合理,各項技術指標符合要求。10成說明書綜述簡練完整,概念清楚、立論正確、技術用語準確、結論嚴謹合理;分析處理科學、條理分明、語言流暢、結構10果嚴謹、版面清晰質設計說明書欄目齊全、合理,符號統一、編號齊全。格式、量10繪圖、表格、插圖等規準確,符合國家標準有一定篇幅,字符數不少于 500010總分100指導教師評語:指導教師簽名:年月日格式要求:中

4、文正文使用五號字體,英文及代碼使用小五號字體word 資料.東華理工大學課程設計評分表學生: C班級 16*學號: 20162018*課程設計題目:項目容滿分實 評能結合所學課程知識、有一定的能力訓練。符合選題要求10選(5 人一題)題工作量適中,難易度合理10能能熟練應用所學知識,有一定查閱文獻及運用文獻資料能力10力理論依據充分,數據準確,公式推導正確10水能應用計算機軟件進行編程、資料搜集錄入、加工、排版、10制圖等平能體現創造性思維,或有獨特見解10總體設計正確、合理,各項技術指標符合要求。10成說明書綜述簡練完整,概念清楚、立論正確、技術用語準確、結論嚴謹合理;分析處理科學、條理分明

5、、語言流暢、結構10果嚴謹、版面清晰質設計說明書欄目齊全、合理,符號統一、編號齊全。格式、10量繪圖、表格、插圖等規準確,符合國家標準有一定篇幅,字符數不少于 500010總分100word 資料.指導教師評語:指導教師簽名:年月日格式要求:中文正文使用五號字體,英文及代碼使用小五號字體【目錄】 03 03 04 04word 資料. 05 06 09 10 15 16 17一、題目:車輛管理系統設計二、課程設計任務:車輛管理系統主要負責各種車輛的常規信息管理工作。系統中的車輛主要有大客車、小轎車和卡車。 每種車輛有車輛編號、 車牌號、 車輛制造公司、 車輛購買時間、 車輛型號(大客車、小轎車

6、和卡車) 、總公里數、耗油量 / 公里、基本維護費用、養路費、累計總費用等信息。大客車還有載客量(最大載客數)信息,小轎車還有箱數(兩廂或三廂)信息,卡車還有載重量等信息。每臺車輛當月總費用=油價 * 耗油量 / 公里 +基本維護費用。基本維護費用:客車: 2000 元 / 月,小轎車:1000 元 / 月,卡車: 1500 元/ 月。( 1)添加車輛:主要完成車輛信息的添加,要求編號唯一。當添加了重復的編號時,則提示數據添加重復并取消添加;當車輛信息庫已滿,則提示不能再添加新的數據。( 2)查詢車輛:可按照三種方式來查詢物品,分別為:按車輛制造公司查詢:輸入車word 資料.輛制造公司,輸出

7、所查詢的信息,若不存在該記錄,則提示“該車輛制造公司不存在!”;按編號查詢:輸入編號,輸出所查詢的信息,若不存在該記錄,則提示“該編號不存在!”;按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有車輛!”;( 3)顯示車輛信息庫:輸出當前車輛信息庫中所有車輛信息,每條記錄占據一行。( 4)編輯功能:可根據查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。( 5)刪除車輛:主要完成車輛信息的刪除。如果當前車輛信息庫為空,則提示“車輛信息庫為空! ”,并返回操作;否則,輸入要刪除的編號,根據編號刪除該車輛的記錄,如果該編號不在車輛信息庫庫中,則提示“該編號不存在”。( 6

8、)統計信息:輸出當前車輛信息庫中總物品數,以及按車輛類別,統計出當前車輛信息庫中各類別的物品數并顯示。( 7)車輛信息存盤:將當前程序中的車輛信息存入文件中。( 8)讀出車輛信息:從文件中將車輛信息讀入程序。要求:1、用 C+語言實現程序設計;2、利用類和對象數組實現信息的數據結構設計;3、系統的各個功能模塊要求用函數的形式實現;4、界面友好(良好的人機交互),程序加必要的注釋。三、數據結構Carsword 資料.int num;/編號int pnum;/車牌號char made20;/制造公司doubletime;/購買時間(多少個月)int type;/型號 (1- 大客車 ,2- 小轎車

9、,3- 卡車)double km;/總公里數int cost;/基本維護費用int RoadFee;/養路費double OilKm;/耗油量 / 公里double AllCount; /累計總費用friend Manager; /聲明為友元Managerint peopleN; /最大載客量(大客車)int coachN;/箱數(小轎車)int weightN;/載重量(卡車)int top;/記錄當前車輛數量word 資料.Manager()top = 0;/車輛初始值為 0void add();/添加車輛void search();/查詢車輛void show();/顯示車輛信息庫voi

10、d edit();/編輯功能void delet();/刪除車輛void sum();/統計信息void write();/車輛信息存盤void read();/讀出車輛信息void jiemian();/總界面四、模塊劃分車輛管理系統車車車車車輛輛輛輛輛退信信信信信出息息息息息系添查顯編刪統加詢示輯除word 資料.五、程序的總體設計·類的設計:class Carspublic:int num;/編號int pnum;/車牌號char made20;/制造公司double time; /購買時間(多少個月)int type;/型號 (1- 大客車 ,2- 小轎車 ,3- 卡車 )d

11、ouble km;/總公里數int cost;/基本維護費用int RoadFee;/養路費double OilKm;/耗油量 / 公里double AllCount;/累計總費用;class Managerprivate:Cars carN;int peopleN;/最大載客量(大客車)int coachN;/箱數(小轎車)int weightN;/載重量(卡車)int top;/記錄當前車輛數量public:Manager()top = 0;/車輛初始值為 0void add();/添加車輛void search();/查詢車輛void show();/顯示車輛信息庫void edit()

12、;/編輯功能void delet();/刪除車輛void sum();/統計信息void read();/讀出車輛信息void write();/車輛信息存盤void jiemian(); /總界面;·函數設計:在管理類中定義了以下函數,功能標注在其后void add();/用于添加車輛信息,進行信息錄入;void search(); /用于查詢車輛信息;void show();/顯示車輛信息庫void edit(); /編輯功能word 資料.void delet();/刪除車輛void sum();/統計信息void read();/讀出車輛信息void write();/車輛信

13、息存盤void jiemian(); /總界面六、流程圖·車輛信息添加·車輛信息查詢word 資料.·車輛信息顯示·車輛信息編輯word 資料.·車輛信息刪除word 資料.七、主要源程序代碼由于程序代碼功能多,此處只節選了添加車輛這一功能的代碼,程序完整源代碼另附文件/查詢車輛/void Manager:search()int choose,m,n,a = 0;char i,t20;cout<<"*"<<endl;cout<<"* 1.按車輛制造公司查詢*"<&

14、lt;endl;cout<<"* 2.按編號查詢*"<<endl;cout<<"* 3.按類別查詢*"<<endl;cout<<"*"<<endl;cout<<"請輸入你的選項:"while(1)cin>>i;cout<<endl;if(i='1'|i='2'|i='3')break;cout<<" 輸入錯誤 , 重輸: "if(

15、i = '1')cout<<" 請輸入需查詢車輛的制造公司:"cin>>t;else if(i = '2')cout<<" 請輸入需查詢的車輛編號:"cin>>n;else if(i = '3')cout<<" 請輸入需查詢的車輛型號(1- 大客車 ,2- 小轎車 ,3- 卡車 ) : "cin>>m;for(int j = 0; j < top; j+)if(strcmp(carj.made, t) = 0|

16、carj.num = n|carj.type = m)cout<<"編號 車牌號制造商購買時間型號特性總公里養路費維護費油耗總費用 "<<endl;break;for( j = 0; j < top; j+)if(strcmp(carj.made, t) = 0|carj.num = n|carj.type = m)cout<<setw(4)<<carj.num<<setw(7)<<carj.pnum<<setw(7)<<carj.made<<setw(7)&l

17、t;<carj.time;if(carj.type = 1 )cout<<setw(9)<<"大客車 "<<setw(8)<<"載客量 :"<<peoplej;word 資料.else if(carj.type = 2 )cout<<setw(9)<<"小轎車 "<<setw(9)<<"車廂數 : "<<coachj;elsecout<<setw(8)<<"

18、卡 車 "<<setw(9)<<"載重量 :"<<weightj;cout<<setw(6)<<carj.km<<setw(7)<<carj.RoadFee<<setw(7)<<carj.cost<<setw(7)<<carj.OilKm<<setw(8)<<carj.AllCount<<endl;a+;if(a != 0)cout<<" 是否進行修改 ?(1- 是,2- 否

19、) :"cin>>choose;if(choose = 1)edit();elseif(i='1') cout<<"車輛制造公司不存在!"<<endl;if(i='2') cout<<"車輛編號不存在!"<<endl;else if (i='3') cout<<"車輛型號不存在!"<<endl;cout<<" 按任意鍵返回功能主界面"<<endl;ch

20、ar zz=getch();jiemian();八、測試情況及調試中問題與解決方案以下幾點分別為我們在課程設計期間測試情況及調試中問題與解決方案1. 顯示車輛出現問題1) 問題:養路費數據有問題以及功能3 中顯示車輛信息庫要求每條記錄占據一行,當前程序顯示沒有達到要求(圖1.1 )2) 解決方案:發現代碼分別在169 201 233 282行由于復制出現問題,將top改為 j 后養路費數據正常(圖1.2 ),使用 setw 設置域寬來控制顯示將每條記錄占據一行,修正后的正確顯示(圖1.3 )word 資料.圖 1.1圖 1.2圖 1.32. 文件無法自動創建問題1) 問題:這是開始編的讀取文件

21、功能,當 D 盤根目錄存在 a.txt 文件時,功能運行正常。但當 D 盤根目錄不存在 a.txt 文件時,會出現如下問題(即編譯沒問題,但運行時會停止工作,如圖2.1- 圖 2.2 )word 資料.圖 2.1圖 2.22)解決方案:這是修改后的讀取文件功能函數(圖2.3 ),函數增加了判斷“是否能順利讀取文件”功能。如果不能,則創建a.txt文件再進行讀取圖 2.33. 刪除車輛問題1)問題:這個問題是我們課程設計中遇到的最大的問題,困擾了我們很久,當車輛數量足夠時,能成功刪除車輛(圖3.1-3.3 ),當車輛刪除到最后1 輛時,界面顯示剩余未發生改變,而存取的文檔中車輛信息已經刪除(圖3

22、.4-3.6 )。word 資料.圖 3.1圖 3.2圖 3.3圖 3.4圖 3.5word 資料.圖 3.62)解決方案:將代碼中的刪除功能函數中算法進行改進,修正后即使車輛只有一輛也能刪除,不會再出現1)中問題(圖 3.7-3.8 )圖 3.7圖 3.8九、實驗小結在我們課程設計的任務書中, 說明了課程設計的目的是根據軟件工程的方法與流程,在相對集中的實訓教學時間, 通過一個功能較完整的小型應用系統的設計與開發,深入復習并進一步掌握面向對象的程序設計思想與方法。同時,培養word 資料.我們采用面向對象的方法分析問題與解決問題的能力及團體組織與協作能力。這次課程設計是我們小組三個人歷經一個

23、多星期左右共同完成的,通過這一個多星期的學習、合作、交流,我們合作完成了車輛管理系統的程序設計。我們小組的三個人都是第一次做課程設計,面對我們所選的課程設計任務,一開始有點摸不著頭腦,但在不斷的分工,查找資料,合作交流后,我們逐步實現車輛管理系統中的功能要求。因為我們的小組長在課程設計之前就開始查閱資料,完成了程序的總體設計, 在組長的帶領下我們小組完成了這次任務。在這次課程設計中,我們也遇到了很多問題, 當我們完成了程序的大體設計以及函數功能實現后,發現在顯示功能這部分出現問題,在我們查閱書本后, 使用了我們不熟悉的一個操作符 setw(int n)來設置域寬,解決了顯示問題,但由于界面受限

24、制,為保證每條記錄占據一行, 導致輸入的數據受到一些限制。在這之后,我們解決了一個困擾我們很久的數據問題,顯示界面中養路費數據始終為0,雖然我們小組有分工,每個人的能力也不同, 但是在我們三個人集體討論這個問題后,我們找到了問題的根源并解決了這個問題,也正是這個問題, 讓我們體會到了合作的意義以及團隊的力量。 除此之外,在課程設計期間, 遇到問題,也要學會向同學、老師請教,因為我們很可能一時思路受阻或者不熟悉某些操作,通過請教他人,能夠迅速解決問題并學習到他人的長處。在課程設計中途, 我們發現程序中的文件讀取及功能函數中刪除信息出現問題,影響了我們的進度, 后來嘗試了不同的方法,進行測試,并請

25、教他人, 對程序進行修改, 完成了程序,在這次的問題中,我們遇到問題受到阻礙, 心情也有些低落, 本來以為已經完成了大部分,突然發現問題,感到一些壓力,不過我們小組的人都沒有放棄,一直堅持,不斷嘗試,最終一起努力完成了課程設計。當我們共同完成了這個課程設計,發現在這個過word 資料.程中我們學習到了很多,得到了成長,學會與人溝通,與人合作,學會虛心請教他人,將所學知識與實踐相結合,我們的分析解決實際問題的能力得到了鍛煉,并且更真切的感受到無論做什么都需要細心和耐心,小細節也會出大錯, 細心和耐心,才能發現問題并解決問題從而避免問題,堅持完成。 這次課程設計我們參考了部分程序進行的, 對我們來

26、說是一個挑戰和鍛煉。我們在完成設計要求的基礎上在程序中加入了自己的想法和其他程序容,也就是對程序改進了一番, 并有一些創新。雖然感覺我們的創新還不夠典型,但經過這番修改, 我們對修改的程序感到滿意。由于時間的緊迫和對知識的了解不夠廣泛,造成了系統中可能還存在一些不足, 以后我們會繼續努力, 大膽創新,爭取能編寫出透射著自己思想的程序。這次課程設計讓我們充分認識到了自己的不足, 認識到了動手能力的重要性。我們會在以后的學習中更加努力鍛煉自己,提高自己, 讓自己寫出更好更完善的程序,為以后的編程打好基礎!十、工作日志周一:我們通過共同討論,有了各自的大致主要分工任務(A 主要編寫功能主函數的實現;黃晨茹主要負責代碼的完善優化和實驗報告;C 主要負責調試代碼和PPT)A 在今天繪制了大致算法流程圖,有了基本的設計雛形。編寫了一些函數功能代word 資料.碼。黃晨茹在今天對一些功能函數有了優化的思路方向,并合作編寫了一些函數功能實現的代碼。C在今天對添加車輛函數進行了調試,并經過不斷地測試調試將添加車輛函數錯誤基本解決。小組的每個成員對此次任務充滿信心,今天都異常的激動。周二:我們今天共同編寫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論