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

下載本文檔

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

文檔簡(jiǎn)介

1、目錄目錄i1課程設(shè)計(jì)的目的12需求分析12.1設(shè)計(jì)一個(gè)飛機(jī)訂票系統(tǒng),完成以下功能12.2該系統(tǒng)中用到的數(shù)據(jù)結(jié)構(gòu)13概要設(shè)計(jì)23.1總體功能模塊23.1.1 基本設(shè)計(jì)23.1.2開發(fā)平臺(tái)23.1.3系統(tǒng)功能圖23.2詳細(xì)設(shè)計(jì)33.2.1主函數(shù)的實(shí)現(xiàn)33.2.2打印模塊程序43.2.3保存模塊程序53.2.4從文件讀取信息模塊63.2.5打印模塊73.2.8訂票模塊113.2.9退票模塊133.2.10修改模塊133.2.11頭文件及結(jié)構(gòu)體數(shù)組164 調(diào)試與測(cè)試結(jié)果分析174.1系統(tǒng)主界面174.2輸入航班信息界面184.3瀏覽航班信息界面194.4修改航班信息界面194.5查找航班信息界面214

2、.6刪除航班信息界面224.7訂票信息界面234.8退票信息界面244.9退出系統(tǒng)255 使用說明266總結(jié)26參考文獻(xiàn).28附錄.29i德州學(xué)院 信息管理學(xué)院 2014級(jí) 計(jì)科(外包) 自主學(xué)習(xí)能力飛機(jī)票預(yù)訂系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)1課程設(shè)計(jì)的目的(1)學(xué)會(huì)怎樣用c語言做一個(gè)完整的系統(tǒng)。(2)掌握c語言的編輯,鏈接,運(yùn)行等環(huán)節(jié)。(3)掌握c語言中鏈表的建立,插入,刪除,保存節(jié)點(diǎn)。熟練掌握for while 、do-while循環(huán)語句的使用。(4)通過程序設(shè)計(jì)的課程設(shè)計(jì),掌握并熟悉一個(gè)簡(jiǎn)單項(xiàng)目的開發(fā)過程,本項(xiàng)目利用程序設(shè)計(jì)中最基礎(chǔ)和最重要的部分:?jiǎn)捂湵怼?5)在整個(gè)開發(fā)設(shè)計(jì)過程中掌握程序設(shè)計(jì)的思想,以

3、及各種操作和實(shí)際應(yīng)用。并可以將其運(yùn)用于具體問題的解決之中。加深對(duì)程序設(shè)計(jì)課程中理論和實(shí)踐相結(jié)合的認(rèn)識(shí)。(6)掌握并熟練單鏈表的創(chuàng)建、插入、刪除、查找等各種常用算法。最終設(shè)計(jì)完成飛機(jī)票預(yù)訂及查詢系統(tǒng) ,將各種算法綜合運(yùn)用于具體的設(shè)計(jì)任務(wù)中。(7)C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言,它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。它的應(yīng)用范圍廣泛,具備很強(qiáng)的數(shù)據(jù)處理能力,上機(jī)實(shí)習(xí)可以幫助我們更好地理解這種結(jié)構(gòu)式的中級(jí)語言以及其各式各樣的數(shù)據(jù)類型和高效率的運(yùn)算程序,為我們進(jìn)一步學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。2需

