飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告指導(dǎo)老師:班 級(jí):學(xué)生姓名:學(xué) 號(hào):完成日期:計(jì)算機(jī)科學(xué)與技術(shù)系飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告一、系統(tǒng)分析。1.1 根據(jù)飛機(jī)訂票系統(tǒng)的設(shè)計(jì)目的,設(shè)計(jì)內(nèi)容和設(shè)計(jì)要求。本團(tuán)隊(duì)對(duì)飛機(jī)訂票系統(tǒng)這一基礎(chǔ)管理系統(tǒng)的業(yè)務(wù)進(jìn)行了細(xì)致的分析討論。最終我們決定將整個(gè)系統(tǒng)分成 7個(gè)主要模塊。采用結(jié)構(gòu)體這一數(shù)據(jù)結(jié)構(gòu)來(lái)存放教師的信息。首先是信息錄入模塊,接下來(lái)輸出模塊,即瀏覽,查詢,排序信息三個(gè)模塊,最后是訂票,退票模塊。為降低操作難度,以及出錯(cuò)率,決定使用全局?jǐn)?shù)組及變量進(jìn)行操作。1.2 飛機(jī)訂票系統(tǒng)簡(jiǎn)易圖飛機(jī)訂票系統(tǒng)/(一 上1.1dI 一 上10,退出.1.添加航2.瀏覽航3.查詢航4,航班信5.

2、訂票業(yè) 6,退票業(yè)班信國(guó)班信息,班信息評(píng) 息排序 務(wù), 務(wù)卡L |J喻入航班號(hào).輸入航班號(hào)蛉入褊轎卻I .輸入航班號(hào),限人航班數(shù)11 .按航班從輸入機(jī)票數(shù)力 小到大排列訂票成功2 一從大到小排如輸入起點(diǎn)站查詢結(jié)果口輸入終點(diǎn)站輸入票價(jià)”L輸入機(jī)票數(shù).二、系統(tǒng)設(shè)計(jì)2.1 總體設(shè)計(jì)(主要功能)本程序包含六大主要模塊添加信息模塊;瀏覽信息模塊;信息查詢模塊;信息排序模塊;訂票模塊;退票模 塊。整體程序采用全局?jǐn)?shù)組fj (飛機(jī))進(jìn)行存儲(chǔ),全局變量pd (判 斷)作為標(biāo)識(shí)變量。宏定義輸出格式。采用 Y, N的方式進(jìn)行 操作回退或繼續(xù)操作的選擇。航班信息包括:航班號(hào),起點(diǎn),終點(diǎn),票價(jià),數(shù)量及訂票標(biāo)志量(隱藏

3、信息)。輸入模塊,使用分條輸入,以減少錯(cuò)誤率并方便操作。瀏覽,查詢及排序模塊,組合成輸出模塊。多方式輸出更便 于觀察并方便記錄,同時(shí)為后續(xù)模塊的執(zhí)行提供操作基礎(chǔ)。訂,退票模塊調(diào)用查詢模塊實(shí)現(xiàn)其功能。2.2 軟件、硬件環(huán)境軟件環(huán)境VC2009硬件環(huán)境 處理器 Intel(R) Core(TM) i5-3210M CPU 2.50GHz2.50 GHz;顯卡 GTX650內(nèi)存4.0GB操作系統(tǒng)Windows 72.51 要數(shù)據(jù)結(jié)構(gòu)和程序的關(guān)系說(shuō)明/定義結(jié)構(gòu)體數(shù)組,航班信息主要數(shù)據(jù)結(jié)構(gòu)是結(jié)構(gòu)體struct hbxx2.4int hbh;char qd20;char zd20;float pj;int

