數據結構課程設計 飛機訂票系統(tǒng)

上傳人:r****d 文檔編號:89311153 上傳時間:2022-05-12 格式:DOC 頁數:25 大小:432.50KB
收藏 版權申訴 舉報 下載
數據結構課程設計 飛機訂票系統(tǒng)_第1頁
第1頁 / 共25頁
數據結構課程設計 飛機訂票系統(tǒng)_第2頁
第2頁 / 共25頁
數據結構課程設計 飛機訂票系統(tǒng)_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數據結構課程設計 飛機訂票系統(tǒng)》由會員分享,可在線閱讀,更多相關《數據結構課程設計 飛機訂票系統(tǒng)(25頁珍藏版)》請在裝配圖網上搜索。

1、 課程設計〔論文〕 題 目: 飛機訂票系統(tǒng) 院 〔系〕: 專業(yè)班級: 姓 名: 學 號: 指導教師: 2021年 9 月 18日 課程設計〔論文〕任務書 專業(yè)班級: 學生姓名: 指導教師〔簽名〕: 一、課程設計〔論文〕題目

2、 飛機訂票系統(tǒng):設計航班信息,訂票信息。 二、本次課程設計〔論文〕應到達的目的 數據結構是實踐性很強的課程。課程設計是加強學生實踐能力的一個強有力手段。課程設計要求學生在完成程序設計的同時能夠寫出比擬標準的設計報告。嚴格實施課程設計這一環(huán)節(jié),對于學生根本程序設計素養(yǎng)的培養(yǎng)和軟件工作者工作作風的訓練,將起到顯著的促進作用。 此題目要到達目的:熟練掌握線性表的根本操作在兩種存儲結構上的實現(xiàn)。 三、本次課程設計〔論文〕任務的主要內容和要求〔包括原始數據、技術參數、設計要求等〕 輸入數據:航班號;起降時間;抵達城市;票價;票價折扣; 1. 錄入

3、航班情況〔數據結構、具體數據自定〕; 2. 輸入航班號,查詢某個航線的情況; 3. 輸入起飛抵達城市,查詢飛機航班情況; 4. 客戶姓名,證件號,訂票數量,航班情況,訂單編號〔證件號唯一〕; 5. 訂票:如果該航班已經無票,可以提供相關可選擇航班(結構自己設定); 6. 退票:退票后修改相關數據文件; 7. 修改航班信息:當航班信息改變可以修改航班數據文件。 四、應收集的資料及主要參考文獻: 1.數據結構與算法分析〔C++版〕〔第二版〕影印版 2005.7 2.數據結構與算法,科學出版社,2005.08;趙文靜 等編著 3.數據結構-C++

4、語言描述,西安交通大學出版社,1999.01,趙文靜編著 4. 嚴蔚敏 等著,?數據結構?,清華大學出版社,2003 5. 馮博琴等編著,?軟件技術根底?〔修改版〕,西安交通大學出版社,1997 五、審核批準意見 教研室主任〔簽字〕 摘要 隨著全球經濟和信息的開展,人們選擇乘坐飛機外出的需求日益增加。隨著航空客運業(yè)務越來越興旺,加上網絡日益普及,所以良好的飛機場訂票系統(tǒng)不僅方便人們訂購飛機票,而且減緩了購票點的壓力,具有一定的社會效益。通過本系統(tǒng)管理人員可以錄入、修改航班信息,而游客可以根據航班號、航班路

5、線查詢航班信息,并且可以訂票、退票。本程序設計主要是利用數據結構中線性表的知識,利用數組來讀取航班信息,存儲用戶信息,在用戶訂票、退票之后做出相應數據的修改,在管理人員修改航班信息之后也可以做出相應的信息覆蓋。 關鍵詞:飛機訂票系統(tǒng) 線性表 數據結構 數組 目錄 一、需求分析 4 二、概要設計 4 三、詳細設計 5 四、調試分析 18 五、使用說明 23 六、課設總結 23 七、參考文獻 24 一、需求分析? 1.本系統(tǒng)需用Windows7系統(tǒng),Visual C++軟件為運行環(huán)境; 2.關于航班信

6、息,需要輸入航班號、飛機起飛和降落時間、起飛抵達城市、票價及折扣、余票情況等數據;客戶信息包括姓名、證件號、訂票數量、航班路線、訂單編號;系統(tǒng)還有訂票、退票、退出功能。 3.飛機訂票系統(tǒng)的功能包括: 〔1〕錄入功能:可以讀取并且存儲輸入的航班信息,用文件保存。 〔2〕修改功能:可以修改保存的航班信息,并且用文件保存。 〔3〕查詢功能:可以通過不同方式查詢航班信息,形式包括航班號查詢和航班路線查詢。 〔4〕訂票功能:客戶可以通過查詢信息后訂票,需要輸入姓名、證件號、訂票數量,這些信息和航班路線及訂單編號一起以文件形式保存。 〔5〕退票功能:客戶如果要退票,可以輸入