4、求分析2.1設(shè)計(jì)一個(gè)飛機(jī)訂票系統(tǒng),完成以下功能 (1)可為此系統(tǒng)增加任意多部的飛機(jī)票,飛機(jī)票按添加先后順序依次編號(hào)排列;(2)允許乘客按飛機(jī)票名訂票訂票;(3)訂過票的乘客,可以退票;(4)允許查詢現(xiàn)有飛機(jī)票的售票處號(hào)及剩余座位數(shù)。(5)允許查詢已售出機(jī)票的信息。2.2該系統(tǒng)中用到的數(shù)據(jù)結(jié)構(gòu) (1)所有飛機(jī)票構(gòu)成一個(gè)單鏈表,且每部飛機(jī)票為一個(gè)結(jié)構(gòu)體,其成員包括:飛機(jī)票序號(hào)(int型)、飛機(jī)票名稱(char20,字符數(shù)組型)、飛機(jī)票剩余票數(shù)座位數(shù)10(int型)、next指針; (2)所有乘客構(gòu)成一個(gè)單鏈表,且每個(gè)乘客為一個(gè)結(jié)構(gòu)體,其成員包括:飛機(jī)票序號(hào)(int型)、乘客姓名(char10,字符

5、數(shù)組型)、飛機(jī)票名(char20,字符型數(shù)組)、乘客持有票數(shù)(int型)、next指針; 3概要設(shè)計(jì)3.1總體功能模塊 3.1.1 基本設(shè)計(jì)此飛機(jī)票預(yù)訂系統(tǒng)是由菜單的選擇來實(shí)現(xiàn)人機(jī)交互的,進(jìn)入預(yù)定頁面以后就可以根據(jù)自己的需求選擇不同的數(shù)字來進(jìn)入不同的界面,進(jìn)入不同的界面可以實(shí)現(xiàn)對(duì)飛機(jī)票的建立、插入、刪除、查詢等信息。 3.1.2開發(fā)平臺(tái)系統(tǒng): Windows 7 旗艦版(64位)處理器: Intel(R)Core(TM)i5-4210M CPU 2.6Ghz內(nèi)存: 4.00 GB程序開發(fā)軟件: Microsoft Visual C+ 6.0文檔編寫: WPS 2013搶鮮版 3.1.3系統(tǒng)功能

6、圖進(jìn)入飛機(jī)票預(yù)訂系統(tǒng)之后,便可以根據(jù)自己的需求對(duì)飛機(jī)票預(yù)訂進(jìn)行增、刪、改、查等操作,總流程圖如圖1所示:3.2詳細(xì)設(shè)計(jì) 3.2.1主函數(shù)的實(shí)現(xiàn)void main()int j; printf( -您好,歡迎進(jìn)入機(jī)票預(yù)訂系統(tǒng)!-n); printf(=n); do printf( - 1.輸入航班信息 - nn - 2.瀏覽航班信息 - nn - 3.修改航班信息 - nn - 4.查找航班信息 - nn - 5.刪除航班信息 - nn - 6.訂票信息 - nn - 7.退票信息 - nn - 0.退出 - nn); printf(=n); printf(請(qǐng)?jiān)?-7中選擇以回車鍵結(jié)束:nn);

7、 scanf(%d,&j); switch(j) case 1: input();/調(diào)用輸入模塊 break; case 2:print();/調(diào)用打印模塊 break; case 3:xiugai();/調(diào)用修改模塊 break; case 4:search();/調(diào)用查找模塊 break; case 5:shanchu(); /調(diào)用刪除模塊 break; case 6:dingpiao();/調(diào)用訂票模塊 break; case 7:tuipiao();/調(diào)用退票模塊 break; case 0:; break; while(j!=0); /判斷結(jié)束 printf(謝謝使用,再見!n);

8、3.2.2打印模塊程序void input()char f=tanbowen; /設(shè)置密碼 int y; printf(請(qǐng)輸入密碼并以回車鍵結(jié)束:nn); scanf(%s,f); /讀取密碼 if(strcmp(f,tanbowen)=0) printf(請(qǐng)依次輸入航班信息(機(jī)票數(shù)位0結(jié)束輸入):nn 完成輸入信息請(qǐng)鍵入w以回車鍵結(jié)束nn); /打印提示信息 printf(-n); for(i=0;iN;i+) printf(請(qǐng)輸入航班號(hào):n); scanf(%d,&si.num); /讀取航班號(hào) printf(請(qǐng)輸入起始站:n); scanf(%s,si.start);/讀取起始站 pri

