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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)來存放教師的信息。首先是信息錄入模塊,接下來輸出模塊,即瀏覽,查詢,排序信息三個(gè)模塊,最后是訂票,退票模塊。為降低操作難度,以及出錯(cuò)率,決定使用全局?jǐn)?shù)組及變量進(jìn)行操作。1.2飛機(jī)訂票系統(tǒng)簡(jiǎn)易圖二、系統(tǒng)設(shè)計(jì)2.1總體設(shè)計(jì)(主要功能)本程序包含六大主要模塊添加信息模塊;瀏覽信息模塊;信

2、息查詢模塊;信息排序模塊;訂票模塊;退票模塊。整體程序采用全局?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)志量(隱藏信息)。輸入模塊,使用分條輸入,以減少錯(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.50GHz 2.50GHz;顯

3、卡 GTX650。內(nèi) 存 4.0GB操作系統(tǒng) Windows 72.3主要數(shù)據(jù)結(jié)構(gòu)和程序的關(guān)系說明主要數(shù)據(jù)結(jié)構(gòu)是結(jié)構(gòu)體struct hbxx/定義結(jié)構(gòu)體數(shù)組,航班信息int hbh;/定義航班號(hào)char qd20;/起點(diǎn)站char zd20;/終點(diǎn)站float pj;/票價(jià)int sl;/機(jī)票數(shù)量int dcp;/訂票標(biāo)志量fjN;2.4界面設(shè)計(jì)本程序開始運(yùn)行的界面,共7個(gè)選項(xiàng),簡(jiǎn)潔而大方。接下來是添加信息的界面。采用分條添加,清晰而明朗。瀏覽信息的界面,將所有航班信息顯示在屏幕上。查詢航班信息界面,根據(jù)用戶輸入的航班號(hào),顯示其航班信息。便于用戶使用,查找。航班排序界面,將所有航班根據(jù)航班號(hào)進(jìn)

4、行排序,可由用戶選擇是由大到小,還是由小到大。訂票界面,由用戶輸入需要訂票的航班號(hào),在進(jìn)行訂票操作。退票界面。2.5函數(shù)模塊設(shè)計(jì)(函數(shù)功能說明和入口參數(shù)的說明)void xxtj();/信息添加的函數(shù)void xianshi();/顯示航班信息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ù)

5、文件void paixu1();/按航班號(hào)從小到大排void paixu2();/從大到小三、系統(tǒng)實(shí)現(xiàn)主要代碼/飛機(jī)訂票系統(tǒng)/頭文件#include/標(biāo)準(zhǔn)輸入,輸出函數(shù)#include/包含字符串處理的頭文件#include/包含access的頭文件,用于系統(tǒng)初始化#define N 9999/定義最大航班數(shù)#define PRINT %dtt%stt%stt%.2ftt%dn,fji.hbh,fji.qd,fji.zd,fji.pj,fji.sl/宏定義輸出格式struct hbxx/定義結(jié)構(gòu)體數(shù)組,航班信息int hbh;/定義航班號(hào)char qd20;/起點(diǎn)站char zd20;/終點(diǎn)站

6、float pj;/票價(jià)int sl;/機(jī)票數(shù)量int dcp;/訂票標(biāo)志量fjN;int i,m=0;/定義全局變量char pd10=y;/函數(shù)聲明void xxtj();/信息添加的函數(shù)蘆杰void xianshi();/顯示航班信息祁海鵬void chazhao();/查找航班信息祁海鵬void dingpiao();/訂票業(yè)務(wù)李平void tuipiao();/退票業(yè)務(wù)李平void duqu();/讀取文件蔡曉宏void baocun();/保存文件蔡曉宏void scgs();/輸出格式函數(shù)祁海鵬void paixu();/航班排序李平void chushihua();/系統(tǒng)初始化

7、蘆杰void jianli();/建立數(shù)據(jù)文件蘆杰void paixu1();/按航班號(hào)從小到大排蔡曉宏void paixu2();/從大到小蔡曉宏/主函數(shù)void main()/主函數(shù)李平int j;chushihua();/系統(tǒng)初始化判斷是否存在原始的數(shù)據(jù)文件printf(歡迎使用飛機(jī)訂票系統(tǒng)n);/打印出系統(tǒng)主界面doprintf(=nttt1.添加航班信息。nttt2.瀏覽航班信息。nttt3.查詢航班信息。nttt4.航班信息排序。nttt5.訂票業(yè)務(wù)。nttt6.退票業(yè)務(wù)。nttt0.退出。n=n);printf(請(qǐng)?jiān)?-6中選擇以回車鍵結(jié)束:);scanf(%d,&j);swit