4、 sl;int dcp;fjN;界面設(shè)計(jì)/定義航班號(hào)/起點(diǎn)站/終點(diǎn)站/票價(jià)/機(jī)票數(shù)量/訂票標(biāo)志量本程序開始運(yùn)行的界面,共7個(gè)選項(xiàng),簡(jiǎn)潔而大方。雙迎使用飛機(jī)訂票系自心自心自心 e厘號(hào)r: 班班班息務(wù)務(wù)業(yè)票西壬 添瀏查航工退12 3 4 5 6 0請(qǐng)?jiān)趃f中選擇以回主鍵結(jié)束:接下來(lái)是添加信息的界面。采用分條添加,清晰而明朗歡迎使用飛機(jī)可零系統(tǒng)息息息序期W1郎壽務(wù)諉瀏查航膏青一苴站S班點(diǎn).快d終挈機(jī)畢入人人人人完請(qǐng)荏明臺(tái)中選擇以回車鍵結(jié)束::清葆次輸流舞淘ta 版舞息以回車犍結(jié)束):1s4 * = r.r. "1 -i m -, - UK"-一一- 一 - =. - 1 -.i/

5、r. " - -* - - - - -" - * - ”.Fr- -加 工山西二北素120 t 240否繼續(xù)添加?清橇2或者n以回車施結(jié)束工瀏覽信息的界面,將所有航班信息顯示在屏幕上。B心自心班珊班息熱發(fā) 二國(guó)一加一死三一口上LJI JMJ- 4班票曲田添瀏查航苴退12 3 4 5 6 0區(qū)在斤6中選擇以回車鍵結(jié)束m前巷們有如下航班,價(jià)格機(jī)票數(shù)24D翩再起始站終點(diǎn)站12312342山西龍京I按回車犍返回上層菜單查詢航班信息界面,根據(jù)用戶輸入的航班號(hào),顯示其航班信息。便于用戶使用,查找。息息S.序: 班班班息務(wù)務(wù)班票西田 添瀏查骯蔡退產(chǎn)在*6中選擇以回車本束:3 卜ft入航班

6、號(hào).|uU山西詢完畢,按回車鍵繼續(xù).終點(diǎn)站 北京票價(jià)機(jī)票數(shù)240航班排序界面,將所有航班根據(jù)航班號(hào)進(jìn)行排序,可由用戶選擇是由大到小,還是由小到大息息息序 喑喧后<: 班班班息務(wù)務(wù)H1 - « 班票西田一一 禽查航訂逼退一一12 3 4 5 6 0 -二 二 二 二 二 二 二 二 二二 二 二 二 二 二 二 二 二 二 二 二 二二 二 二 二 二 二 二 二 二 二 二機(jī)票數(shù) 240格比價(jià)12站占景終北站盟 為起山息=e 1,/TI:.一一束航 一一結(jié)的 一一鍵后號(hào)睛按回車健返回上層菜單訂票界面,由用戶輸入需要訂票的航班號(hào),在進(jìn)行訂票操作一一息息息序F信崔國(guó)耶: -班班班息

7、務(wù)務(wù)業(yè)業(yè), X 班票西茁 一一添瀏查航訂退退 ! -1234560青在回f中選擇以回車鍵結(jié)束:5靖輸入航班號(hào):2躁找的航班鹿遍終點(diǎn)站票價(jià)機(jī)票數(shù)山西北京120.SB240 .按國(guó)車鍵繼續(xù)退票界面。12 3 4 5 6 0息息息信喧后<: 班班班息務(wù)務(wù) ,冗幾、見士 - 口也也班票西田 添瀏查航訂退退請(qǐng)?jiān)谌說(shuō)中選擇以回車鍵結(jié)束:E請(qǐng)輸入航班號(hào):2終點(diǎn)站票價(jià)山西北樂(lè)1200機(jī)票數(shù)220完今詢輸票查M最. .何車鍵繼虢要X的機(jī)票數(shù)目:12京礴續(xù)號(hào)請(qǐng)鍵入照加以回車犍結(jié)束2.5函數(shù)模塊設(shè)計(jì)(函數(shù)功能說(shuō)明和入口參數(shù)的說(shuō)明)void xxtj();/信息添加的函數(shù)void xianshi();/顯示航班