9、ntf(請(qǐng)輸入終點(diǎn)站:n); scanf(%s,si.over);/讀取終點(diǎn)站 printf(請(qǐng)輸入時(shí)間:n); scanf(%s,si.time);/讀取時(shí)間 printf(請(qǐng)輸入機(jī)票數(shù)(機(jī)票數(shù)為0結(jié)束輸入):n,m); scanf(%d,&si.count);/讀取機(jī)票數(shù) m+; printf(第%d個(gè)信息已經(jīng)輸完是否繼續(xù)?按任意鍵繼續(xù),按 0結(jié)束,m); scanf(%d,&y); if(y=0) save();/將結(jié)構(gòu)體信息存盤 print();/輸出輸入的航班信息 break; else printf(輸入密碼錯(cuò)誤!請(qǐng)檢查您的密碼是否正確!謝謝!再見!nn); 3.2.3保存模塊程序

10、void save()FILE *fp,*fp1;/定義文件指針 if(fp=fopen(chen.dat,wb)=NULL)/打開文件并判斷是否出錯(cuò) printf(創(chuàng)建文件失敗!nn);/打印出錯(cuò)提示 getchar(); return;if(fp1=fopen(hao.dat,wb)=NULL)/打開文件并判斷是否出錯(cuò)printf(創(chuàng)建文件失敗!nn);/打印出錯(cuò)提示 getchar(); return;for(i=0;im;i+) if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件寫入數(shù)據(jù),并判斷是否出錯(cuò) printf(向文件輸入數(shù)據(jù)失敗!nn);

11、 fprintf(fp1,%d,m); fclose(fp);/關(guān)閉文件 fclose(fp1);/關(guān)閉文件 3.2.4從文件讀取信息模塊void read()FILE *fp,*fp1;/定義文件指針 if(fp=fopen(chen.dat,rb)=NULL)/打開文件,并判斷是否出錯(cuò)printf(出錯(cuò),請(qǐng)檢查文件是否存在,按任意鍵返回住菜單);/打印出錯(cuò)提示 getchar();if(fp1=fopen(hao.dat,rb)=NULL)/打開文件并判斷是否出錯(cuò)printf(創(chuàng)建文件失敗!nn);/打印出錯(cuò)提示 getchar(); return; fscanf(fp1,%d,&m);

12、fclose(fp1);/關(guān)閉文件 for(i=0;im;i+) fread(&si,sizeof(struct air),1,fp);/從文件中讀取信息fclose(fp);/關(guān)閉文件 3.2.5打印模塊void print()char w10; read();/調(diào)用讀取文件函數(shù) printf(航班號(hào) 起始站 終點(diǎn)站 時(shí)間 機(jī)票數(shù)n); for(i=0;im;i+) printf(PRINT);/打印信息printf(請(qǐng)按任意鍵回車鍵結(jié)束返回上層菜單以:n); scanf(%s,w); 3.2.6查詢模塊void search()/查詢模塊char name120; char name220

13、; char ii10; int n,no; doprintf(請(qǐng)選擇查找方式:nn);/打印查詢方式菜單 printf(1.按航班號(hào)查找nn 2.按終點(diǎn)站查找nn 3.按航線查找nn 0.返回nn); printf(請(qǐng)?jiān)?-3中選擇:nn 按其他鍵以回車鍵結(jié)束返回主菜單:nn); scanf(%d,&n);/讀取查找方式 if(n=0)break;switch(n)case 1:printf(請(qǐng)輸入航班號(hào):n); scanf(%d,&no);/航班號(hào)break;case 2:printf(請(qǐng)輸入終點(diǎn)站名稱:n); scanf(%s,name2);/讀取終點(diǎn)站 break;case 3:pri

14、ntf(請(qǐng)輸入起始站名稱:n); scanf(%s,name1);/讀取起始站 printf(請(qǐng)輸入終點(diǎn)站名稱:n); scanf(%s,name2);/終點(diǎn)站 break;read();/調(diào)用讀取函數(shù)for(i=0;im;i+)if(strcmp(si.over,name1)=0|strcmp(si.over,name2)=0)/按終點(diǎn)站起始站判斷輸出條件printf(n查找航班信息成功!n); printf(航班號(hào) 起始站 終點(diǎn)站 時(shí)間 機(jī)票數(shù)n); printf(PRINT);/打印信息break;if(si.num=no)/按航班號(hào)判斷輸出條件printf(n查找航班信息成功!n);

