




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機科學與技術教研室課程設計說明書(2013/2014學年第二學期)課程名稱課程設計基礎(二)設計題目飛機訂票管理系統學號姓名小組成員起止時間: 2013年6月28日至2014年7月11日課程設計評 語該生平時表現良好,參與了課程設計的整個過程,而且完成了飛機訂票管理系統的代碼編寫,運用了類、類的繼承、構造函數等知識,并實現了錄入、刪除、查詢、修改及退出程序運行等基本功能。在此基礎上還實現了訂票,退票功能。課程設計說明書填寫正確,條理清楚,對于課程設計過程介紹詳細,代碼正確。作品演示熟練,能按照設計要求完成指定的功能。答辯過程中,回答問題正確,熟練,對自己的程序描述清楚,條理性強。平時成績報告成績演示與答辯成績成績總評指導教師(簽字)年月日注:成績均用百分制。總成績=平時成績*20%+報告成績*40%+演示與答辯成績*40%設計題目:飛機訂票管理系統一、課程設計目的:熟練掌握,C++語言程序的編寫,調試及運行;熟練掌握C++程序的類的應用。熟練掌握類的繼承、構造函數的應用。熟練掌握文件流的應用。(5)能夠獨立調試程序;(6)學生獨立編程能力,運用所學知識解決問題的能力。二、課程設計正文:系統分析按照圖書管理系統,進行分析,我以為該系統應該分為三大部份功能:第一大部份功能,應該是針對乘客的應用程序;第二大部份功能,應該是針對管理員的應用程序。第三大部份,應該是退出該系統的應用程序。分析乘客程序第一大部份功能,還應分為兩小部份功能:第一小部份功能,應該是訂票業務,按照客戶提出的航班號,查詢該航班票額情況,若尚有余票,則為客戶辦理訂票手續,輸出座位號;若已滿員或余票數少于訂票額,則需從頭詢問客戶要求,若需要,可記錄排隊候補。第二小部份功能,應該是退票業務,按照客戶提供的情況航班號、終點站等信息,為客戶辦理退票手續。分析管理員程序但是,第二大部份功能,還應該分為八小部份:第一小部份功能,應該是錄入功能,可以錄入航班信息,如:終點站名、航班號、飛機號、禮拜幾飛行、乘員定額、余票量等重要信息。然后,把數據存儲在一個數據文件中。第二小部份功能,應該是添加功能,當錄入完以后,還需可以添加一個航班信息,就運用此功能。第三小部份功能,應該是顯示功能,顯示航班信息,如:終點站名、航班號、飛機號、禮拜幾飛行、乘員定額、余票量、已訂票的客戶名單包括姓名、訂票量、艙位品級,和等候補替的客戶名單包括姓名、所需票量。第四小部份功能,應該是查詢功能,按照旅客提出的終點站名,查詢出下列信息:航班號、飛機號、禮拜幾起飛,最近航班的日期和余票量。第五小部份功能,應該是修改功能,若是那條航班信息錄入錯誤可以對其進行修改,把航班信息從頭輸入一遍。第六小部份功能,應該是刪除功能,若是那條航班信息錄入錯誤可以對其進行刪除,把航班的所有信息刪除。第七小部份功能,應該是訂票功能,按照類的繼承,繼承乘客類的訂票函數。按照客戶提出的航班號,查詢該航班票額情況,若尚有余票,則為客戶辦理訂票手續,輸出座位號;若已滿員或余票數少于訂票額,則需從頭詢問客戶要求,若需要,可記錄排隊候補。第八小部份功能,應該是退票功能,按照類的繼承,繼承乘客類的退票函數,然后,在此基礎上,添加上管理員查詢該航班是不是有人排隊等候補,首先詢問排在第一的客戶,若剩余票能知足他的要求,則為他辦理訂票手續,不然依次詢問其他排隊候補的客戶。系統設計編寫要求(1) 每條航線所涉及的信息有:終點站名、航班號、飛機號、禮拜幾飛行、乘員定額、余票量、已訂票的客戶名單(包括姓名、訂票量、艙位品級)和等候補替的客戶名單(包括姓名、所需票量);(2) 作為示意系統,全數數據可以只放在內存中;(3)系統能實現的操作和功能如下:錄入:可以錄入航班情況(數據可以存儲在一個數據文件中,數據結構、具體數據自定);查詢航線:按照旅客提出的終點站名輸入下列信息:航班號、飛機號、禮拜幾起飛,最近航班的日期和余票量。承辦訂票業務:按照客戶提出的要求(航班號、訂票數額)查詢該航班票額情況,若尚有余票,則為客戶辦理訂票手續,輸出座位號;若已滿員或余票數少于訂票額,則需從頭詢問客戶要求,若需要,可記錄排隊候補;承辦退票業務:按照客戶提供的情況(日期、航班),為客戶辦理退票手續,然后查詢該航班
是不是有人排隊等候補,首先詢問排在第一的客戶,若所有退票額能知足他的要求,則為他辦理訂票手續不然依次詢問其他排隊候補的客戶。修改航班信息:當航班信息改變可以修改航班數據文件。程序流程程序流程如圖1所示。整體設計飛機訂票管理系統進行設計:首先,對飛機訂票管理系統進行分類,把它分為兩個類:1.乘客類2.管理員類;管理員類繼承乘客類,然后別離編輯這兩個類,有了這幾大部份,然后進行細化。乘客類設計按照分析的結果乘客類分為兩個小部份功能:(1)對其訂票功能設計首先,概念一個訂票函數的函數,進行訂票時,先進行查詢,當余票為0時,詢問乘客是不是進行候補排隊,若是排隊則錄入候補人員的姓名、需求量,當余票不為零時,乘客訂票輸入自己的姓名、需求量和艙位品級等信息。(2)對其退票功能設計若是乘客進行退票,退票成功,余票加1,則管理員詢問候補人員是不是定閱此票,這個訂票流程和訂票功能一樣。管理員程序設計按照分析的結果面對讀者系統分為6個小部份功能:(1)對錄入功能進行設計進行錄入,先錄入終點站名,當終點站錄入為0時停止錄入,錄入的數據貯存在“”文件中。(2)對添加功能進行設計進行添加時,在原有的數據中,繼續添加相應的數據,并把著這數據貯存在“”文件中。能夠一同顯示出來。(3)對顯示功能進行設計挪用“”文件中的所有數據,把他們依照必然格式顯示出來。(4)對查詢功能進行設計輸入要查詢的終點站的名字,然后進行搜尋,把對應的所有相關的數據輸出出來。(5)對修改功能進行設計把所有的數據顯示出來,然后,選擇要修改的數據,然后從頭輸入,并替換它。(6)對刪除功能進行設計把所有的數據顯示出來,然后,選擇要刪除的數據,對其進行刪除對應的“”文件中的數據。系統實施錄入功能其主要代碼為:for(i=0;i<M;i++){cout〈〈"友情提示:當終點站輸入為0事停止輸入°"〈〈endl;cout〈〈"終點站:"〈〈endl;cin>>destination;if(destination=="0")break;if(destination!="0"){N++;outfile<<destination<<"";cout〈〈"航班號:"〈〈endl;cin>>flight_number;outfile〈〈flight_number〈〈"";cout〈〈"飛機號:"〈〈endl;cin>>plane_number;outfile〈〈plane_number〈〈"";cout〈〈"禮拜:"〈〈endl;cin>>week;outfile〈〈week〈〈"";cout〈〈"乘客定額:"〈〈endl;cin>>passenger_number;outfile〈〈passenger_number〈〈""cout〈〈"余票:"〈〈endl;cin>>remain_ticket;outfile〈〈remain_ticket〈〈"";}其錄入執行結果如圖2所示。舀屠蒸示:當終點站輸人為兩事停止輸入。骯班號;O:乘容定額::當終點站輸入為回事停止輸入。圖2錄入功能添加功能其主要代碼為:N=N+1;cout〈〈"請輸入您要添加的航班信息"〈〈endl;cout〈〈"終點站:"〈〈endl;cin>>destination;outfile〈〈destination〈〈"";cout〈〈"航班號:"〈〈endl;cin>>flight_number;outfile〈〈flight_number〈〈"";cout〈〈"飛機號:"〈〈endl;cin>>plane_number;outfile〈〈plane_number〈〈"";cout〈〈"禮拜:"〈〈endl;cin>>week;outfile〈〈week〈〈"";cout〈〈"乘客定額:"〈〈endl;cin>>passenger_number;outfile〈〈passenger_number〈〈"";cout〈〈"余票:"〈〈endl;cin>>remain_ticket;outfile〈〈remain_ticket〈〈"";();cout〈〈"已添加成功!"〈〈endl;其添加執行結果如圖3所示。
圖3添加功能圖3添加功能星期:顯示功能其主要代碼為:for(k=0;k<N;k++){infile>>destination;cout〈〈"終點站:"〈〈setw(4)〈〈destination;infile>>flight_number;cout〈〈"航班號:"<<setw(4)〈〈flight_number;infile>>plane_number;cout〈〈"飛機號:"<<setw(4)〈〈plane_number;infile>>week;cout〈〈"禮拜:"〈〈setw(4)〈〈week;infile>>passenger_number;cout〈〈"乘客定額:"<<setw(4)〈〈passenger_number;infile>>remain_ticket;cout〈〈"余票:"〈〈setw(4)〈〈remain_ticket〈〈endl;}其顯示執行結果如圖4所示。終點站:~~a康班號:久飛獨號:[星黔丄輩客定軌f終點站:W龜班號二2飛機営:F星崩:2泰客定驗2奈票:2圖4顯示功能查詢功能其主要代碼為:cout〈〈"請輸入終點站!"〈〈endl;cin>>search_destinationfor(i=0;i<N;i++)if(destination[i]==search_destination){cout<<""cout〈〈setw(4)〈〈"終點站:"〈〈destination[i];cout〈〈setw(4)〈〈"航班號:"〈〈flight_number[i];cout〈〈setw(4)〈〈"飛機號:"〈〈plane_number[i];cout〈〈setw(4)〈〈"禮拜:"〈〈week[i];cout〈〈setw(4)〈〈"乘客定額:"〈〈passenger_number[i];cout〈〈setw(4)〈〈"余票:"〈〈remain_ticket[i]〈〈endl;}elsecout<<"無抵達此地的航班!"〈〈endl;其查詢執行結果如圖5所示。請輸入終點站!終點站5航班號=丄飛機號=丄星期廿乘客定額沁余票沁圖5查詢功能修改功能其主要代碼為:cout〈〈"你想修改第幾個航班信息?"〈〈endl;cin>>k;k=k-1;cout〈〈"請輸入新的數據:"〈〈endl;cout〈〈"終點站:"〈〈endl;cin>>destination[k];cout〈〈"航班號:"〈〈endl;cin>>flight_number[k];cout〈〈"飛機號:"〈〈endl;cin>>plane_number[k];cout〈〈"禮拜:"〈〈endl;cin>>week[k];cout〈〈"乘客定額:"〈〈endl;
cin>>passenger_number[k];cout〈〈"余票:"〈〈endl;cin>>remain_ticket[k];其修改執行結果如圖6所示你想修改第幾萃號號?TH砂砂自心山-也--RI你想修改第幾萃號號?TH砂砂自心山-也--RI9a時疏■■■■12=1垂客定額記畬票記=2乘客定筋:2余票:2"八?7?航班號:七機號,o:乘容定額]余票!占修改成功!圖6修改功能刪除功能其主要代碼為:cout〈〈"您想刪除第幾個?"〈〈endl;cin>>k;k=k-1;();ofstreamoutfile("",ios::out);if(!outfile){cerr〈〈"openerror"〈〈endl;exit(1);}for(i=0;i〈N;i++){if(i!=k){outfile〈〈destination[i]〈〈"";outfile〈〈flight_number[i]〈〈"";outfile〈〈plane_number[i]〈〈"";
outfile<<week[i]<<"";outfile<<passenger_number[i]<<"outfile〈〈remain_ticket[i]〈〈""〈〈endl;}}();N=N-1;cout〈〈"已刪除成功!"〈〈endl;其刪除執行結果如圖7所示。警刪除劇吉刪除成功!:1=2警刪除劇吉刪除成功!:1=2=2乘客定頷泊圖7刪除功能訂票功能其主要代碼為:if(remain_ticket[i]==0){charb;cout〈〈"該票已售完!"〈〈endl;cout〈〈"是不是排隊候補?"〈〈endl;cout〈〈"a.是 b.否"〈〈endl;if(b=='a'){cout〈〈"請輸入您的姓名:"〈〈endl;cin>>name2;cout〈〈"需要票量:"〈〈endl;cin>>need_number;cout〈〈"補替人姓名:"〈〈name2〈〈" 所需票量:"〈〈need_number〈〈endl;}if(b=='b'){cout〈〈"抱歉未能幫您訂票!"〈〈endl;}}else{cout〈〈"請輸入您的姓名:"〈〈endl;cin>>name1;cout〈〈"需要艙位品級:"〈〈endl;cin>>shipping_grade;
cout〈〈"訂票人姓名:"〈〈namel〈〈" 艙位品級:"〈〈shipping_grade〈〈endl;remain_ticket[i]=remain_ticket[i]-1;其訂票執行結果如圖8所示。圖8訂票功能請輸入終點站其訂票執行結果如圖8所示。圖8訂票功能請輸入終點站1是否訂購此票I請輸入您的姓名=需要艙位等級:退票功能其主要代碼為cout〈〈"";cout〈〈退票功能其主要代碼為cout〈〈"";cout〈〈setw(4)〈〈"終點站:"〈〈destination[i];cout〈〈setw(4)〈〈"航班號:"〈〈flight_number[i];cout〈〈setw(4)〈〈"飛機號:"〈〈plane_number[i];cout〈〈setw(4)〈〈"禮拜:"〈〈week[i];cout〈〈setw(4)〈〈"乘客定額:"〈〈passenger_number[i];cout〈〈setw(4)〈〈"余票:"〈〈remain_ticket[i]〈〈endl;cout〈〈"是不是退訂此票!"〈〈endl;cout〈〈"l.是 2.否"〈〈endl;cin>>a;if(a==1){cout〈〈"您退訂成功!"〈〈endl;remain_ticket[i]=remain_ticket[i]+1;其錄入執行結果如圖3所示。58請輸入終點站!裁點站艸航班號吃飛機號詔星期泊乘客定額汐余票汐是音追訂此票!「是58請輸入終點站!裁點站艸航班號吃飛機號詔星期泊乘客定額汐余票汐是音追訂此票!「是2?否您退訂成功!圖9退票功能3、課程設計總結在這次的程序設計進程中,我收獲頗多,對程序設計基礎知識的掌握加倍扎實,同時提高了自己獨立編程的能力、靈活運用知識點的能力。在該飛機訂票管理系統中,主要運用了類的繼承、構造函數和文件流等知識;功能實現則通過函數來完成。可是我的工作仍是有很多的不足,例如:在退票和訂票功能實現詢問排隊人員時,碰到了大量困難和問題。例如,退票后余票增加,訂票后余票減少,問問他人是不是排隊等,然后通過老師的輔導和查閱書籍把問題一一解決。通過這次的課程設計,讓咱們充分感到了獨自設計一個程序是何等的困難,沒有團隊是不行的,和同窗們彼此探討,彼此學習,彼此監督。增進自己,學會了合作,學會了運籌帷幄。在這個程序的設計進程中,我清楚的意識到自己的水平不足,C++的一些基礎知識尚未取得運用,課程的知識學的有何等的不扎實,自己上機實際編程出現了很多的語法性錯誤,調試時電腦老是在報錯,到最后雖然都改完了,也沒有報錯了,但不是自己獨自修正的,因此,我意識到了我自己有太多的東西還不會,讓我感覺到學習好C++是何等得重要。以后還會有很多的課程設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內蒙古建筑職業技術學院《工程流體力學B》2023-2024學年第二學期期末試卷
- 太原理工大學《熱流體學及應用》2023-2024學年第一學期期末試卷
- 山東省日照市山海天旅游度假區2025年數學三下期末綜合測試模擬試題含解析
- 昆明學院《安全信息技術》2023-2024學年第二學期期末試卷
- 延安大學《研究型建筑設計》2023-2024學年第二學期期末試卷
- 上海對外經貿大學《世界文化產業》2023-2024學年第一學期期末試卷
- 一嗨租車會員注冊協議書二零二五年
- 二零二五版裝修質量保證及售后服務承諾書
- 二零二五版兼職人員聘用協議
- 買車補充協議書及相關合同書條款
- 造口袋技術要求
- 國家開放大學(江西)地域文化(專)任務1-4試題及答案
- QCR 409-2017 鐵路后張法預應力混凝土梁管道壓漿技術條件
- 南師地信培養方案
- 采購工作調研報告(3篇)
- 10KV高壓開關柜操作(培訓課件PPT)
- 希爾國際商務第11版英文教材課件完整版電子教案
- 《學弈》優質課一等獎課件
- 2023年6月大學英語四級考試真題(第1套)(含答案)
- 靜脈導管常見并發癥臨床護理實踐指南1
- Sup20普通瀝青混合料目標配合比設計
評論
0/150
提交評論