8、ch(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;/調(diào)用退票模塊case 0:baocun();printf(謝謝使用,再見!n);break;default:printf(輸入有誤!n);break;while(j!=0);/判斷是否調(diào)用其他函數(shù)void chushihua()/定義系統(tǒng)初始化函

9、數(shù)盧杰if(access(fjdpxt.dat,0)jianli();elseduqu();void jianli()/定義建立數(shù)據(jù)文件函數(shù)盧杰FILE *fp;if(fp=fopen(fjdpxt.dat,wb)=NULL)/打印文件判斷是否出錯(cuò)printf(創(chuàng)建文件失??!);/打印出錯(cuò)提示getchar();return;printf(請(qǐng)依次輸出航班信息(以回車鍵結(jié)束):n);/打印提示信息printf(-n);for(i=0;iN;i+)printf(請(qǐng)輸入航班號(hào):);scanf(%d,&fji.hbh);printf(請(qǐng)輸入起始站:);scanf(%s,fji.qd);printf(請(qǐng)

10、輸入終點(diǎn)站:);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)!=0)/判斷是否繼續(xù)添加航班信息fclose(fp);/關(guān)閉文件return;void duqu()/定義讀取文件函數(shù)蔡曉宏FILE *fp;if(fp=fopen(fjdpxt.dat,r)=NULL)pr

11、intf(創(chuàng)建文件失敗!);getchar();return;i=0;while(!feof(fp)/判斷是否遇到文件結(jié)束, fread(&fji,sizeof(struct hbxx),1,fp);/逐塊讀取數(shù)據(jù)i+;m+;/計(jì)算存在的航班數(shù)m-;fclose(fp);void baocun()/定義保存函數(shù)蔡曉宏FILE *fp;if(fp=fopen(fjdpxt.dat,wb)=NULL)printf(創(chuàng)建文件失??!);getchar();return;for(i=0;im;i+)/逐塊保存數(shù)據(jù)fwrite(&fji,sizeof(struct hbxx),1,fp);fclose(f

12、p);void xxtj()/定義添加航班信息函數(shù)盧杰doprintf(請(qǐng)依次輸入您要添加的航班信息(以回車鍵結(jié)束):n);/打印提示信息printf(n);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+;printf(添加完畢,是否繼續(xù)添加?請(qǐng)鍵入y或者n以回車鍵結(jié)束:);scanf(%s,pd);wh

13、ile(!strcmp(pd,y);/判斷是否繼續(xù)添加void scgs()/定義輸出格式祁海鵬printf(航班號(hào)tt起始站tt終點(diǎn)站tt價(jià)格tt機(jī)票數(shù)n);/信息標(biāo)題 for(i=0;im;i+)printf(PRINT);/打印出信息void xianshi()/定義顯示航班信息函數(shù)祁海鵬printf(n目前我們有如下航班:n);scgs();/調(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

14、(i=0;im;i+)if(fji.hbh=n)/按航班號(hào)判定輸出條件printf(n您所查找的航班信息為:n);printf(航班號(hào)tt起始站tt終點(diǎn)站tt票價(jià)tt機(jī)票數(shù)nn);printf(PRINT);/顯示信息strcpy(pd,y);printf(n查詢完畢,按回車鍵繼續(xù));getchar();getchar();return;printf(n對(duì)不起,沒有您需要的信息!n);printf(是否重新查找?請(qǐng)鍵入y或n以回車鍵結(jié)束:);scanf(%s,pd);while(!strcmp(pd,y);/判斷是否重新查找void dingpiao()/定義訂票業(yè)務(wù)函數(shù)李平char a10=

15、y;dochazhao();/調(diào)用查詢模塊if(strcmp(pd,y)printf(對(duì)不起!沒有找到您所需要的航班,所以不能訂票。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=fji.dcp)/判斷機(jī)票數(shù)是否大于等于訂票數(shù)fji.sl=fji.sl-fji.dcp;printf(訂票成功!);break;else if(fji.slfji.dcp)/判斷機(jī)票數(shù)是否小于訂票數(shù)prin

16、tf(對(duì)不起,您所選擇的航班只剩%d張機(jī)票n,fji.sl);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;doint n=0;chazhao();/調(diào)用查找函數(shù)if(strcmp(pd,y)printf(對(duì)不起!沒有找到你所需要的航班,所以不能退票。n);printf(n請(qǐng)按

17、回車鍵返回上層菜單);getchar();getchar();strcpy(pd,n);break;printf(請(qǐng)輸入您要退的機(jī)票數(shù)目:);scanf(%d,&n);/輸入所退票數(shù)if(n=fji.dcp)printf(輸入錯(cuò)誤,退票量大于售出量。n);elsefji.sl=fji.sl+n;printf(退票成功!);printf(是否繼續(xù)?請(qǐng)鍵入y或n以回車鍵結(jié)束:);/判斷是否繼續(xù)退票scanf(%s,a);while(!strcmp(a,y);/判定并跳出循環(huán)void paixu()/定義排序函數(shù)李平intn;printf(n*n);printf(1.按航班號(hào)從小到大排序n2.按航班

18、號(hào)從大到小排序n);printf(*);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();getchar();void paixu1()/定義從小到大排序函數(shù)int k,j;struct hbxx t;for(i=0;jm;i+)k=1;for(j=1;jfjj.hbh)k=j;if(i!=k)t=fjk;fjk=fji;fji=t;void paixu2()/定義從大到小排序函數(shù)int k,j;struct hbxx t;for(i=0;jm;i+)k=1;for(j=1;jm;j+)if(fjk.hbhfjj.hbh)k=j;if

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論