15、printf(航班號(hào) 起始站 終點(diǎn)站 時(shí)間 機(jī)票數(shù)n); printf(PRINT);/打印信息break;no=0;/將航班號(hào)賦值為0printf(沒有您需要的信息或查找完畢:nn 是否繼續(xù)查找?請(qǐng)鍵入yes或no以回車鍵結(jié)束n);scanf(%s,ii);while(strcmp(ii,yes)=0);/判斷結(jié)束 3.2.7刪除模塊void shanchu()char name120; char name220; char ii10; char f=tanbowen;/設(shè)置密碼 int no,n; printf(請(qǐng)輸入密碼并以回車鍵結(jié)束:nn); scanf(%s,f);/讀取密碼if(s

16、trcmp(f,tanbowen)=0) /判斷密碼是否正確doprintf(請(qǐng)選擇刪除以方式回車鍵結(jié)束:nn);/打印刪除方式菜單 printf(*1.按航班號(hào)刪除nn *2.按航線刪除nn *0.返回nn);printf(請(qǐng)?jiān)?-2中選擇以回車鍵結(jié)束:n);scanf(%d,&n);/讀取刪除方式if(n=0)break; /跳出循環(huán)switch(n)case 1: printf(請(qǐng)輸入航班號(hào):n);scanf(%d,&no);/讀取航班號(hào) read();/調(diào)用讀取函數(shù) break;/跳出循環(huán)case 2: printf(請(qǐng)輸入起始站 名稱:n); scanf(%s,name1);/讀取起

