




付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C+課程設計報告 _航空訂票系統的菜單設計C+課程設計 ( 論文 ) 任務書電氣 學 院 電氣工程及其自動化專 業 9班一、課程設計 ( 論文 ) 題目 :航空訂票系統的菜單設計二、課程設計 ( 論文 ) 工作自 2012 年 6 月 13 日起至 2012 年 6 月 24 日止三、課程設計 ( 論文 ) 地點 : 計算中心機房四、課程設計 ( 論文 ) 內容要求 :1. 本課程設計的目的(1) 進一步鞏固和加深對“ C,程序設計”課程基本知識的理解和掌握,了解C,語言在項目開發中的應用。(2) 學習程序設計開發的一般方法,了解和掌握項目開發過程及方式,培養正確的設計思想和分析問題、解決問題
2、的能力,特別是項目設計能力。(3) 通過對標準化、規范化文檔的掌握并查閱有關技術資料等,培養項目設計開發能力,同時提倡團隊合作精神。2. 課程設計的任務及要求(1) 基本要求 :(1) 對系統功能進行需求分析 ;(2) 使用 Visual C+ 編譯器進行程序編譯 ;(3) 提出系統的設計方案 ;(4) 編寫源程序代碼并進行調試。(2) 創新要求在基本要求達到后,可進行創新設計。(3) 課程設計報告撰寫及裝訂要求課程設計報告的撰寫要求表述簡明,圖表準確。報告按如下內容和順序用A4 紙進行打印并裝訂成冊。(1) 封面采用統一的課程設計封面,并按要求填寫好封面要求的個人信息和選題。(2)設計任務書
3、(3) 評閱書(4) 目錄(5) 正文(6) 主要參考文獻(4) 課程設計評分標準 :(1) 達到課程設計的目的與要求,程序的可讀性較好,并調試正確,60 分; (2)能正確回答設計的中老師所提問題,可增加10 分;(3) 課程設計報告書寫規范整齊,可增加 10 分 ;(4) 心得體會認真總結,可增加 10 分;(5) 程序有創新性,可增加 10 分 ;1成績評定實行優秀、良好、中等、及格和不及格五個等級。不及格者需重做。(5) 課程設計進度安排(1) 準備階段 (6 學時 ): 選擇設計題目、了解設計目的要求、查閱相關資料。(2)程序模塊設計分析階段 (8 學時 ): 程序總體設計、詳細設計
4、。(3) 代碼編寫調試階段 (10 學時 ): 程序模塊代碼編寫、調試、測試。(4) 撰寫論文階段 (6 學時 ): 總結課程設計任務和設計內容,撰寫課程設計論文。(6) 課程設計題目具體要求(1)程序運行時,首先給出兩個菜單選項的內容和輸入提示:管理員進入按 1,客戶進入按 2:若輸入其它字符,則顯示輸入錯誤,請重新輸入。(2) 若用戶選擇是管理員身份進入,還需要輸入密碼,驗證正確后,則可進入系統,顯示如下 6 個菜單選項。若密碼驗證錯誤,則提示密碼錯誤,并返回主界面讓用戶重新選擇身份。1 定購機票2 反退機票3 查看航班信息4 查詢航班信息5 修改航班信息0 返回主界面進入系統后,用戶可以
5、根據需要輸入(0-5) 選項實現不同功能。若輸入其它字符,則顯示輸入錯誤,請重新選擇。(3) 若用戶是以客戶身份進入,則進入系統后,將顯示如下5 個菜單選項 :1 定購機票2 反退機票3 查看航班信息4 查詢航班信息0 返回主界面進入系統后,用戶可以根據需要輸入(0-4) 的選項實現不同功能。若輸入其它字符,則顯示輸入錯誤,請重新選擇。學生簽名 :2012年 6 月 20 日2課程設計 ( 論文 ) 評閱意見等 級序號項目優秀 良好 中等 及格 不及格 1 課程設計態度評價 2 出勤情況評價 3 任務難度評價 4 工作量飽滿評價 5 設計中創新性評價 6 論文書寫規范化評價綜合評定等級評閱人職
6、稱 教授2012年 6月 25日3目 錄第1章系統概要. 5第 2章 設計思路與算法. 6第3 章 源程序代碼 . 7第 4 章 運行結果及分析 .14第 5章 心得體會 . 20參考文獻 . 214第1章系統概要菜單是應用程序非常重要的組成部分,通過菜單,應用程序可以實現不同的功能,通過本系統的設計,可以實現如下功能:(1)程序運行時,首先給出兩個菜單選項的內容和輸入提示:管理員進入按 1,客戶進入按 2:若輸入其它字符,則顯示輸入錯誤,請重新輸入。(2) 若用戶選擇是管理員身份進入,還需要輸入密碼,驗證正確后,則可進入系統,顯示如下 6 個菜單選項。若密碼驗證錯誤,則提示密碼錯誤,并返回主
7、界面讓用戶重新選擇身份。1 定購機票2 反退機票3 查看航班信息4 查詢航班信息5 修改航班信息0 返回主界面進入系統后,用戶可以根據需要輸入(0-5) 選項實現不同功能。若輸入其它字符,則顯示輸入錯誤,請重新選擇。(3) 若用戶是以客戶身份進入,則進入系統后,將顯示如下5 個菜單選項 :1 定購機票2 反退機票3 查看航班信息4 查詢航班信息0 返回主界面進入系統后,用戶可以根據需要輸入(0-4) 的選項實現不同功能。若輸入其它字符,則顯示輸入錯誤,請重新選擇。(4) 若選擇 1 定購機票 或 2 反退機票,則出現驗證,驗證碼輸入正確方可訂,或退票。管理員選擇 5 修改航班信息,則需要再次輸
8、入管理員密碼確認修改航班信息。5第 2 章 設計思路與算法主程序1 或 21 2 fn1( ) fn(2)核實密碼是否正確是實現管理員操作1. 函數 dg()2. 函數 ft()3. 函數 ck() 4. 函數 cx() 5. 函數 xg() 對訂購機票功對反退機票功對查看航班信對查詢航班信對修改航班信能進行實現 能進行實現 息功能進行實息功能進行實息功能進行實現 現 現圖 2-1 簡略思維流程圖6第 3 章 源程序代碼#include<iostream.h>#include<iomanip.h>#include<string>#include<win
9、dows.h>/提供清屏函數 system("cls")和延時函數 Sleep()using namespace std;void fn1();/實現管理員信息操作void fn2();/實現客戶進行信息操作void dg();/訂購機票void ft();/反退機票void ck();/查看航班信息void cx();/查詢航班信息void xg();/修改航班信息void yz(int a,int b,int j)while (j)a=1000+rand()%9999;/rand()提供隨機數cout<<" 驗證碼 :"<&l
10、t;a <<"n請輸入驗證碼 :"cin>>b;if(b=a)cout<<" 驗證碼輸入正確 "<<endl; break;else cout<<"驗證碼輸入錯誤 !n"<<"不訂 ( 退 ) 票了 !請輸入 0; 重新驗證 !請輸入 1"<<endl;cin>>j;void main()cout<<"*航空訂票系統*"<<endl;cout<<endl;cout&
11、lt;<"華東交通大學"<<endl;cout<<""<<endl;cout<<"電氣與電子工程學院"<<endl;cout<<""<<endl;7cout<<" 11電氣 9 班 ? ? "<<endl;cout<<" "<<endl;cout<<" 2011021? 201102? "<<en
12、dl;cout<<" "<<endl;cout<<" * * * * * * "<<endl;cout<<" * * * * * * "<<endl;cout<<" * * * * * * "<<endl;cout<<" * * * * * * "<<endl;cout<<" * * * * * * "<<endl;cout<&
13、lt;" * * * * * * "<<endl;cout<<" "<<endl;cout<<"*"<<endl;cout<<" 請等待 5 秒。 "<<endl;Sleep (5000);/單位為 1 微秒, 5000 微秒 =5 秒, 即此屏幕保留 5 秒system("cls");/清屏函數,進入主菜單cout<<endl;int i;for(i=1;i<=16;i+)cout<&l
14、t;" "for(i=1;i<=24;i+)cout<<"*"cout<<endl;cout<<" : -歡迎來到航空訂票系統- :"cout<<endl;for(i=1;i<=16;i+)cout<<" "for(i=1;i<=24;i+)cout<<"*"cout<<endl; /做出歡迎界面 ;int a = 1;cout<<setw(25)<<" 請輸入
15、代號 :"<<'n'<<setw(18)<<" 管理員進入請輸 1 客戶進入請輸 2n 退出系統請輸入 0"<<endl;while(a)8cin>>a;switch(a)case 1:fn1();break;/實現管理員信息操作case 2:fn2();break;/實現客戶進行信息操作case 0:cout<<setw(50)<<" 感謝您的使用,歡迎再次光臨 !"<<endl; break;default :cout<&l
16、t;" 輸入錯誤 ! 請重新輸入 1 管理員 ;2客戶 "<<endl;void fn1()char s17 = "123456",s27;cout<<" 管理員請輸入密碼 :"<<endl; cout<<setw(50)<<" 注意最多只能輸入 3 次 "<<endl; cin>>s2;for(int i=1; i<3 && strcmp(s1,s2)!= 0;i+ )cout<<" 密
17、碼錯誤 ! "<<"您還有 "<<(3-i)<<"次輸入機會 !"<<'n'<<"請輸入密碼 :"<<endl; cin>>s2;if( i>=3 && strcmp(s1,s2)!=0 )cout<<" 已返回主菜單 n"<<setw(18)<<"管理員進入請輸1客戶進入請輸2n退出請輸入 0"<<endl;retu
18、rn;cout<<" 密碼正確 ! 您可以輸入 05 選擇功能 :"<<endl;cout<<setw(25)<<"1.訂購機票 "<<'n'<<setw(25)<<"2.反退機票"<<'n'<<setw(29)<<"3.查詢航班信息 "<<'n'<<setw(29)<<"4.查看航班信息"&l
19、t;<'n'<<setw(29)<<"5.修改航班信息 "<<'n'<<setw(27)<<"0.返回主界面 "<<endl;int b ;while (b)cin>>b;if(b >= 0 && b <= 5)switch(b)9case 1 :dg();break;/訂購機票case 2 :ft();break;/反退機票case 3:ck();break;/查看航班信息case 4:cx();brea
20、k;/查詢航班信息case 5:xg();break;/修改航班信息case 0: cout<<" 已返回主菜單 "<<'n'<<setw(18)<<"管理員進入請輸1"<<setw(20)<<"客戶進入請輸 2n退出系統請輸入0"<<endl;return; break; /返回主菜單else cout<<"輸入錯誤 !請重新輸入:"<<endl;void fn2()cout<<
21、setw(25)<<"1.訂購機票"<<'n'<<setw(25)<<"2.反退機票 "<<'n'<<setw(29)<<"3.查詢航班信息 "<<'n'<<setw(29)<<"4.查看航班信息 "<<'n'<<setw(27)<<"0.int c ;while(c)cin>>
22、;c;if(c >= 0 && c <= 4)switch(c)返回主界面"<<'n'case 1 :dg();break;/訂購機票case 2:ft();break;/反退機票case 3:ck();break;/查看航班信息case 4:cx();break;/查詢航班信息case 0 :cout<<"已返回主菜單"<<'n'<<setw(18)<<"管理員進入請輸1"<<setw(20)<<&q
23、uot;客戶進入請輸2n退出系統請輸入0"<<endl;return;/返回主菜單else cout<<"輸入錯誤 ! 請重新輸入 :"<<endl;void dg()int a,b,d,m=1;char x20,y20,z20;10cout<<setw(60)<<" 注意 : 每張身份證只能訂13 張,多訂無效。 "<<endl;cout<<setw(31)<<" 請輸入訂票張數 :"cin>>d;if(d >
24、 0 && d < 4)cout<<setw(31)<<" 請輸入身份證號 :" cin>>x;cout<<"n"<<setw(31)<<"請輸入起點 :" cin>>y;cout<<'n'<<setw(31)<<"請輸入終點 :" cin>>z;elsecout<<setw(25)<<"訂票無效 ! n您已返回功
25、能選擇界面,輸入05選擇功能 :"return ;yz(a,b,m);if(m=0)cout<<" 您已返回功能選擇界面,輸入05 選擇功能 :"<<endl;return;else if(b=a)cout<<"訂票成功 !身份證號為 "<<x<<" 的用戶,您訂票從 "<<y<<" 飛往"<<z<<" 的機票 "<<d<<" 張,謝謝光臨 !&
26、quot;<<'n'cout<<"n您現在所在 ( 客戶 / 管理員 ) 菜單 , 請輸 0(4/5) 選擇執行功能 , 退出請輸入 0!"<<endl;return;void ft()int a,b,n=1;char e20;cout<<" 請輸入退票流水號 :"cin>>e;yz(a,b,n);if(n=0)cout<<" 您已返回功能選擇界面,輸入 05 選擇功能 :"<<endl; return;else if( b = a )
27、11cout<<"流水號為 "<<e<<" 的票已退,謝謝您的光臨"<<endl;cout<<"您現在所在 ( 客戶 / 管理員 ) 菜單 , 請輸 0(4/5) 選擇執行功能 , 退出請輸入 0!"<<endl; return;void ck()char f20;cout<<" 請輸入您需要查看的航班航班號:"cin>>f;cout<<" 您要查的是 "<<f<<
28、" 航班 ;n 線路為 南昌飛往上海 謝謝 ! "<<endl; cout<<" 您現在所在 ( 客戶 / 管理員 ) 菜單 , 請輸 0(4/5) 選擇執行功能 , 退出請輸入 0!"<<endl; return;void cx()char g20;cout<<" 請輸入您需要查詢的航班航班號 :" cin>>g;cout<<" 航班號為 "<<g<<" 的航線是從 * 飛往 * ,途徑 * 。"&
29、lt;<endl;cout<<" 您現在所在 ( 客戶 / 管理員 ) 菜單 , 請輸 0(4/5) 選擇執行功能 , 退出請輸入 0!"<<endl;return;void xg()char h20,y20 ;cout<<" 請輸入需要改變路線的票件流水號:"cin>>h;cout<<" 請輸入新的路線編號 :"cin>>y;char t17 = "123456",t27;cout<<" 更改航班信息,請輸入管理員
30、密碼確認:"<<endl;cout<<setw(50)<<" 注意最多只能輸入 3 次 "<<endl; cin>>t2;for(int i=1; i<3 && strcmp(t1,t2)!= 0;i+ )cout<<" 密碼錯誤 ! "<<"您還有 "<<(3-i)<<"次輸入機會 !"<<'n'<<"請輸入密碼 :"
31、;<<endl;cin>>t2;12if( i>=3 && strcmp(t1,t2)!=0 )cout<<"您已返回管理員功能選擇菜單,請輸入05選擇功能 :"<<endl;return;cout<<"密碼正確 !"<<endl;cout<<" 票件流水號為 "<<h<<" 路線已換 "<<endl;cout<<" 改后路線是編號是 "<
32、;<y<<endl;cout<<" 您現在所在 ( 客戶 / 管理員 ) 菜單 , 請輸 0(4/5) 選擇執行功能 , 退出請輸入 0!"<<endl;return;13第 4 章 運行結果及分析圖 4-1歡迎及編輯人信息界面圖案輸出,等待 5 秒的執行由清屏函數 system("cls") 和延時函數 Sleep() ,來實現, Sleep (5000); 中 5000,單位為 1 微秒, 5000 微秒 =5 秒, 所以在此屏幕保留 5 秒, 5 秒后清屏函數 system("cls")
33、 作用后,進入主菜單。圖 4-2主菜單主菜單提供最初選擇,輸入1 管理員,輸入 2 客戶,輸入 0 退出系統,輸入其它數字,顯示輸入錯誤,請重新輸入管理員需輸入密碼確認身份。身份選擇采用 switch語句, case 1: fn1()輸入 1,則選擇管理員功能系統,運行 fn1( )中的語句 ; case 2 : fn2()客戶,執行客戶函數fn2( )中的語句 ; case 0 :cout<<setw(50)<<"感謝您的使用,歡迎再次光臨!"<<endl;退出系統 ;default :cout<<"輸入錯誤 !
34、請重新輸入 1管理員 ;2客戶 "<<endl;除 0、1、2 外的其他數,顯示輸出錯誤需重輸。14圖 43 管理員進入系統 (1)驗證密碼采用字符數組,定義兩個數組 s17,s27 ,運用比較運算符 strcmp( ) 比較兩個數組,相等則 strcmp(s1,s2)=0, 否則不等。圖 4-4管理員進入系統 (2)密碼錯誤 3 次,則 return回主菜單,重新選擇身份。15圖 4-5客戶進入系統輸入 2,運行 fn2()中的語句。客戶選擇功能菜單。圖 4-6 輸入錯誤,請重新輸入main 函數中, switch 語句選項 : default :cout<<
35、;" 輸入錯誤 ! 請重新輸入 1 管理員 ;2 客戶 "<<endl; 除 0、1、2 外的其他數,顯示輸出錯誤需重輸。16圖 4-7 操作功能 1( 選擇功能 1. 訂購機票 )管理員驗證身份成功后或客戶進入,選擇功能1。則出現如上所示界面。由于身份證號過長,采用數的變量定義記時可以,也不方便輸出。所以采用字符變量定義 char 。起點、終點也都采用字符char定義。而驗證碼的選取,由隨機函數rand()隨機出數。驗證碼輸入正確方可訂票成功。驗證碼的核對,采用函數yz(int a,int b,int j)進行運算。在訂購機票函數dg()和反退機票函數ft()
36、中分別加入yz(a,b,m)h和yz (a,b,n),增加訂票退票需輸入驗證碼確認功能。17操作功能 2( 功能 2, 、3、 4) 圖 4-8退票輸入驗證碼,其余都是cout<< ” ” <<endl;了。圖 4-9 管理員操作功能 5( 修改航班信息 ) 18本來只是 cout<< ” ” |<<endl;后來加入再輸入管理員密碼確認。與上面管理員進入是輸入密碼進入程序相同。圖 4-10 返回主菜單并退出系統4/5) 選擇功能時,輸入0,返回主菜單,執行完一個功能后,在提示輸入0(再選擇身份,輸入0 退出系統。19第5章心得體會經過一個學期的C+程序設計的學習,從開始只是對C+感到新鮮到開始熟悉C+,愛上 C+。如同一場戀愛。 C+中的邏輯思考,遞推運算非常吸引我。因為對C+真的比較喜歡,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年 工業鍋爐G1證理論考試練習題附答案
- 節能報告范文17匯編
- 稅務師網盤課件下載指南
- 中國文化娛樂服務行業全景評估及投資規劃建議報告
- 2025年中國消防火災報警系統行業發展前景預測及投資戰略咨詢報告
- 中國體育場地與設施建設行業全景評估及投資規劃建議報告
- 2025年變配電保護自動化項目投資分析及可行性報告
- 巴曲酶項目投資可行性研究分析報告(2024-2030版)
- 中國裝潢設計行業投資研究分析及發展前景預測報告
- 移動應用開發合同
- 城市綠化與噪音減少的技術措施
- 電梯維保培訓
- 內審不符合項案例
- 在高中語文教學中如何融入中華民族共同體意識
- 柔性溫度-壓力傳感器的設計與制備
- 2025年版中醫(壯醫)專業醫師資格考試大綱
- 2025年安徽蕪湖宜居投資集團招聘筆試參考題庫含答案解析
- 2025年中國南方航空招聘筆試參考題庫含答案解析
- 2024版北美留學咨詢與申請一體化服務合同3篇
- 2025版國家開放大學法學本科《知識產權法》期末紙質考試總題庫
- 建設項目全過程工程咨詢-第二次形成性考核-國開(SC)-參考資料
評論
0/150
提交評論