數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機訂票系統(tǒng)

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

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

16 積分

下載資源

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

資源描述:

《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機訂票系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 飛機訂票系統(tǒng)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

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

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

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

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

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

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

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

8、對余票數(shù)減1,然后保存; 4.退票功能:輸入客戶姓名及航班號,清空數(shù)組cu[]內(nèi)相應(yīng)的數(shù)據(jù),記錄信息并且對余票數(shù)加1,然后保存; 5.修改航班信息功能:輸入航班號并且輸入數(shù)據(jù),對結(jié)構(gòu)體flight中相應(yīng)數(shù)組的信息進行覆蓋,最后保存信息; 6.退出功能:退出系統(tǒng),并且以文件形式保存錄入和修改的信息,對原有信息進行覆蓋,然后回車鍵退出系統(tǒng)界面。 系統(tǒng)結(jié)構(gòu)圖: 開始 主函數(shù) 航班信息錄入 退出系統(tǒng) 航班信息修改 航班退票 航班訂票 航班信息查詢 推出 三、詳細設(shè)計 〔一〕錄入航班信息 1.結(jié)構(gòu)體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.錄入函數(shù):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、完成跳轉(zhuǎn)回菜單項選擇擇操作 } 3.本模塊流程圖 開始 輸入航班信息 存儲航班信息 結(jié)束 〔二〕查詢航班信息 1.查詢函數(shù):void chaxun(),void chaxun1(),void chaxun2() 選擇函數(shù): switch() 〔1〕查詢信息 void chaxun() //查詢 {system("cls"); //去除屏幕 cout<<"請選擇查詢方式"<

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

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

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

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

17、 { cout<<"沒有對應(yīng)的航班!"<

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(); //關(guān)閉文件 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(); //關(guān)閉文件 ofstream infile1("airline.dat",ios_base::binary|ios_base::app); //輸出方式翻開文件 for( i=0;i(&fl[i])),sizeof(flight));//將航班信息寫入文件 infile1.close(); //關(guān)閉文

26、件 } 〔七〕菜單和讀取 1.菜單函數(shù):void menu() 讀取函數(shù):void duqu() 主函數(shù):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、);//關(guān)閉文件 ifstream infile2("cus.dat",ios_base::binary); while(infile2.peek()!=EOF) {infile2.read((reinterpret_cast(&cu[A++])),sizeof(customer));} //輸入方式讀取文件 infile2.close(); //關(guān)閉文件 getchar();system("cls"); } (3)主函數(shù): void main() { cout<<"讀取"<

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

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

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

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

展開閱讀全文
溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


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

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