17、始站 printf(請(qǐng)輸入終點(diǎn)站名稱:n); scanf(%s,name2);/讀取終點(diǎn)站 read();/調(diào)用讀取函數(shù)break;/跳出循環(huán)for(i=0;im;i+)if(si.num=no|strcmp(si.start,name1)=0&strcmp(si.over,name2)=0)/判斷輸入信息是否存在si=sm-1;m-;printf(查找完畢或沒有這個(gè)信息nn);printf(是否繼續(xù)刪除n); printf(請(qǐng)鍵入yes或no以回車鍵結(jié)束n); scanf(%s,ii); /讀取是否繼續(xù)信息 save(); /調(diào)用讀取函數(shù)if(!strcmp(ii,yes) /判斷是否繼續(xù)刪

18、除printf(請(qǐng)按任意鍵以回車鍵結(jié)束返回上層菜單:n);break;while(n!=1&n!=2&n!=3&n!=4&n!=0); /判斷結(jié)束elseprintf(對(duì)不起密碼錯(cuò)誤!您不是管理員,不能使用此項(xiàng)功能!謝謝!再見!nn); 3.2.8訂票模塊void dingpiao()int n;char a10;dosearch();/調(diào)用查詢模塊 printf(請(qǐng)輸入您要訂的機(jī)票數(shù)以回車鍵結(jié)束:n); scanf(%d,&n);/讀取所訂機(jī)票數(shù)if(n=n)/判斷是否出錯(cuò)si.count=si.count-n; save();/調(diào)用保存函數(shù) printf(訂票成功!nn); break;i

19、f(si.countn)/判斷是否出錯(cuò)printf(請(qǐng)輸入有效的機(jī)票數(shù):n); break; printf(是否繼續(xù)? 請(qǐng)輸入yes或no以回車鍵結(jié)束:n);/判斷是否繼續(xù)訂票scanf(%s,a);while(!strcmp(a,yes);/判斷結(jié)束 3.2.9退票模塊void tuipiao()int n; char a10; dosearch();/調(diào)用查詢模塊 printf(請(qǐng)輸入您要退的機(jī)票數(shù)目:n); scanf(%d,&n);/輸入所退票數(shù)if(n0) /判斷票數(shù)是否有效printf(請(qǐng)輸入有效的機(jī)票數(shù)!n);si.count=si.count+n;save(); /調(diào)用保存模塊

20、 printf(退票成功!nn); printf(是否繼續(xù)? 請(qǐng)鍵入yes或no以回車鍵結(jié)束:nn);/判斷是否繼續(xù)退票scanf(%s,a);while(!strcmp(a,yes);/判斷并跳出循環(huán)getchar(); 3.2.10修改模塊void xiugai() /修改模塊struct xiu /定義結(jié)構(gòu)體 int no; char name120; char name220; char time20;int count;x1;char j10; char f=tanbowen;/設(shè)置密碼int n; printf(請(qǐng)輸入密碼并以回車鍵結(jié)束:nn);scanf(%s,f);/讀取密碼i

21、f(strcmp(f,tanbowen)=0)/判斷是否出錯(cuò)read();/調(diào)用讀取模塊doprintf( 請(qǐng)選擇修改方式:nn *1,按航班號(hào)修改:nn *2,按航線修改: nn);printf(請(qǐng)?jiān)?-2中修改以回車鍵結(jié)束:nn);scanf(%d,&n);/讀取修改方式switch(n)case 1:printf(請(qǐng)輸入航班號(hào):n);scanf(%d,&x0.no);/讀取航班號(hào)break;case 2:printf(請(qǐng)輸入起始站:n);scanf(%s,1);/讀取起始站printf(請(qǐng)輸入終點(diǎn)站:n);scanf(%s,2);/讀取終點(diǎn)站break;for

22、(i=0;im;i+) if(strcmp(si.over,1)=0&strcmp(si.over,2)=0)/判斷輸出條件printf(航班號(hào) 起始站 終點(diǎn)站 時(shí)間 機(jī)票數(shù)n);printf(PRINT);break;if(si.num=x0.no)/判斷輸出條件printf(航班號(hào) 起始站 終點(diǎn)站 時(shí)間 機(jī)票數(shù)n);printf(PRINT);break;x0.no=0; /將結(jié)構(gòu)體中的號(hào)為零printf(請(qǐng)輸入新航班號(hào)、起始站、終點(diǎn)站、時(shí)間(星期幾)、機(jī)票數(shù):n);scanf(%d%s%s%s%d,&x0.no,1,2,x0.tim

23、e,&x0.count);/定義輸入格式 si.num=x0.no;/替換航班號(hào) strcpy(si.start,1);/替換其始站strcpy(si.over,2);/替換終點(diǎn)站strcpy(si.time,x0.time);/替換時(shí)間si.count=x0.count;/替換機(jī)票數(shù)save();/調(diào)用保存模塊printf(是否繼續(xù)?請(qǐng)鍵入yes或no以回車鍵結(jié)束:nn);scanf(%s,j);while(strcmp(j,yes)=0); /判斷結(jié)束elseprintf(對(duì)不起密碼錯(cuò)誤!您不是管理員,不能使用此項(xiàng)功能!謝謝!再見!nn); 3.2.11頭文件及

24、結(jié)構(gòu)體數(shù)組#include /標(biāo)準(zhǔn)輸入、輸出頭文件#include /包含字符串函數(shù)處理頭文件#include /包含動(dòng)態(tài)存儲(chǔ)與釋放函數(shù)頭文件#define N 10000 struct air /定義結(jié)構(gòu)體數(shù)組int num;char start20;char over20;char time10;int count;sN;int i;int m=0;#define PRINT %-d%12s%12s%10s%12dn,si.num,si.start,si.over,si.time,si.count /定義輸出格式void input(); /輸入航班信息void print(); /輸出航

25、班信息void save(); /保存航班信息 void read(); /讀取航班信息void search(); /查找航班信息void shanchu(); /刪除航班信息void dingpiao(); /訂票信息void tuipiao(); /退票信息void xiugai(); /修改信息4 調(diào)試與測(cè)試結(jié)果分析4.1系統(tǒng)主界面進(jìn)入系統(tǒng)之后,首先出現(xiàn)的是歡迎進(jìn)入機(jī)票預(yù)定系統(tǒng)界面,一共有8個(gè)選項(xiàng),分別是:1、輸入航班信息。 2、瀏覽航班信息。 3、修改航班信息。 4、查找航班信息 5、刪除航班信息。 6、訂票信息。 7、退票信息。 8、退出。然后根據(jù)需要選擇對(duì)應(yīng)數(shù)字,之后點(diǎn)擊回車就會(huì)

26、進(jìn)入飛機(jī)票預(yù)定系統(tǒng)界面。如圖2所示:圖2機(jī)票預(yù)訂系統(tǒng)界面4.2輸入航班信息界面輸入1之后點(diǎn)擊回車鍵就可以進(jìn)入輸入密碼界面,然后輸入密碼(tanbowen)再點(diǎn)擊回車進(jìn)入輸入航班信息界面,建立航班信息表,根據(jù)提示輸入航班號(hào)、航班號(hào)、起始站、終點(diǎn)站、時(shí)間、機(jī)票數(shù)(機(jī)票數(shù)為零結(jié)束輸入),輸入完一個(gè)后系統(tǒng)會(huì)提示你是否要繼續(xù)輸入(按任意鍵繼續(xù)輸入,按0鍵結(jié)束輸入),之后點(diǎn)擊回車鍵返回主頁面,極大的節(jié)省了管理員的操作時(shí)間。如圖3、4所示:圖3輸入密碼界面 圖4建立航班信息界面4.3瀏覽航班信息界面輸入2之后就可以在系統(tǒng)中查詢出你要查找的學(xué)生的基本信息。如圖5所示:圖5瀏覽航班信息界面4.4修改航班信息界面

27、本功能可以方便的修改航班的詳細(xì)信息,輸入3就可以進(jìn)入修改航班信息界面,但為了不讓任何人都可以隨便修改航班信息,要求管理員輸入密碼進(jìn)入修改航班信息界面,然后選擇修改方式:*1、按航班號(hào)修改,*2、按航線修改,此處以“*1、按航班號(hào)修改”為例,如果本來沒有航班信息系統(tǒng)就會(huì)提示你先建立,然后到建立界面。否則請(qǐng)輸入航班號(hào),進(jìn)入后按要求修改即可。如圖6、7、8、9所示: 圖6修改航班信息界面 圖7修改航班信息界面 圖8修改航班信息界面 圖9修改航班信息界面4.5查找航班信息界面輸入4之后就可以在系統(tǒng)中查詢出你要查找的航班的基本信息。查詢航班信息的方式有三種分別是:1、按航班號(hào)查找,2、按終點(diǎn)站查找,3、

28、按航線查找。下面以“1、按航班號(hào)查找”為例進(jìn)行查找。如圖10、11所示: 圖10查找航班信息界面 圖11查找航班信息界面4.6刪除航班信息界面本功能可以方便的刪除航班信息,輸入5就可以進(jìn)入修改航班信息界面,但為了不讓任何人都可以隨便刪除航班信息,要求管理員輸入密碼進(jìn)入刪除航班信息界面,然后選擇修改方式:*1、按航班號(hào)修改,*2、按航線修改,此處以“*1、按航班號(hào)修改”為例,如果本來沒有航班信息系統(tǒng)就會(huì)提示你先建立,然后到建立界面。否則請(qǐng)輸入航班號(hào),進(jìn)入后按要求刪除即可。如圖12、13所示: 圖12刪除航班信息界面 圖13刪除航班信息界面4.7訂票信息界面輸入6之后就可以在系統(tǒng)中查詢出你要查找的

29、航班的基本信息。查詢航班信息的方式有三種分別是:1、按航班號(hào)查找,2、按終點(diǎn)站查找,3、按航線查找。下面以“1、按航班號(hào)查找”為例進(jìn)行查找。如圖14、15所示: 圖14訂票信息界面 圖15訂票信息界面4.8退票信息界面輸入7之后就可以在系統(tǒng)中查詢出你要退訂的航班的基本信息。退訂航班信息的方式有三種分別是:1、按航班號(hào)查找,2、按終點(diǎn)站查找,3、按航線查找。下面以“1、按航班號(hào)查找”為例進(jìn)行查找。如圖16、17、18所示: 圖16退票信息界面 圖17退票信息界面 圖18退票信息界面4.9退出系統(tǒng)輸入8之后提示請(qǐng)?jiān)?-7之間選擇數(shù)字,此時(shí)可以退出系統(tǒng)。5 使用說明(1) 乘客訂票后,對(duì)應(yīng)飛機(jī)票的剩

30、余座位數(shù)自動(dòng)減去乘客所定票數(shù)。(2) 若乘客所定飛機(jī)票票已售完,應(yīng)給出相應(yīng)的提示信息,并且訂票失敗。(3) 在訂票前,應(yīng)先創(chuàng)建飛機(jī)票鏈表;(4) 乘客鏈表的初始值為空,在有乘客訂票時(shí),才把乘客結(jié)點(diǎn)插入乘客鏈表;(5) 如乘客退票,則將對(duì)應(yīng)的乘客結(jié)點(diǎn)從乘客鏈表中刪除,且其所購(gòu)票飛機(jī)票的剩余座位數(shù)自動(dòng)增加乘客所退票數(shù)。6總結(jié) 整個(gè)課程設(shè)計(jì)終于完成了,雖然過程有些曲折,路途有些艱辛,但還是順利的完成了。我們付出了很多,但我認(rèn)為我們得到的更多。通過這次的程序編寫讓我對(duì)C語言產(chǎn)生更大的興趣了,明白了光書本的知識(shí)的確不行,還是要理論聯(lián)系實(shí)踐才行。因此不斷的練習(xí)是必要的,上機(jī)實(shí)踐更重要。有時(shí)理論是對(duì)的,但是

31、實(shí)踐起來就不行了啊。使我們鞏固了原有的理論知識(shí),培養(yǎng)了我們靈活運(yùn)用和組合集成所學(xué)過知識(shí)及技能來分析、解決實(shí)際問題的能力。使我們體會(huì)到自身知識(shí)和能力能在實(shí)際中的應(yīng)用和發(fā)揮。不但可以激發(fā)創(chuàng)新意識(shí),還可以開發(fā)創(chuàng)造能力、培養(yǎng)溝通能力。如果沒有同學(xué)們的互相幫助,這次課程設(shè)計(jì)就不會(huì)這么順利,這對(duì)我畢業(yè)以后將所學(xué)知識(shí)充分應(yīng)用于工作起到了很好的啟發(fā)與激勵(lì)作用。實(shí)訓(xùn)中存在的問題:首先,做事要認(rèn)真,不能馬馬虎虎的,可能因?yàn)槟愕囊稽c(diǎn)疏忽,就可能整個(gè)程序不能運(yùn)行。在以后的學(xué)習(xí)過程中加強(qiáng)對(duì)教學(xué)理論的學(xué)習(xí)及思考。特別是理論與實(shí)際案冽的結(jié)合分析,等.應(yīng)該合理安排作息時(shí)間,作好輕重緩急之分。加強(qiáng)自我管理,改正一些不良習(xí)慣。比