8、信息void chazhao();/查找航班信息void dingpiao();/訂票業(yè)務(wù)void tuipiao();/退票業(yè)務(wù)void duqu();/讀取文件void baocun();/保存義件void scgs();/輸出格式函數(shù)void paixu();/航班排序void chushihua();/系統(tǒng)初始化void jianli();/建立數(shù)據(jù)文件void paixu1();/按航班號(hào)從小到大排void paixu2();/從大到小三、系統(tǒng)實(shí)現(xiàn)主要代碼/飛機(jī)訂票系統(tǒng)/頭文件#include<stdio.h>#include<string.h>#includ

9、e<process.h>#define N 9999/標(biāo)準(zhǔn)輸入,輸出函數(shù)/包含字符串處理的頭文件/包含access的頭文件,用于系統(tǒng)初始化/定義最大航班數(shù)#definePRINT"%dtt%stt%stt%.2ftt%dn",fji.hbh,fji.qd,fji.zd,fji.pj ,fji.sl/宏定義輸出格式上struct hbxxint hbh;char qd20;char zd20;float pj;int sl;int dcp;fjN;/定義結(jié)構(gòu)體數(shù)組,航班信息/定義航班號(hào)/起點(diǎn)站/終點(diǎn)站/票價(jià)/機(jī)票數(shù)量訂票標(biāo)志量int i,m=0;char pd10

10、="y"/函數(shù)聲明void xxtj();void xianshi();void chazhao();void dingpiao();void tuipiao();void duqu();void baocun();void scgs();void paixu();void chushihua();void jianli();void paixu1();void paixu2();/主函數(shù)void main()int j;chushihua();/定義全局變量/信息添加的函數(shù)一一盧杰/顯示航班信息一一祁海鵬/查找航班信息一一祁海鵬/訂票業(yè)務(wù)李平/退票業(yè)務(wù)一一李平/讀取文件一

