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

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上飛機訂票系統(tǒng)課程設(shè)計報告 指導(dǎo)老師: 班 級: 學生姓名: 學 號: 完成日期: 計算機科學與技術(shù)系飛機訂票系統(tǒng)課程設(shè)計報告一、系統(tǒng)分析。1.1根據(jù)飛機訂票系統(tǒng)的設(shè)計目的,設(shè)計內(nèi)容和設(shè)計要求。本團隊對飛機訂票系統(tǒng)這一基礎(chǔ)管理系統(tǒng)的業(yè)務(wù)進行了細致的分析討論。最終我們決定將整個系統(tǒng)分成7個主要模塊。采用結(jié)構(gòu)體這一數(shù)據(jù)結(jié)構(gòu)來存放教師的信息。首先是信息錄入模塊,接下來輸出模塊,即瀏覽,查詢,排序信息三個模塊,最后是訂票,退票模塊。為降低操作難度,以及出錯率,決定使用全局數(shù)組及變量進行操作。1.2飛機訂票系統(tǒng)簡易圖二、系統(tǒng)設(shè)計2.1總體設(shè)計(主要功能)本程序包含六大主要模塊添加

2、信息模塊;瀏覽信息模塊;信息查詢模塊;信息排序模塊;訂票模塊;退票模塊。整體程序采用全局數(shù)組fj(飛機)進行存儲,全局變量pd(判斷)作為標識變量。宏定義輸出格式。采用Y,N的方式進行操作回退或繼續(xù)操作的選擇。航班信息包括:航班號,起點,終點,票價,數(shù)量及訂票標志量(隱藏信息)。輸入模塊,使用分條輸入,以減少錯誤率并方便操作。瀏覽,查詢及排序模塊,組合成輸出模塊。多方式輸出更便于觀察并方便記錄,同時為后續(xù)模塊的執(zhí)行提供操作基礎(chǔ)。訂,退票模塊調(diào)用查詢模塊實現(xiàn)其功能。2.2 軟件、硬件環(huán)境軟件環(huán)境 VC2009硬件環(huán)境 處理器 Intel(R) Core(TM) i5-3210M CPU 2.50

3、GHz 2.50GHz;顯卡 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;/定義航班號char qd20;/起點站char zd20;/終點站float pj;/票價int sl;/機票數(shù)量int dcp;/訂票標志量fjN;2.4界面設(shè)計本程序開始運行的界面,共7個選項,簡潔而大方。接下來是添加信息的界面。采用分條添加,清晰而明朗。瀏覽信息的界面,將所有航班信息顯示在屏幕上。查詢航班信息界面,根據(jù)用戶輸入的航班號,顯示其航班信息。便于用戶使用,查找。航班排序界

4、面,將所有航班根據(jù)航班號進行排序,可由用戶選擇是由大到小,還是由小到大。訂票界面,由用戶輸入需要訂票的航班號,在進行訂票操作。退票界面。2.5函數(shù)模塊設(shè)計(函數(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 j

5、ianli();/建立數(shù)據(jù)文件void paixu1();/按航班號從小到大排void paixu2();/從大到小三、系統(tǒng)實現(xiàn)主要代碼/飛機訂票系統(tǒng)/頭文件#include/標準輸入,輸出函數(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;/定義航班號char qd20;/起點站c

6、har zd20;/終點站float pj;/票價int sl;/機票數(shù)量int dcp;/訂票標志量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 chush

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

8、f(%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;/調(diào)用退票模塊case 0:baocun();printf(謝謝使用,再見!n);break;default:printf(輸入有誤!n);break;while(j!=0);/判斷是否調(diào)用其他函數(shù)void chushih

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

10、.qd);printf(請輸入終點站:);scanf(%s,fji.zd);printf(請輸入票價:);scanf(%f,&fji.pj);printf(請輸入機票數(shù):);scanf(%d,&fji.sl);fwrite(&fji,sizeof(struct hbxx),1,fp);m+;printf(添加完畢,是否繼續(xù)添加?請鍵入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.d

11、at,r)=NULL)printf(創(chuàng)建文件失?。?;getchar();return;i=0;while(!feof(fp)/判斷是否遇到文件結(jié)束, fread(&fji,sizeof(struct hbxx),1,fp);/逐塊讀取數(shù)據(jù)i+;m+;/計算存在的航班數(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

12、,fp);fclose(fp);void xxtj()/定義添加航班信息函數(shù)盧杰doprintf(請依次輸入您要添加的航班信息(以回車鍵結(jié)束):n);/打印提示信息printf(n);printf(請輸入航班號:);scanf(%d,&fjm.hbh);printf(請輸入起點站:);scanf(%s,fjm.qd);printf(請輸入終點站:);scanf(%s,fjm.zd);printf(請輸入票價:);scanf(%f,&fjm.pj);printf(請輸入機票數(shù):);scanf(%d,&fjm.sl);m+;printf(添加完畢,是否繼續(xù)添加?請鍵入y或者n以回車鍵結(jié)束:);sc

13、anf(%s,pd);while(!strcmp(pd,y);/判斷是否繼續(xù)添加void scgs()/定義輸出格式祁海鵬printf(航班號tt起始站tt終點站tt價格tt機票數(shù)n);/信息標題 for(i=0;im;i+)printf(PRINT);/打印出信息void xianshi()/定義顯示航班信息函數(shù)祁海鵬printf(n目前我們有如下航班:n);scgs();/調(diào)用輸出格式函數(shù)printf(n請按回車鍵返回上層菜單);getchar();getchar();void chazhao()/定義查詢函數(shù)祁海鵬int n;doprintf(n請輸入航班號:);scanf(%d,&n)

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

15、函數(shù)李平char a10=y;dochazhao();/調(diào)用查詢模塊if(strcmp(pd,y)printf(對不起!沒有找到您所需要的航班,所以不能訂票。n);printf(n請按回車鍵返回上層菜單);getchar();getchar();strcpy(pd,y);break;doprintf(請輸入您要訂的機票數(shù)(以回車結(jié)束):);scanf(%d,&fji.dcp);/輸入所定機票數(shù)if(fji.dcp=fji.dcp)/判斷機票數(shù)是否大于等于訂票數(shù)fji.sl=fji.sl-fji.dcp;printf(訂票成功!);break;else if(fji.slfji.dcp)/判斷機

16、票數(shù)是否小于訂票數(shù)printf(對不起,您所選擇的航班只剩%d張機票n,fji.sl);printf(是否需要重新輸入機票數(shù)?請輸入y或n以回車鍵結(jié)束:);/判斷是否重新輸入訂票數(shù)scanf(%s,a);while(!strcmp(a,y);printf(是否需要訂其他航班的機票?請輸入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(對不起!沒有找到你所需要的航班,所以不能退票。

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

18、號從小到大排序n2.按航班號從大到小排序n);printf(*);printf(請在1-2中選擇以回車鍵結(jié)束:);scanf(%d,&n);/輸入排序方式switch(n)case 1:paixu1();break;/調(diào)用從小到大排序函數(shù)case 2:paixu2();break;/調(diào)用從大到小排序函數(shù)default:printf(輸入有誤!按默認輸出。n);printf(排序后的航班信息為:n);scgs();/顯示排序后的航班信息printf(n請按回車鍵返回上層菜單);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(i!=k)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論