32、如“如果我認(rèn)為”這樣的話,就不應(yīng)該出現(xiàn),應(yīng)該盡量的從客觀出發(fā),要客觀的證明自己專注。我們換句話說,也就是往往人都會(huì)給自己找一個(gè)合適的理由解脫,但是失敗只有一個(gè)理由,就是你做得不好!加強(qiáng)自我監(jiān)督,不給自己找偷懶的理由,把一切事情在第一時(shí)間內(nèi)解決。還有在文中敘述存在嚴(yán)重的問題。一是你文章層次不分明。二是邏輯思維混亂。如果改正,我就會(huì)覺得生活十分充實(shí)、高效、有意義,并且可以出色的完成任何自己力所能及的任務(wù),成為一個(gè)個(gè)人領(lǐng)域成功的人。那正是我現(xiàn)在所需要的。實(shí)訓(xùn)改進(jìn)建議及創(chuàng)新方案:還要增加程序的功能,使程序更加完整,更有實(shí)踐性。比如刪除機(jī)票已售完飛機(jī)票的刪除,增加飛機(jī)票的發(fā)售時(shí)間等。 用不同方法實(shí)現(xiàn)該程

33、序,如按日期查詢訂購(gòu)機(jī)票。增加程序的出錯(cuò)處理能力,如輸入錯(cuò)誤的處理。嘗試用不同的方法完成,巧妙的運(yùn)用自己所學(xué)的知識(shí),把理論運(yùn)用到實(shí)踐中。參考文獻(xiàn)1 周啟海.C語言程序設(shè)計(jì)教程M.北京:機(jī)械工業(yè)出版社,2004.2譚浩強(qiáng).程序設(shè)計(jì)(第三版)M.北京:清華大學(xué)出版社,2005.9.3張志航,王珊珊等.課程設(shè)計(jì)語言CM.北京:清華大學(xué)出版社,2007.4何欽銘,顏輝.C語言程序設(shè)計(jì)M.北京:高等教育出版社,2008.5張建勛,紀(jì)綱.C語言程序設(shè)計(jì)教程M.北京:清華大學(xué)出版社,2008.6冉崇善.C語言程序設(shè)計(jì)教程M.北京:機(jī)械工業(yè)出版社,2009.7徐士良.C語言程序設(shè)計(jì)教程M.北京:北京郵電大學(xué)出