7、姓名和航班號等信息進行退票。退票后信息將以文件形式保存。 〔6〕退出功能:可以結束操作退出,并且保存所作出的修改。 〔7〕菜單功能:本系統(tǒng)的與客戶進行交互的界面菜單。在菜單中包含以上各功能,用戶可以根據自己的需求進行不同的操作。 二、概要設計? 1.錄入航班信息功能:讀取用戶輸入的信息,對flight結構體進行賦值,利用數組儲存相同類型的信息并保存; 2.查詢航班信息功能:設計用兩種方式查詢航班信息,運用switch函數進行選擇,并且運用cout輸出所查詢航班的信息,讀出數組內的數據; 3.訂票功能:輸入客戶姓名及航班號,并且把數據記錄到數組cu[]中,記錄信息并且

8、對余票數減1,然后保存; 4.退票功能:輸入客戶姓名及航班號,清空數組cu[]內相應的數據,記錄信息并且對余票數加1,然后保存; 5.修改航班信息功能:輸入航班號并且輸入數據,對結構體flight中相應數組的信息進行覆蓋,最后保存信息; 6.退出功能:退出系統(tǒng),并且以文件形式保存錄入和修改的信息,對原有信息進行覆蓋,然后回車鍵退出系統(tǒng)界面。 系統(tǒng)結構圖: 開始 主函數 航班信息錄入 退出系統(tǒng) 航班信息修改 航班退票 航班訂票 航班信息查詢 推出 三、詳細設計 〔一〕錄入航班信息 1.結構體struct

9、flight:int a1航班號,char a2 起飛時間,char a3降落時間,char a4[10]起飛城市,char a5[10]降落城市,int a6價格, int a7票價折扣, int a8余票。 struct flight //航班信息 { int a1; //航班號 char a2; //起飛時間 char a3; //降落時間 char a4[10]; //起飛城市 char a5[10]; //降落城市 int a6; //價格 int a7; //票價折扣 int

10、 a8; //余票 }fl[10]; 2.錄入函數:void luru() void luru() { cout<<"請輸入航班信息:"<>fl[len].a1; //航班號 cout<<"起飛時間"<>fl[len].a2; //起飛時間 cout<<"降落時間"<>fl[len].a3; //降落時間 cout<<"起飛城市"<>fl[

11、len].a4; //起飛城市 cout<<"降落城市"<>fl[len].a5; //降落城市 cout<<"票價"<>fl[len].a6; //票價 cout<<"折扣"<>fl[len].a7; //機票折扣 cout<<"剩余票量"<>fl[len].a8; //剩余票量 len++; cout<<"請選擇所要進行的操作"<

12、完成跳轉回菜單項選擇擇操作 } 3.本模塊流程圖 開始 輸入航班信息 存儲航班信息 結束 〔二〕查詢航班信息 1.查詢函數:void chaxun(),void chaxun1(),void chaxun2() 選擇函數: switch() 〔1〕查詢信息 void chaxun() //查詢 {system("cls"); //去除屏幕 cout<<"請選擇查詢方式"<

13、nt t; cin>>t; switch(t) //選擇查詢方式 { case 1: chaxun1(); break; case 2: chaxun2(); break; default:cout<<"輸入的數據有誤,請重新輸入!"<

14、 cin>>n; for(int j=0;j

15、reak;} //輸出航班信息 else cout<<"沒有對應的航班!"<>m1>>m2; //輸入起始城市和降落城市 for(j=0;j

16、&&(strcmp(fl[j].a5,m2)==0)) {cout<<"***航班信息****"<

17、 { cout<<"沒有對應的航班!"<

18、降落時間,char qfd[10]起飛城市,char jld[10]降落城市,int pj票價。 void dingpiao() //訂票 {system("cls"); char Name[10]; int fn; int sign=0; cout<<"請輸入你的姓名和想訂的航班號:"<>Name; //輸入乘客姓名 cin>>fn; //輸入乘客所要訂的航班號 for(int i=0;i

19、 {if(fl[i].a1==fn) if(fl[i].a8>0) {strcpy(cu[A].name,Name); cu[A].num=fn; cu[A].seat=fl[i].a8; A++; fl[i].a8--; sign=1; cout<<"訂票成功!"<

20、!"<>Name; //輸入乘客姓名 cout<<"請輸入航班號:"; cin>>f

21、n;//輸入乘客所訂的航班的航班號 cout<

22、 break;} if(sign)break; } if(i==len) cout<<"輸入信息有誤!退票失敗"<>num; for(int i=0;i

23、 cout<<"起飛時間:";cin>>fl[num].a2; cout<<"到達時間:";cin>>fl[num].a3; cout<

24、binary); //輸出方式翻開文件 nfile2.close(); //關閉文件 ofstream infile2("cus.dat",ios_base::binary|ios_base::app); //輸入方式翻開文件 for(int i=0;i(&cu[i])),sizeof(customer));cout<<"寫入成功!"<

25、 ofstream nfile1("airline.dat",ios_base::binary); //輸出方式翻開文件 nfile1.close(); //關閉文件 ofstream infile1("airline.dat",ios_base::binary|ios_base::app); //輸出方式翻開文件 for( i=0;i(&fl[i])),sizeof(flight));//將航班信息寫入文件 infile1.close(); //關閉文

26、件 } 〔七〕菜單和讀取 1.菜單函數:void menu() 讀取函數:void duqu() 主函數:void main() (1)菜單: void menu() { cout<<"****************飛機訂票系統(tǒng)******************"<

27、<'\t'<<'\t'<<"3.訂票"<

28、nt i; cout<<"輸入選項:"<>i; //選擇菜單 switch(i) { case 1: luru(); break; case 2: chaxun(); break; case 3: dingpiao();menu(); case 4: tuipiao(); menu(); case 5: xiugai(); menu(); case 6: tuichu(); exit(1); //退出 break; de

29、fault:cout<<"輸入的選項不合法,請重新輸入"<(&fl[len])),sizeof(flight));//輸入方式讀取文件

