基于C++民航售票管理系統(tǒng)的設(shè)計和實現(xiàn)_第1頁
基于C++民航售票管理系統(tǒng)的設(shè)計和實現(xiàn)_第2頁
基于C++民航售票管理系統(tǒng)的設(shè)計和實現(xiàn)_第3頁
基于C++民航售票管理系統(tǒng)的設(shè)計和實現(xiàn)_第4頁
基于C++民航售票管理系統(tǒng)的設(shè)計和實現(xiàn)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、該論文是本團(tuán)隊為同學(xué)做過的案例 需要完整程序源代碼,答辯PPT或者更多畢業(yè)論文聯(lián)系799523222基于C+民航售票管理系統(tǒng)的設(shè)計和實現(xiàn)學(xué) 生 姓 名:學(xué) 號:專 業(yè) 名 稱:班 級:指導(dǎo)教師姓名:系 (部):職 稱:程序設(shè)計基礎(chǔ)課程設(shè)計任務(wù)書一、題目:民航售票系統(tǒng)二、設(shè)計要求(1)兩人或三人組成課程設(shè)計小組。(2)小組成員分工協(xié)作完成。要求每個成員有自己相對獨立的模塊,同時要了解其他組員完成的內(nèi)容。(3)查閱相關(guān)資料,自學(xué)具體課題中涉及到的新知識。(4)采用結(jié)構(gòu)化、模塊化程序設(shè)計方法設(shè)計,功能要完善,界面美觀。(5)按要求寫出課程設(shè)計報告,并于設(shè)計結(jié)束后1周內(nèi)提交。其主要內(nèi)容包括:封皮、課程

2、設(shè)計任務(wù)書,指導(dǎo)教師評語與成績、目錄、概述、軟件需求分析、總體設(shè)計、詳細(xì)設(shè)計、程序的調(diào)試與測試、總結(jié)與體會、結(jié)束語、程序清單(帶中文注釋)、參考文獻(xiàn)等。報告一律用A4紙打印,正文的中文字體為宋體,西文字體用Time New Roma,一律用小四號字,行距采用“固定值”18磅,首行縮進(jìn)2字符。1級標(biāo)題中文字體為黑體,西文字體為Time New Roma,采用三號字;段落為居中、段前18磅、段后12磅、行距采用“固定值”18磅,首行縮進(jìn):無,段中不分頁,與下段同頁。僅一級標(biāo)題上目錄。三、課程設(shè)計工作量由于是設(shè)計小組團(tuán)結(jié)協(xié)作完成設(shè)計任務(wù),一般每組獨立完成的程序量在400行有效程序行以上,不得抄襲。四

3、、課程設(shè)計工作計劃2008年6月16日,指導(dǎo)教師講課,學(xué)生根據(jù)題目準(zhǔn)備資料,需求分析;2008年6月17日,設(shè)計小組進(jìn)行總體方案設(shè)計和任務(wù)分工;2008年6月18日2008年6月24日,每人完成自己承擔(dān)的程序模塊并通過獨立編譯;2008年6月25日,將各模塊集成為一個完整的系統(tǒng),并錄入足夠的數(shù)據(jù)進(jìn)行調(diào)試運行;2008年6月26日2008年6月27日,驗收、開始撰寫課程設(shè)計報告;2008年7月4日前,提交課程設(shè)計報告和軟件。 指導(dǎo)教師簽章: 教研室主任簽章 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計指導(dǎo)教師評語與成績指導(dǎo)教師評語:課程設(shè)計表現(xiàn)成績: 課程設(shè)計驗收成績: 課程設(shè)計報告成績: 課程設(shè)計總成績: 指導(dǎo)教