34、版社,2009.8楊文君,楊柳.C語言程序設(shè)計(jì)教程M.北京:清華大學(xué)出版社,2010.9謝延紅,王付山 .C語言程序設(shè)計(jì)教程M. 北京:國(guó)防工業(yè)出版社2010.8.10 薄文娟.C語言程序設(shè)計(jì)在線考試系統(tǒng)的設(shè)計(jì)與開發(fā)D. 電子科技大學(xué),2011.附錄:一、主函數(shù)的實(shí)現(xiàn)void main()int j; printf( -您好,歡迎進(jìn)入機(jī)票預(yù)訂系統(tǒng)!-n); printf(=n); do printf( - 1.輸入航班信息 - nn - 2.瀏覽航班信息 - nn - 3.修改航班信息 - nn - 4.查找航班信息 - nn - 5.刪除航班信息 - nn - 6.訂票信息 - nn - 7

35、.退票信息 - nn - 0.退出 - nn); printf(=n); printf(請(qǐng)?jiān)?-7中選擇以回車鍵結(jié)束:nn); scanf(%d,&j); switch(j) case 1: input();/調(diào)用輸入模塊 break; case 2:print();/調(diào)用打印模塊 break; case 3:xiugai();/調(diào)用修改模塊 break; case 4:search();/調(diào)用查找模塊 break; case 5:shanchu(); /調(diào)用刪除模塊 break; case 6:dingpiao();/調(diào)用訂票模塊 break; case 7:tuipiao();/調(diào)用退票模