30、 cout<<"***航班信息****"<

31、);//關閉文件 ifstream infile2("cus.dat",ios_base::binary); while(infile2.peek()!=EOF) {infile2.read((reinterpret_cast(&cu[A++])),sizeof(customer));} //輸入方式讀取文件 infile2.close(); //關閉文件 getchar();system("cls"); } (3)主函數: void main() { cout<<"讀取"<

32、文件 menu(); //菜單 } 四、調試分析 1. 運行程序,因為之前沒有進行航班信息的錄入,起始讀取信息為空。按回車鍵根據菜單進行各項操作。 2.任意鍵進入菜單。在主菜單內,用戶可以根據自己的需求在“輸入選項〞后輸入1-6中一個數選擇不同的功能,進行相應的操作。 3.鍵入1,進入錄入航班信息子菜單,輸入所需的信息后跳出菜單項選擇擇后續(xù)操作。 4. 查詢航班信息。鍵入2進行查詢,根據選項選擇不同的查詢方式。 5.鍵入1,按航班號查詢,輸入

33、航班號得到航班信息,并顯示菜單以便繼續(xù)操作。 6. 主菜單鍵入3,輸入姓名及航班號,辦理訂票業(yè)務。 7.查詢該航班剩余票量是否改變,根據選項選擇不同方式查詢,輸入航班信息得到余票量。 8.主菜單鍵入4,輸入姓名及航班號,辦理退票業(yè)務。 9.主菜單鍵入5,修改起飛和降落航班時間,按回車鍵保存。 10.查詢航班信息是否修改完成,根據提示選擇任何一種查詢方式,輸入航班相關信息進行查詢。。 11.主菜單鍵入6,退出系統(tǒng),結束并按Enter鍵退出 考前須知: 1.數組間的數據一定要相互對應,否那么一個字母的錯誤就會造成錯誤。

34、2.經過調試,改變不能連續(xù)操作的問題,可以不退出反復進行操作。 3.關于一些輸出的錯誤,進行了一些設置防止程序崩潰。 五、使用說明 本程序的運行環(huán)境為window7系統(tǒng),V C++ 6.0軟件。使用這個程序時,會彈出一個用戶使用界面根據自己的需要選擇數字1-6,錄入航班信息,進行按照航班號和城市查找相關航班,訂飛機票,退飛機票,修改航班信息,退出系統(tǒng)等功能。程序運行后數據的輸入采用鍵盤輸入,這個過程中會有詳細的數據輸入提示,用戶可按照提示輸入數據,以確保數據輸入的正確性。 六、課設總結 通過本次飛機場訂票系統(tǒng)課程設計,實現(xiàn)了航班的訂票和退票功能。用戶能較迅速地查詢到所

35、想要乘坐的航班的信息,以決定是否訂票或退票。在這次設計過程中,自己不僅穩(wěn)固了數據結構的知識,而且還靈活的運用線性表的知識完成了飛機場訂票系統(tǒng)的程序設計。 在程序設計中,我遇到了存儲中出現(xiàn)問題,最后設置了存入讀取函數解決了這個問題。對于程序調試能力,有了一定程度的提高,但我還需要更多的上機練習,才能識別更多的錯誤,才能更快更好的理解程序。數據結構這一門課程是非常重要的,可以促進程序設計的理解,使程序的設計更加嚴謹,錯誤也會減少。 數據結構是計算機存儲組織數據的方式,精心選擇的數據結構可以帶來更高的運行或者存儲效率。 最后感謝老師的指導與批評,你讓我對于課程設計有了新的態(tài)度,學到了不少東西,同時也意識到自己的缺乏。謝謝你! 七、參考文獻 1.數據結構與算法分析〔C++版〕〔第二版〕影印版 2005.7 2.數據結構與算法,科學出版社,2005.08;趙文靜 祁飛等編著 3.數據結構-C++語言描述,西安交通大學出版社,1999.01,趙文靜編著 4. 嚴蔚敏 等著,?數據結構?,清華大學出版社,2003 5. 馮博琴等編著,?軟件技術根底?〔修改版〕,西安交通大學出版社,1997

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!