11、一蔡曉宏顯存文件一一蔡曉宏/輸出格式函數(shù)一一祁海鵬/航班排序一一李平/系統(tǒng)初始化一一盧杰/建立數(shù)據(jù)文件一一盧杰/顯航班號(hào)從小到大排一一蔡曉宏/從大到小蔡曉宏/主函數(shù)李平/系統(tǒng)初始化判斷是否存在原始的數(shù)據(jù)文件printf("歡迎使用飛機(jī)訂票系統(tǒng)n");/ 打印出系統(tǒng)主界面do(printf("= =n""ttt1.添加航班信息。n""ttt2.瀏覽航班信息。n""ttt3.查詢航班信息。n""ttt4.航班信息排序。n""ttt5.訂票業(yè)務(wù)。n""

12、ttt6.退票業(yè)務(wù)。n""ttt0.退出。n"II =n");printf(" 請(qǐng)?jiān)?-6中選擇以回車鍵結(jié)束:");scanf("%d",&j);switch(j)(case 1:xxtj();break; /調(diào)用信息添加函數(shù)case 2:xianshi();break;/調(diào)用顯示模塊case 3:chazhao();break;/調(diào)用查找模塊case 4:paixu();break;/調(diào)用排序函數(shù)case 5:dingpiao();break;/調(diào)用訂票模塊case 6:tuipiao();break;/

13、調(diào)用退票模塊case 0:baocun();printf(" 謝謝使用,再見! n"); break;default:printf("輸入有誤! n");break;while(j!=0);/判斷是否調(diào)用其他函數(shù)void chushihua()if(access("fjdpxt.dat",0)jianli();/定義系統(tǒng)初始化函數(shù)盧杰 elseduqu();void jianli()/定義建立數(shù)據(jù)文件函數(shù)盧杰(FILE *fp;if(fp=fopen("fjdpxt.dat","wb")=NUL

14、L)/ 打印文件判斷是否出錯(cuò)(printf("創(chuàng)建文件失??!");打印出錯(cuò)提示getchar(); return;)printf("請(qǐng)依次輸出航班信息(以回車鍵結(jié)束):n"); 打印提示信息printf("n");for(i=0;i<N;i+)(printf("請(qǐng)輸入航班號(hào):");scanf("%d",&fji.hbh);printf("請(qǐng)輸入起始站:");scanf("%s",fji.qd);printf("請(qǐng)輸入終點(diǎn)站:&quo

15、t;);scanf("%s",fji.zd);printf("請(qǐng)輸入票價(jià):");scanf("%f",&fji.pj);printf("請(qǐng)輸入機(jī)票數(shù):");scanf("%d",&fji.sl);fwrite(&fji,sizeof(struct hbxx),1,fp);m+;printf("添加完畢,是否繼續(xù)添加?請(qǐng)鍵入 y或n以回車鍵結(jié)束:");scanf("%s",pd);if(strcmp(pd,"y")

16、!=0)/判斷是否繼續(xù)添加航班信息( fclose(fp);/ 關(guān)閉文件return;)void duqu()/定義讀取文件函數(shù)蔡曉宏(FILE *fp;if(fp=fopen("fjdpxt.dat","r")=NULL) (printf("創(chuàng)建文件失??!");getchar(); return;)i=0;/逐塊讀取數(shù)據(jù)while(!feof(fp) /判斷是否遇到文件結(jié)束, fread(&fji,sizeof(struct hbxx),1,fp); i+;m+;/計(jì)算存在的航班數(shù))m-;fclose(fp);)void b

17、aocun() /定義保存函數(shù)蔡曉宏FILE *fp;if(fp=fopen("fjdpxt.dat","wb")=NULL)printf("創(chuàng)建文件失?。?quot;);getchar();return;)for(i=0;i<m;i+)/逐塊保存數(shù)據(jù)fwrite(&fji,sizeof(struct hbxx),1,fp);fclose(fp);)void xxtj()/定義添加航班信息函數(shù)盧杰doprintf("請(qǐng)依次輸入您要添加的航班信息(以回車鍵結(jié)束):n");/打印提示信息printf("n

18、 );printf("請(qǐng)輸入航班號(hào):");scanf("%d”,&fjm.hbh);printf("請(qǐng)輸入起點(diǎn)站:");scanf("%s",fjm.qd);printf("請(qǐng)輸入終點(diǎn)站:");scanf("%s",fjm.zd);printf(" 請(qǐng)輸入票價(jià):");scanf("%f,',&fjm.pj);printf("請(qǐng)輸入機(jī)票數(shù):");scanf("%d",&fjm.sl);m

19、+;printf(" 添加完畢,是否繼續(xù)添加?請(qǐng)鍵入y或者n以回車鍵結(jié)束:");scanf("%s",pd);while(!strcmp(pd,"y");/ 判斷是否繼續(xù)添加void scgs()/定義輸出格式祁海鵬printf(" 航班號(hào)tt 起始站tt 終點(diǎn)站tt 價(jià)格tt 機(jī)票數(shù)n");/信息標(biāo)題for(i=0;i<m;i+)printf(PRINT);/ 打印出信息void xianshi()/定義顯示航班信息函數(shù)祁海鵬printf("n目前我們有如下航班:n");scgs();/

20、調(diào)用輸出格式函數(shù)printf("n請(qǐng)按回車鍵返回上層菜單");getchar();getchar();void chazhao()/定義查詢函數(shù)祁海鵬int n;doprintf("n請(qǐng)輸入航班號(hào):");scanf("%d",&n);/輸入查詢的航班號(hào)for(i=0;i<m;i+)if(fji.hbh=n) /按航班號(hào)判定輸出條件 printf("n您所查找的航班信息為:n");printf(" 航班號(hào)tt 起始站tt 終點(diǎn)站tt 票價(jià)tt 機(jī)票數(shù) nn");printf(PRIN

21、T); / 顯示信息strcpy(pd,"y");printf("n 查詢完畢,按回車鍵繼續(xù)");getchar();getchar(); return;)printf("n對(duì)不起,沒(méi)有您需要的信息!n");printf("是否重新查找?請(qǐng)鍵入y或n以回車鍵結(jié)束:");scanf("%s",pd);while(!strcmp(pd,"y"); / 判斷是否重新查找)void dingpiao()/定義訂票業(yè)務(wù)函數(shù)李平char a10="y"do chazh

22、ao(); /調(diào)用查詢模塊 if(strcmp(pd,"y") printf("對(duì)不起!沒(méi)有找到您所需要的航班,所以不能訂票。n");printf("n請(qǐng)按回車鍵返回上層菜單");getchar();getchar();strcpy(pd,"y");break; doprintf("請(qǐng)輸入您要訂的機(jī)票數(shù)(以回車結(jié)束):");scanf("%d",&fji.dcp);/ 輸入所定機(jī)票數(shù)if(fji.dcp<=0)/判斷機(jī)票數(shù)是否出錯(cuò)printf("輸入錯(cuò)

23、誤!至少需訂1張機(jī)票。n");else if(fji.sl=0) /判斷機(jī)票是否手售完printf("對(duì)不起,你所選擇的力定班的機(jī)票已售完!n");break;else if(fji.sl!=0&&fji.sl>=fji.dcp) /判斷機(jī)票數(shù)是否大于等于訂票數(shù)fji.sl=fji.sl-fji.dcp;printf("訂票成功!");break;) else if(fji.sl<fji.dcp)/判斷機(jī)票數(shù)是否小于訂票數(shù)(printf(" 對(duì)不起,您所選擇的航班只剩d張機(jī)票 n",fji.sl)

24、;printf("是否需要重新輸入機(jī)票數(shù)?請(qǐng)輸入 y或n以回車鍵結(jié)束:");/判斷是否重新輸入訂票數(shù)scanf("%s",a);)while(!strcmp(a,"y");printf("是否需要訂其他航班的機(jī)票?請(qǐng)輸入 y或n以回車鍵結(jié)束:");scanf("%s",a);while(!strcmp(a,"y");/ 判斷是否繼續(xù)訂票void tuipiao()/定義退票函數(shù)李平(char a10; do(int n=0;chazhao(); /調(diào)用查找函數(shù) if(strc

25、mp(pd,"y")(printf("對(duì)不起!沒(méi)有找到你所需要的航班,所以不能退票。n"); printf("n請(qǐng)按回車鍵返回上層菜單");getchar(); getchar(); strcpy(pd,"n"); break;printf("請(qǐng)輸入您要退的機(jī)票數(shù)目:");scanf("%d",&n);/輸入所退票數(shù)if(n<=0)/判斷票數(shù)是否有效printf(" 輸入錯(cuò)誤!至少需退1張機(jī)票。n"); else if(n>=fji.d

26、cp) (printf("輸入錯(cuò)誤,退票量大于售出量。n"); else ( fji.sl=fji.sl+n; printf("退票成功!");printf(" 是否繼續(xù)?請(qǐng)鍵入y或n以回車鍵結(jié)束:");/判斷是否繼 續(xù)退票scanf("%s",a);while(!strcmp(a,"y");/ 判定并跳出循環(huán))/定義排序函數(shù)一一李平void paixu() int n;printf("n*n");printf("1.按航班號(hào)從小到大排序n"*"

27、2.按航班號(hào)從大到小排序n");printf('I*");printf(" 請(qǐng)?jiān)?-2中選擇以回車鍵結(jié)束:");scanf("%d",&n);/輸入排序方式switch(n)case 1:paixu1();break;/調(diào)用從小到大排序函數(shù)case 2:paixu2();break;/調(diào)用從大到小排序函數(shù)default:printf("輸入有誤!按默認(rèn)輸出。n");printf("排序后的航班信息為:n");scgs();/顯示排序后的航班信息printf("n請(qǐng)按回車鍵返回上層菜單");getchar(

溫馨提示

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

評(píng)論

0/150

提交評(píng)論