36、塊 break; case 0:; break; while(j!=0); /判斷結(jié)束 printf(謝謝使用,再見!n);二、打印模塊程序void input()char f=tanbowen; /設(shè)置密碼 int y; printf(請(qǐng)輸入密碼并以回車鍵結(jié)束:nn); scanf(%s,f); /讀取密碼 if(strcmp(f,tanbowen)=0) printf(請(qǐng)依次輸入航班信息(機(jī)票數(shù)位0結(jié)束輸入):nn 完成輸入信息請(qǐng)鍵入w以回車鍵結(jié)束nn); /打印提示信息 printf(-n); for(i=0;iN;i+) printf(請(qǐng)輸入航班號(hào):n); scanf(%d,&si.num); /讀取航班號(hào) printf(請(qǐng)輸入起始站:n); scanf(%s,si.start);/讀取起始站 printf(請(qǐng)輸入終點(diǎn)站:n); scanf(%s,si.over);/讀取終點(diǎn)站 printf(請(qǐng)輸入時(shí)間:n); scanf(%s,si.time);/讀取時(shí)間 printf(請(qǐng)輸入機(jī)票數(shù)(機(jī)票數(shù)為0結(jié)束輸入):n,m); scanf(%d,&si.count);/讀取機(jī)票數(shù) m+; printf(第%d個(gè)信息已經(jīng)輸完是否繼續(xù)?按任意鍵繼續(xù),按 0結(jié)束,m); scanf(%d,&y); if(y=0) save();/將結(jié)

溫馨提示

  • 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. 人人文庫(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)論