4、師簽章 2008年 7 月 日目 錄一概述6二總體方案設(shè)計7三詳細(xì)設(shè)計8四程序的調(diào)試與運行結(jié)果說明13五課程設(shè)計總結(jié)15六后記15七附錄16參考文獻(xiàn)73一 概述1. 課程設(shè)計的目的1使學(xué)生更深入地理解和掌握該課程中的有關(guān)基本概念,程序設(shè)計思想和方法。2培養(yǎng)學(xué)生綜合運用所學(xué)知識獨立完成課題的能力。3培養(yǎng)學(xué)生勇于探索、嚴(yán)謹(jǐn)推理、實事求是、有錯必改,用實踐來檢驗理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具有的素質(zhì)。4提高學(xué)生對工作認(rèn)真負(fù)責(zé)、一絲不茍,對同學(xué)團(tuán)結(jié)友愛,協(xié)作攻關(guān)的基本素質(zhì)。5培養(yǎng)學(xué)生從資料文獻(xiàn)、科學(xué)實驗中獲得知識的能力,提高學(xué)生從別人經(jīng)驗中找到解決問題的新途徑的悟性,初步培養(yǎng)工程意識和創(chuàng)新能力

5、。6對學(xué)生掌握知識的深度、運用理論去處理問題的能力、實驗?zāi)芰?、課程設(shè)計能力、書面及口頭表達(dá)能力進(jìn)行考核。7.這個程序是對編程基本功的一個訓(xùn)練,對于初學(xué)C+語言的人,將分支、循環(huán)、數(shù)組、函數(shù)綜合應(yīng)用,而不僅限于編制獨立的小程序,能夠大大提高編程水平。2. 課程設(shè)計的要求要求掌握C+語言程序設(shè)計的基本理論知識和熟練運用C+語言基本知識,熟悉C+語言的編程、編譯、調(diào)試和運行過程,了解模塊各部分的理論知識并能熟練的運用。同時查找并參照其他書籍對程序設(shè)計進(jìn)行創(chuàng)新,運行環(huán)境美化。3. 課程設(shè)計的主要設(shè)計思想我們這個小組設(shè)計了民航售票系統(tǒng),用了一個主函數(shù)和兩個類和自定義函數(shù),在這個程序里,主要用到了C+語言

6、課程中學(xué)到的類,文件等。我們設(shè)計的系統(tǒng)主要包含以下功能:1. 用戶登錄界面(包括管理員和用戶)2. 管理員操作界面(功能:對航班的添加,刪除,對用戶信息的修改,注銷和退出)5. 用戶操作界面(功能:對個人信息的查詢,修改密碼,訂票,退票,用戶注銷和退出)二 總體方案設(shè)計民航售票系統(tǒng)是一個方便顧客查詢航班,訂票,退票的系統(tǒng)。實現(xiàn)了民航售票系統(tǒng)的基本功能。功能的模塊化設(shè)計,方便對其系統(tǒng)的完善,提高了程序的可讀性。算法的整體思路:運用switch語句實現(xiàn)菜單式選擇,每種選擇調(diào)用其相應(yīng)函數(shù)實現(xiàn)其功能.整體框圖管理員登錄用戶登錄用戶注冊民航售票系統(tǒng)查詢航班訂票退票注銷修改密碼注銷修改用戶ID修改用戶密碼

7、刪除用戶添加刪除航班三 詳細(xì)設(shè)計以下是我承擔(dān)的設(shè)計工作.下面是我負(fù)責(zé)的模塊的代碼和UML圖/用戶注冊/void people:zhuce()char key120,r_name20,q_name20;int k;system(cls);/清屏cout用戶注冊n;coutnnn;sisi:coutr_name;strcpy(q_name,r_name);strcat(r_name,txt);ifstream www(r_name);www.close();if(www) cout 該用戶已存在,請重新輸入用戶名!n;goto sisi;else strcpy(name,q_name);cout

8、請輸入密碼:; for(int i = 0;i 10; i+) key1i = getch(); if(key1i = r) key1i=0; break; if(key1i = b) coutb b; else cout*flush;/星號密碼coutn 請再次輸入密碼; for(int j = 0;j 10; j+) keyj = getch(); if(keyj = r) keyj=0; break; if(keyj = b) coutb b; else cout*flush;while(strcmp(key1,key)coutn 兩次密碼輸入不同!n;cout 請輸入密碼:; for(

9、int i = 0;i 10; i+) key1i = getch(); if(key1i = r) key1i=0; break; if(key1i = b) coutb b; else cout*flush; coutn 請再次輸入密碼; for(int j = 0;j 10; j+) keyj = getch(); if(keyj = r) keyj=0; break; if(keyj = b) coutb b; else cout*flush; coutid;if(strlen(id)=18)k=0;else k=1;while(k)coutn 身份證號錯誤!n;coutid;if(s

10、trlen(id)=18)k=0;strcpy(fly_id,nobook);ofstream pfile(r_name);pfilename id key fly_idendl;pfile.close();system(cls);/清屏coutnnnnnnnn 注冊成功!;coutnnnn 按任意鍵返回主菜單!;getch();intmenu();/注銷后初始化用戶/void intt()char fl20=0;strcpy(NAME,fl);z=0;x=0;people-name20:char-id20:char-key8:char-fly_id10:char+zhuce():void+d

11、englu():void+peoplelist():void+changepw():void+admin():void+book():void+return_piao():void+mibao:void +people_list():voidfly-fly_num10:char-first10:char-f_time10:char-last10:char-l_time10:char-num:int-sheng:int+addfly():void+delfy():void+administ():void+delpeople():void+adminpw():void+changeid():voi

12、d+searchnum():void+search_num():void+admin_list:void四 程序的調(diào)試與運行結(jié)果說明 這幾個模塊基本完成了各自的功能,以下是運行結(jié)果:五 課程設(shè)計總結(jié)兩周的課程設(shè)計很快過去了,通過教師的指導(dǎo)及查閱相關(guān)的資料,基本完成了課程設(shè)計的題目,也達(dá)到了老師的要求,但由于自己的水平有限,考慮問題不十分全面,完成的程序仍存在許多不足之處,希望老師給予指正。本次課程設(shè)計,不僅使在教材中所學(xué)的基礎(chǔ)知識得到了加深和鞏固;同時,設(shè)計中涉及到了許多新知識,通過查閱許多課外的書籍及資料,學(xué)到了許多教材學(xué)不到的知識。在這次的課程設(shè)計中,我們充分發(fā)揮了我們的團(tuán)隊精神。編程是一

13、個集體的工作,所以我們需要有充分地交流,并且要虛心的聽取意見,只有這樣才能把我們的各自的思想最晚整的表達(dá)出來并融合在一起。六 后記同學(xué)們自己發(fā)揮想象七 附錄全部代碼及注釋附錄#include#include#include#include #include #include#includeusing namespace std;int z=0,x=0,g=0;char txt5=.txt;char dat5=.dat;char nametxt20;char NAME20;char name120;char name220;char mon10=ab;void intt();class fly/

14、航班累private:char fly_num10;/航班號char first10;/起點char f_time10;/起飛時間char last10;/終點char l_time10;/到達(dá)時間int num;/乘客限額int sheng;/剩余票數(shù)public:void addfly();/添加航班void delfly();/刪除航班void adminlist();/管理員菜單void delpeople();/刪除用戶 void adminpw();/管理員修改密碼void changeid();/管理員修改用戶身份證號 void searchnum();/按航班號查詢friend

15、 void search_num()/聲明友元函數(shù) fly cc; cc.searchnum();friend admin_list() fly bb; bb.adminlist();class people :public fly/乘客類private:char name20;/姓名char id20;/身份證char key8;/登錄密碼char fly_id10;/機(jī)票數(shù)據(jù)public:void zhuce();/注冊用戶void denglu();/用戶登錄void save();/保存void read();/讀void peoplelist();/用戶列表void changepw

16、();/用戶修改密碼void admin();/管理員登陸void book();/訂票void return_piao();/退票void mibao();friend void people_list() people pp; pp.peoplelist();/第一菜單/void intmenu()people aa;system(cls);/清屏system(color 64); coutnnn;cout -endl;cout Welcome to film! endl;cout 歡迎您進(jìn)入民航訂票系統(tǒng) endl;cout 在此我們將為您提供最優(yōu)質(zhì)的服務(wù) endl;cout endl;c

17、out -endlendl;coutnnn;cout 1.用戶登錄 n;cout 2.用戶注冊 n;cout 0.退出 n;intt();menu:switch(getch() case 1 : aa.denglu();/登錄 break; case 2 : aa.zhuce();/注冊 break; case 0 : exit(1);/退出 break; default: goto menu;/用戶注冊/void people:zhuce()char key120,r_name20,q_name20;int k;system(cls);/清屏cout用戶注冊n;coutnnn;sisi:co

18、utr_name;strcpy(q_name,r_name);strcat(r_name,txt);ifstream www(r_name);www.close();if(www) cout 該用戶已存在,請重新輸入用戶名!n;goto sisi;else strcpy(name,q_name);cout 請輸入密碼:; for(int i = 0;i 10; i+) key1i = getch(); if(key1i = r) key1i=0; break; if(key1i = b) coutb b; else cout*flush;/星號密碼coutn 請再次輸入密碼; for(int

19、j = 0;j 10; j+) keyj = getch(); if(keyj = r) keyj=0; break; if(keyj = b) coutb b; else cout*flush;while(strcmp(key1,key)coutn 兩次密碼輸入不同!n;cout 請輸入密碼:; for(int i = 0;i 10; i+) key1i = getch(); if(key1i = r) key1i=0; break; if(key1i = b) coutb b; else cout*flush; coutn 請再次輸入密碼; for(int j = 0;j 10; j+)

20、keyj = getch(); if(keyj = r) keyj=0; break; if(keyj = b) coutb b; else cout*flush; coutid;if(strlen(id)=18)k=0;else k=1;while(k)coutn 身份證號錯誤!n;coutid;if(strlen(id)=18)k=0;strcpy(fly_id,nobook);ofstream pfile(r_name);pfilename id key fly_idendl;pfile.close();system(cls);/清屏coutnnnnnnnn 注冊成功!;coutnnnn

21、 按任意鍵返回主菜單!;getch();intmenu();/注銷后初始化用戶/void intt()char fl20=0;strcpy(NAME,fl);z=0;x=0;/用戶登錄/void people:denglu() int ki=0; char re10=r;char a_name20,q_name20;char a_key20;char x_name10=admin;back:system(cls);/清屏cout用戶登錄nn;couta_name;strcpy(name1,a_name);strcpy(name2,a_name);if(strcmp(a_name,x_name)

22、=0)admin();strcpy(q_name,a_name);strcat(q_name,txt);ifstream pfile(q_name);if(!pfile) coutnnn 該用戶不存在 ; couta_name; if(!strcmp(a_name,re)=0) goto back;else zhuce();intmenu();pfilenameidkeyfly_id;pfile.close();loopkey:cout 密 碼:;for(int i = 0;i 10; i+)a_keyi = getch();if(a_keyi = r)a_keyi=0;break;if(a_

23、keyi = b) coutb b;else cout*flush;if(!strcmp(a_key,key)=0)cout密碼輸入錯誤,請重新輸入:n;if(ki=3) cout對不起,您的密碼輸入錯誤超過3次,即將推出系統(tǒng)!n;getch();exit(1);ki+;goto loopkey;strcpy(NAME,a_name);strcpy(nametxt,q_name);peoplelist();getch();intmenu();/用戶列表/void people:peoplelist()system(cls);/清屏coutnn NAME的菜單:nnn;cout 1.航班查詢n;

24、cout 2.訂票n;cout 3.退票n;cout 4.修改密碼n;cout 5.注銷登錄n;cout 0.退出n;menu2:switch(getch()case 1:search_num();break;case 2:book();break;case 3:return_piao();break;case 4:changepw();break;case 5:intmenu();break;case 0:exit(1);break; default: goto menu2;/用戶修改密碼/void people:changepw()int ss=0;char key110;int mm=0

25、;system(cls);/清屏 coutkey1;ifstream ww(nametxt);wwnameidkeyfly_id;ww.close();ofstream tt(nametxt);ttname id key1 fly_idendl;tt.close();coutnn 成功!n;getch();peoplelist();/管理員口令卡/void people:mibao()int m01=5,m02=5,m03=2,m04=1,n01,n02;int ji=0;int key1010=814,624,651,675,186,472,667,610,382,473,999,771,7

26、88,364,305,771,993,805,240,131,991,174,504,654,234,238,295,372,564,336,168,810,385,499,156,351,787,906,484,929,679,506,565,886,638,365,835,323,934,850,957,152,798,171,776,330,645,173,251,480,836,995,490,942,319,260,788,285,216,833,900,529,796,368,736,866,484,419,651,843,421,321,449,422,737,420,263,7

27、43,532,610,719,300,879,364,284,516,161,184,788,708,;time_t t;srand(unsigned) time(&t); mb:system(cls);/清屏m01=rand() % 10;/產(chǎn)生10以下隨機(jī)數(shù)m02=rand() % 10;m03=rand() % 10;m04=rand() % 10;coutnnn 請輸入口令卡密碼nnnn;cout 【;switch(m01)case 0 :coutA;break;case 1 :coutB;break;case 2 :coutC;break;case 3 :coutD;break;ca

28、se 4 :coutE;break;case 5 :coutF;break;case 6 :coutG;break;case 7 :coutH;break;case 8 :coutI;break;case 9 :coutJ;break;coutm02+1n01;coutn 【;switch(m03)case 0 :coutA;break;case 1 :coutB;break;case 2 :coutC;break;case 3 :coutD;break;case 4 :coutE;break;case 5 :coutF;break;case 6 :coutG;break;case 7 :co

29、utH;break;case 8 :coutI;break;case 9 :coutJ;break;coutm04+1n02;if(keym02m01=n01&keym04m03=n02)admin_list();elsecout 口令卡密碼錯誤,請重新輸入!n;ji+;if(ji=3) cout口令卡密碼錯誤超過3次,您將退出系統(tǒng)!;exit(1);goto mb;/管理員登錄/void people:admin()char men10=c,ch10=pass;char z_key10;int hk=0;nood:system(cls);/清屏strcat(mon,men);strcpy(c

30、h,mon);cout管理員登錄nnn;cout請輸入管理員密碼:;for(int i = 0;i 10; i+)z_keyi = getch();if(z_keyi = r)z_keyi=0;break;if(z_keyi = b) coutb b;else cout*flush;if(!strcmp(z_key,ch)=0)if(hk=2) cout輸入密碼錯誤超過3次!、;getch();intmenu();system(cls);/清屏coutnnnnn 管理員密碼錯誤!按任意鍵重新輸入!n;hk+;getch();goto nood;mibao();/管理員菜單/void fly:

31、adminlist()system(cls);/清屏cout管理員菜單nnn;cout 1.添加航班n;cout 2.刪除航班n;cout 3.刪除用戶n;cout 4.修改用戶密碼n;cout 5.修改用戶身份證n;cout 6.注銷登錄n;cout 0.退出n;menu1:switch(getch()case 1:addfly();break;case 2:delfly();break;case 3:delpeople();break;case 4:adminpw();break;case 5:changeid();break;case 6:strcpy(mon,0);intmenu();

32、break;case 0:exit(1);break; default: goto menu1;/刪除用戶/void fly:delpeople() char delpp20,tt2,qq2=y;system(cls);/清屏coutdelpp;coutnn 是否真的要刪除用戶?nendl;couttt;if(strcmp(tt,qq)=0) strcat(delpp,txt); if(DeleteFile(delpp) printf(nn 刪除用戶成功!n); getch(); else cout 用戶不存在!n; getch(); admin_list();/添加航班/void fly:a

33、ddfly()char b_fly10;sitt:system(cls);/清屏coutfly_num;strcpy(b_fly,fly_num);strcat(b_fly,dat);ifstream sel(b_fly);sel.close();if(sel) cout 該航班已存在,請重新輸入航班號!n;getch();goto sitt;coutfirst;coutf_time;coutlast;coutl_time;coutnum;ofstream hb(b_fly);hbfly_num first f_time last l_time num numendl; hb.close(); coutn 添加航班成功endl;getch();adminlist();/刪除航班/void fly:delfly() char d_fly10;char ll2=y;char qq2;system(cls);/清屏 coutd_fly; coutnn 是否真的要刪除該航班?nendl;coutqq;if(strcmp(qq,ll)=0)strcat(d_fly,dat); if(D

溫馨提示

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

評論

0/150

提交評論