版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告書</b></p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 課程設(shè)計(jì)名稱:《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》</p><p> 題 目:飛機(jī)訂票系統(tǒng)</p><p> 班 級(jí): </p><p><
2、b> 學(xué) 號(hào):0 </b></p><p><b> 姓 名: </b></p><p><b> 摘要</b></p><p> 隨著時(shí)代的進(jìn)步社會(huì)分工的不斷細(xì)化,各個(gè)行業(yè)聯(lián)系的不斷密切,人們的出行越來越多,出行的方式也各種各樣,作為空中的重要交通工具,飛機(jī)航空系統(tǒng)也在不斷地得到優(yōu)化
3、,其中重要的一項(xiàng)就是飛機(jī)航空訂票系統(tǒng),因此好的訂票系統(tǒng)關(guān)系著人么日常出行的方便與否,設(shè)計(jì)并編制出符合人們需要的航空訂票系統(tǒng)是一項(xiàng)繁重而且艱巨的任務(wù),需要我們認(rèn)真去完成。</p><p> 本文采用C作為前臺(tái)開發(fā)工具,VC6.0作為程序代碼的實(shí)現(xiàn),旨在實(shí)現(xiàn)對(duì)現(xiàn)有飛行系統(tǒng)中遇到的各種情況進(jìn)行良好的改進(jìn)。</p><p> 關(guān)鍵詞:C,C++,VC6.0,數(shù)據(jù)結(jié)構(gòu),飛機(jī)訂票系統(tǒng);</p
4、><p><b> 目錄</b></p><p><b> 目錄1</b></p><p> 第一章開發(fā)環(huán)境和開發(fā)工具1</p><p> 1.1C#語(yǔ)言簡(jiǎn)介1</p><p> 1.2 開發(fā)背景1</p><p> 1.3 開發(fā)環(huán)
5、境1</p><p> 第二章 算法思想2</p><p> 2.1 系統(tǒng)需求分析2</p><p> 2.2 系統(tǒng)總體設(shè)計(jì)2</p><p> 2.2.1 系統(tǒng)設(shè)計(jì)目標(biāo)3</p><p> 2.2.2 開發(fā)設(shè)計(jì)思想3</p><p> 2.2.3 系統(tǒng)功能模塊設(shè)計(jì)3
6、</p><p> 2.3 算法思想描述4</p><p> 第三章算法實(shí)現(xiàn)9</p><p> 3.1 數(shù)據(jù)結(jié)構(gòu)9</p><p> 3.2 程序模塊9</p><p> 3.3 各模塊之間的調(diào)用關(guān)系9</p><p> 3.4 源程序代碼10</p>
7、<p> 第四章測(cè)試與分析20</p><p> 4.1 測(cè)試數(shù)據(jù)選擇20</p><p> 4.2 測(cè)試結(jié)果分析20</p><p><b> 總 結(jié)22</b></p><p><b> 心得體會(huì)22</b></p><p><
8、b> 參考文獻(xiàn)23</b></p><p><b> 開發(fā)環(huán)境和開發(fā)工具</b></p><p> C/ C ++語(yǔ)言簡(jiǎn)介</p><p> 一種面向?qū)ο蟮拈_發(fā)語(yǔ)言,C++是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。C++是一種靜態(tài)數(shù)據(jù)類型檢查的、支持多重編程方式的通用程序設(shè)計(jì)語(yǔ)言。它支持過程化程序設(shè)計(jì)、數(shù)據(jù)抽象、面向?qū)ο蟪?/p>
9、序設(shè)計(jì)、泛型程序設(shè)計(jì)等多種程序設(shè)計(jì)風(fēng)格。其編譯器比目前其他計(jì)算機(jī)語(yǔ)言的編譯技術(shù)更復(fù)雜。</p><p><b> 1.2 開發(fā)背景</b></p><p> 隨著科學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們所深刻認(rèn)識(shí),它己進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來越重要的作用。采用計(jì)算機(jī)進(jìn)行信息化管理已成為衡量各個(gè)國(guó)家科學(xué)化和現(xiàn)代化的重要標(biāo)志,而交通方式的
10、全面自動(dòng)化、信息化則是其中重要的組成部分,在很大程度上影響著企業(yè)的經(jīng)濟(jì)效益和社會(huì)效益。因此,本文所研究的航空訂票系統(tǒng)具有一定的使用價(jià)值和現(xiàn)實(shí)意義。</p><p><b> 1.3 開發(fā)環(huán)境</b></p><p> 本文所采用的開發(fā)環(huán)境主要是基于VC6.0和基于面向?qū)ο蟪绦蛟O(shè)計(jì)的c++。VC是個(gè)平臺(tái)開工具。該軟件使用TC2為內(nèi)核,提供WINDOWS平臺(tái)的開發(fā)界面
11、,因此也就支持WINDOWS平臺(tái)下的功能,例如剪切、復(fù)制、粘貼和查找替換等。而且在功能上也有它的獨(dú)特特色例如語(yǔ)法加亮、C內(nèi)嵌匯編、自定義擴(kuò)展庫(kù)的支持等。</p><p><b> 第二章 算法思想</b></p><p> 2.1 系統(tǒng)需求分析</p><p> 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展及經(jīng)濟(jì)全球化的推進(jìn)以及企業(yè)激烈的競(jìng)爭(zhēng),各大機(jī)場(chǎng)訂票
12、系統(tǒng)已經(jīng)越來越不能適應(yīng)人們?nèi)粘3鲂械木置?,所以我們現(xiàn)在需要一個(gè)檢索迅速、查找方便、易修改功能齊全方便的系統(tǒng)來適應(yīng)我們的需求。</p><p> 問題的提出:為了減少人工工作量,提高工作效率,使機(jī)場(chǎng)管理員的工作更加有效的進(jìn)行。</p><p> 2.2 系統(tǒng)總體設(shè)計(jì)</p><p> 2.2.1 系統(tǒng)設(shè)計(jì)目標(biāo)</p><p> 本文研究
13、開發(fā)的飛機(jī)訂票系統(tǒng)用于實(shí)現(xiàn)如下四個(gè)方面的目標(biāo):</p><p> ●)錄入:可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)</p><p> ●查詢:可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉(cāng));可以輸入起飛抵達(dá)城市,查詢飛機(jī)航班情況;</p><p> ●訂票:(訂票情況
14、可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;</p><p> ●退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件;</p><p> 2.2.2 開發(fā)設(shè)計(jì)思想</p><p> 基于以上系統(tǒng)設(shè)計(jì)目標(biāo),本文在開發(fā)飛機(jī)訂票系統(tǒng)時(shí)遵循了以下開發(fā)設(shè)計(jì)思想:</p><p> ●采用現(xiàn)有的軟硬件環(huán)境及先進(jìn)
15、的管理系統(tǒng)開發(fā)方案,從而達(dá)到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。</p><p> ●盡量達(dá)到操作過程中的直觀、方便、實(shí)用、安全等要求。</p><p> ●系統(tǒng)采用模塊化程序設(shè)計(jì)方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護(hù)人員補(bǔ)充、維護(hù)。</p><p> ●系統(tǒng)應(yīng)具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)的添加、刪除、
16、修改、備份等操作。</p><p> 2.2.3 系統(tǒng)功能模塊設(shè)計(jì)</p><p> 本系統(tǒng)分為六個(gè)模塊::增加航班模塊、瀏覽航班模塊、查找航班模塊、航班排序模塊、訂票模塊、退票模塊。得到如圖所示系統(tǒng)功能模塊圖。</p><p> 圖1-1系統(tǒng)功能模塊圖</p><p> 2.3 算法思想描述</p><p>
17、 (1),系統(tǒng)啟動(dòng)時(shí)會(huì)通過輸入航班信息來給乘客提供范圍</p><p> (2)當(dāng)選擇功能1時(shí),進(jìn)入增加航班模塊</p><p> (3)當(dāng)選擇功能2時(shí),進(jìn)入瀏覽航班信息模塊</p><p> (4)當(dāng)選擇功能3時(shí),進(jìn)入航班操作模塊</p><p> (5)當(dāng)選擇功能4時(shí),進(jìn)入訂票系統(tǒng)模塊</p><p>
18、 (6)當(dāng)選擇功能5時(shí),進(jìn)入退票系統(tǒng)模塊</p><p> (7)當(dāng)選擇功能6,7時(shí),是對(duì)前邊操作的保存和載入</p><p> (8)當(dāng)選擇功能8時(shí)退出系統(tǒng)</p><p><b> 算法實(shí)現(xiàn)</b></p><p><b> 3.1 數(shù)據(jù)結(jié)構(gòu)</b></p><p&g
19、t; 飛機(jī)訂票系統(tǒng)是一個(gè)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),航班的所有信息都保存在數(shù)據(jù)庫(kù)中。</p><p><b> 3.2 程序模塊</b></p><p> void order;//排序//void input;//輸入航班//void search_time()//輸入時(shí)間查找//void search_end()//輸入地點(diǎn)
20、查找//void menu1()//飛機(jī)售票操作//int search() //查詢//void book()//訂票系統(tǒng)//void back()//退票系統(tǒng)//void save()//保存//void load()//載入// </p><p> 3.3 各模塊之間的調(diào)用關(guān)系</p><p> 程
21、序從主函數(shù)開始,首先調(diào)用menu函數(shù)清屏進(jìn)入系統(tǒng)開始頁(yè)面,利用switch——case結(jié)構(gòu)選擇自己所需的功能模塊。具體操作時(shí),首先利用input函數(shù)錄入航班信息,save函數(shù)儲(chǔ)存航班信息、order函數(shù)進(jìn)行排序;進(jìn)入訂票系統(tǒng)時(shí),首先進(jìn)入menu1函數(shù)在調(diào)用load函數(shù)載入數(shù)據(jù)及調(diào)用search_time函數(shù)、search_end函數(shù)查找航班信息,然后在由book函數(shù)訂購(gòu)機(jī)票save函數(shù)存儲(chǔ)訂票信息,退票時(shí),進(jìn)入back函數(shù)模塊,完成退票
22、后,回到初始menu函數(shù)模塊。</p><p><b> 3.4 源程序代碼</b></p><p> #include <stdio.h></p><p> #include <string.h></p><p> #include <stdlib.h></p>
23、<p> #define N 1000</p><p> typedef struct plane</p><p><b> {</b></p><p> char ID[10]; /*航班代號(hào)*/</p><p> char BePlace[10];/*飛機(jī)起飛地點(diǎn)*/</p>&
24、lt;p> char EnPlace[10];/*飛機(jī)降落終點(diǎn)*/</p><p> char data[15];/*飛機(jī)起飛時(shí)間*/</p><p> int max;/*飛機(jī)最大乘客人數(shù)*/</p><p> int price;/*飛機(jī)票價(jià)*/</p><p> int num;/*飛機(jī)已售票數(shù)*/</p>
25、<p><b> }PLANE;</b></p><p> PLANE ti[N];</p><p> int n;/*當(dāng)前的航班數(shù)目*/</p><p> void menu();</p><p> void menu1();</p><p> void input(in
26、t i)</p><p><b> {</b></p><p> printf("請(qǐng)輸入航班代號(hào):\n");</p><p> scanf("%s",ti[i].ID);</p><p> printf("請(qǐng)輸入起飛地點(diǎn):\n");</p>
27、<p> scanf("%s",ti[i].BePlace);</p><p> printf("請(qǐng)輸入降落地點(diǎn):\n");</p><p> scanf("%s",ti[i].EnPlace);</p><p> printf("請(qǐng)輸入起飛時(shí)間:\n");</
28、p><p> scanf("%s",ti[i].data);</p><p> printf("請(qǐng)輸入航班的最大載客人數(shù):\n");</p><p> scanf("%d",&ti[i].max);</p><p> printf("請(qǐng)輸入航班的票價(jià):\n&qu
29、ot;);</p><p> scanf("%d",&ti[i].price);</p><p> ti[i].num=0;</p><p><b> }</b></p><p> void enter()</p><p><b> {</b&
30、gt;</p><p><b> int i;</b></p><p> system( "cls" ); </p><p> printf("請(qǐng)輸入航班的數(shù)目(0-%d)?:",N);</p><p> scanf("%d",&n);
31、 /*要輸入的記錄個(gè)數(shù)*/</p><p> printf("\n請(qǐng)輸入數(shù)據(jù)\n\n");</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> printf("\n請(qǐng)輸入第 %d 航班記錄.\n&q
32、uot;,i+1);</p><p> input(i); /*調(diào)用輸入函數(shù)*/</p><p><b> }</b></p><p> getchar(); </p><p><b> menu();</b></p><p
33、><b> }</b></p><p> void printf_one(int i) /*顯示一個(gè)記錄的函數(shù)*/</p><p><b> {</b></p><p> printf("%11s %6s %10s %6s %6d
34、 %6d %6d",ti[i].ID,ti[i].BePlace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);</p><p><b> }</b></p><p> void browse()</p><p><b> {</b>
35、</p><p><b> int i;</b></p><p> system( "cls" ); </p><p> puts("\n--------------------------------------------------------------------");</p>
36、<p> printf("\n\t航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 票價(jià) 最大乘客 已售票數(shù)\n");</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> printf_one(i);</p><p>
37、printf("\n");</p><p><b> }</b></p><p> getchar();</p><p> getchar();</p><p><b> menu();</b></p><p><b> }</
38、b></p><p> void order() /*排序模塊(按平均成績(jī))*/</p><p><b> {</b></p><p><b> int i,j;</b></p><p> struct plane s;</p&
39、gt;<p> system( "cls" ); </p><p> for(i=0;i<n;i++) /*冒泡法排序*/</p><p><b> {</b></p><p> for(j=i+1;j<n;j++)</p><p> if
40、(strcmp(ti[i].data,ti[j].data)>0)</p><p><b> {</b></p><p><b> s=ti[i];</b></p><p> ti[i]=ti[j];</p><p><b> ti[j]=s;}</b></
41、p><p><b> }</b></p><p><b> browse();</b></p><p><b> }</b></p><p> void search_time()</p><p><b> {</b><
42、/p><p> int i,m=0;</p><p> struct plane s;</p><p> system( "cls" ); </p><p> printf("\n\nEnter the time:");</p><p> scanf("%s&qu
43、ot;,s.data); /*輸入出發(fā)的時(shí)間*/</p><p> puts("\n--------------------------------------------------------------------");</p><p> printf("\n\t航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 票價(jià) 最大乘
44、客 已售票數(shù)\n");</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> if(strcmp(s.data,ti[i].data)==0)</p><p><b> {</b></p><p>
45、<b> m++;</b></p><p> if((m!=0)&&(m%10==0)) /*目的是分屏顯示*/</p><p><b> {</b></p><p> printf("\n\nPress any key to contiune . . .&q
46、uot;);</p><p> getchar();</p><p> puts("\n\n");</p><p><b> }</b></p><p> printf_one(i); </p><p> printf("\n");</p&
47、gt;<p> /*調(diào)用顯示一個(gè)記錄的函數(shù)*/</p><p><b> }</b></p><p><b> }</b></p><p> puts("\n-------------------------------------------------------------------
48、-");</p><p> getchar(); /*按任意健*/</p><p> getchar(); </p><p><b> menu1();</b></p><p><b> }</b></p>&l
49、t;p> void serch_end()</p><p><b> {</b></p><p> int i,m=0;</p><p> struct plane s;</p><p> system( "cls" ); </p><p> printf(&
50、quot;\n\nEnter the end Place:");</p><p> scanf("%s",s.EnPlace); /*輸入要到達(dá)的地方*/</p><p> puts("\n----------------------------------------------------------------
51、----");</p><p> printf("\n\t航班代號(hào) 起飛地點(diǎn) 降落地點(diǎn) 起飛時(shí)間 票價(jià) 最大乘客 已售票數(shù)\n");</p><p> for(i=0;i<n;i++)</p><p><b> {</b></p><p> if(strcmp(ti[i]
52、.EnPlace,s.EnPlace)==0)</p><p><b> {</b></p><p><b> m++;</b></p><p> if((m!=0)&&(m%10==0)) /*目的是分屏顯示*/</p><p><b>
53、 {</b></p><p> printf("\n\nPress any key to contiune . . .");</p><p> getchar();</p><p> puts("\n\n");</p><p><b> }</b></
54、p><p> printf_one(i); </p><p> printf("\n");</p><p> /*調(diào)用顯示一個(gè)記錄的函數(shù)*/</p><p><b> }</b></p><p><b> }</b></p><
55、p> puts("\n--------------------------------------------------------------------");</p><p> getchar(); /*按任意健*/</p><p> getchar(); </p><p>&l
56、t;b> menu1();</b></p><p><b> }</b></p><p> void menu1()</p><p><b> {</b></p><p><b> int n,w1;</b></p><p>
57、<b> do</b></p><p><b> {</b></p><p> system( "cls" ); /*清屏*/</p><p> puts("\t\t\t\t 飛機(jī)售票操作!\n\n");</p><p
58、> puts("\t\t*********************MENU*********************\n\n");</p><p> puts("\t\t\t\t1.按照時(shí)間排序");</p><p> puts("\t\t\t\t2.按照時(shí)間查找航班");</p><p>
59、puts("\t\t\t\t3.按照地點(diǎn)查找航班");</p><p> puts("\t\t\t\t4.返回主菜單");</p><p> puts("\n\n\t\t**********************************************\n");</p><p> print
60、f("Choice your number(1-4): [ ]\b\b");</p><p> scanf("%d",&n);</p><p> if(n<1||n>4) /*對(duì)選擇的數(shù)字作判斷*/</p><p><b>
61、{</b></p><p><b> w1=1;</b></p><p> printf("your choice is not between 1 and 4,Please input again:");</p><p> getchar();</p><p> getchar(
62、);</p><p><b> }</b></p><p> else w1=0;</p><p> } while(w1==1);</p><p><b> /*選擇功能*/</b></p><p><b> switch(n)</b>&l
63、t;/p><p><b> {</b></p><p> case 1:order();break; </p><p> case 2:search_time();break; </p><p> case 3:serch_end();break; </p><p>
64、case 4:menu();break; </p><p><b> }</b></p><p><b> }</b></p><p> int search() /*查找模塊*/</p><p><b> {</b&
65、gt;</p><p><b> int i,k;</b></p><p> struct plane s;</p><p><b> k=-1;</b></p><p> system( "cls" ); </p><p> printf(&q
66、uot;\n\n請(qǐng)輸入要訂票的起飛地點(diǎn):");</p><p> scanf("%s",s.BePlace); /*輸入要到達(dá)的地方*/</p><p> printf("\n\n請(qǐng)輸入要訂票的降落地點(diǎn):");</p><p> scanf("%s",s.EnP
67、lace); </p><p> printf("\n\n請(qǐng)輸入要訂票的起飛時(shí)間:");</p><p> scanf("%s",s.data); /*輸入出發(fā)的時(shí)間*/</p><p> for(i=0;i<n;i++) /*查找要修改的數(shù)據(jù)*/&l
68、t;/p><p><b> {</b></p><p> if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnPlace)==0&&strcmp(s.data,ti[i].data)==0)</p><p><b> {<
69、;/b></p><p> k=i; /*找到要修改的記錄*/</p><p> printf_one(k);</p><p> break; /*調(diào)用顯示一個(gè)記錄的函數(shù)*/</p><p><b> }</b></p>
70、<p><b> }</b></p><p><b> if(k==-1)</b></p><p><b> {</b></p><p> printf("\n\nNO exist!");</p><p> return -1;<
71、;/p><p><b> }</b></p><p><b> else</b></p><p><b> return k;</b></p><p><b> }</b></p><p> void book()</p
72、><p><b> {</b></p><p><b> int i;</b></p><p> system( "cls" ); </p><p> printf("歡迎進(jìn)入售票窗口!\n");</p><p> i=searc
73、h();</p><p><b> if(i!=-1)</b></p><p><b> {</b></p><p> if(ti[i].num>=ti[i].max)</p><p><b> {</b></p><p> printf
74、("\n該趟航班票已售完!");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> ti[i].num++;</p><p> prin
75、tf("\n訂票成功!\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> printf("該航班不存在!\n");</p>
76、;<p> getchar(); </p><p> getchar(); /*按任意健*/</p><p><b> menu();</b></p><p><b> }</b></p><p> void back()<
77、;/p><p><b> {</b></p><p> int i,k=-1;</p><p> struct plane s;</p><p> system( "cls" ); </p><p> printf("歡迎進(jìn)入退票窗口!\n");<
78、;/p><p> printf("\n\n輸入航班代號(hào):");</p><p> scanf("%s",s.ID); /*輸入要到達(dá)的地方*/</p><p> for(i=0;i<n;i++) /*查找要修改的數(shù)據(jù)*/</p><p&
79、gt;<b> {</b></p><p> if(strcmp(s.ID,ti[i].ID)==0)</p><p><b> {</b></p><p> k=i; /*找到要修改的記錄*/</p><p> printf_one(k);<
80、;/p><p> break; /*調(diào)用顯示一個(gè)記錄的函數(shù)*/</p><p><b> }</b></p><p><b> }</b></p><p><b> if(k==-1)</b></p><p><
81、;b> {</b></p><p> printf("\n\nNO exist!");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p>
82、<p> ti[i].num--;</p><p> printf("\n退票成功!\n");</p><p><b> }</b></p><p> getchar(); /*按任意健*/</p><p> getchar();
83、 /*按任意健*/</p><p><b> menu();</b></p><p><b> }</b></p><p> void save()</p><p><b> {</b></p><p&
84、gt;<b> int w=1;</b></p><p><b> FILE *fp;</b></p><p><b> int i;</b></p><p> system( "cls" ); </p><p> if((fp=fopen(&qu
85、ot;\\ticket.txt","wt"))==NULL) /*以輸出打開方式,在此前的記錄被覆蓋*/</p><p><b> {</b></p><p> printf("\nCannot open file\n");</p><p><b> return ;<
86、;/b></p><p><b> }</b></p><p> for(i=0;i<n;i++)</p><p> if(fwrite(&ti[i],sizeof(struct plane),1,fp)!=1)</p><p><b> { </b><
87、/p><p> printf("file write error\n");</p><p><b> w=0;</b></p><p><b> }</b></p><p><b> if(w==1)</b></p><p>&l
88、t;b> {</b></p><p> printf("file save ok!\n");</p><p><b> }</b></p><p> fclose(fp);</p><p> getchar();</p><p> getchar(
89、); </p><p><b> menu();</b></p><p><b> }</b></p><p> void load()</p><p><b> {</b></p><p><b> FILE*fp;</
90、b></p><p><b> int i,w;</b></p><p><b> w=1;</b></p><p> system( "cls" ); </p><p> if((fp=fopen("\\ticket.txt","rt
91、"))==NULL)</p><p><b> {</b></p><p> printf("\nCannotopen file\n");</p><p><b> w=0;</b></p><p><b> return ;</b><
92、;/p><p><b> }</b></p><p><b> n=0;</b></p><p> for(i=0;!feof(fp);i++)</p><p><b> {</b></p><p> fread(&ti[i],sizeof
93、( struct plane),1,fp);</p><p><b> n++;</b></p><p><b> }</b></p><p><b> n=n-1;</b></p><p> fclose(fp);</p><p><b&
94、gt; if(w==1)</b></p><p> printf("Load file ok!");</p><p> getchar();</p><p> getchar(); </p><p><b> menu();</b></p><p>
95、<b> }</b></p><p> void menu()</p><p><b> {</b></p><p><b> int n,w1;</b></p><p><b> do</b></p><p><b
96、> {</b></p><p> system( "cls" ); /*清屏*/ /*清屏*/</p><p> puts("\t\t\t\t 飛機(jī)售票管理系統(tǒng)!\n\n");</p><p> puts("\t\t********************
97、*MENU*********************\n\n");</p><p> puts("\t\t\t\t1.輸入新航班");</p><p> puts("\t\t\t\t2.瀏覽 ");</p><p> puts("\t\t\t\t3.航班操作");</p>&l
98、t;p> puts("\t\t\t\t4.訂票");</p><p> puts("\t\t\t\t5.退票");</p><p> puts("\t\t\t\t6.保存");</p><p> puts("\t\t\t\t7.載入");</p><p&
99、gt; puts("\t\t\t\t8.退出");</p><p> puts("\n\n\t\t**********************************************\n");</p><p> printf("Choice your number(1-8): [ ]\b\b");</p>
100、<p> scanf("%d",&n);</p><p> if(n<1||n>8) /*對(duì)選擇的數(shù)字作判斷*/</p><p><b> {</b></p><p><b> w1=1;</b>
101、</p><p> printf("your choice is not between 1 and 8,Please input enter to choice again:");</p><p> getchar(); </p><p> getchar();</p><p><b> }</b
102、></p><p> else w1=0;</p><p> } while(w1==1);</p><p><b> /*選擇功能*/</b></p><p><b> switch(n)</b></p><p><b> {</b>
103、</p><p> case 1:enter();break; /*輸入模塊*/</p><p> case 2:browse();break; /*瀏覽模塊*/</p><p> case 3:menu1();break; /*查找模塊*/</p><p> case 4:book();break;
104、/*訂票模塊*/</p><p> case 5:back();break; /*退票模塊*/</p><p> case 6:save();break; /*保存模塊*/</p><p> case 7:load();break; /*加載模塊*/</p><p> case 8:exit(0);</p
105、><p><b> }</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p><b> menu();</b></p>&l
106、t;p><b> }</b></p><p><b> 測(cè)試與分析</b></p><p><b> 4.1試數(shù)據(jù)選擇</b></p><p><b> 4.2測(cè)試結(jié)果分析</b></p><p> 在輸入測(cè)試數(shù)據(jù)后選擇訂票選項(xiàng)并再次輸入相
107、應(yīng)的數(shù)據(jù)會(huì)完成訂票業(yè)務(wù),在訂票業(yè)務(wù)中調(diào)用book函數(shù),所有函數(shù)的時(shí)間復(fù)雜度為O(n),系統(tǒng)本身采用線性結(jié)構(gòu)模式</p><p><b> 總 結(jié)</b></p><p> 本系統(tǒng)功能分為管理員模塊和前臺(tái)票務(wù)員模塊;管理員模塊主要負(fù)責(zé)航班信息管理,包括增加新航班、修改原有航班、刪除航班的功能;前臺(tái)票務(wù)員模塊包括乘客信息管理、訂票管理、航班查詢的工能。從最后設(shè)計(jì)
108、出的測(cè)試結(jié)果來看,效果比較明顯,檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、信息利用率高。該系統(tǒng)能夠極大高效的管理航班信息及訂票功能,航班查詢可在較短時(shí)間內(nèi)完成,數(shù)據(jù)能夠?qū)崟r(shí)反映到終端,以確保信息查詢的準(zhǔn)確性,方便乘客訂票,減少系統(tǒng)錯(cuò)誤。</p><p> 當(dāng)然,要作為實(shí)際應(yīng)用還有一些具體細(xì)節(jié)問題需要解決,還有一些功能需要改進(jìn)。例如:沒有實(shí)現(xiàn)多條記錄的連鎖刪除和添加以及外部數(shù)據(jù)的導(dǎo)入功能;還沒能實(shí)現(xiàn)動(dòng)態(tài)生成報(bào)表;該
109、系統(tǒng)還不能與企業(yè)中其他管理系統(tǒng)共享信息等。</p><p> 在今后的工作、學(xué)習(xí)中我將認(rèn)真總結(jié)經(jīng)驗(yàn)教訓(xùn),努力使自己成為一名技術(shù)過硬、工作嚴(yán)謹(jǐn)、思維活躍的工程人員,為提高人們的生活質(zhì)量做出更大的貢獻(xiàn)。</p><p><b> 心得體會(huì)</b></p><p> 在這次程序編制的過程中出現(xiàn)了很多問題,主要原因是自己以前接觸的關(guān)于編制程序的知
110、識(shí)的缺乏,通過飛機(jī)航班訂票系統(tǒng)的開發(fā)讓我知道了自己的不足和缺點(diǎn),寫出一個(gè)好的程序需要合作精神,一個(gè)人的力量畢竟是有限的團(tuán)隊(duì)力量才是無窮的。一個(gè)好的程序員一定是從程序堆里走出來的,只有通過參與具體程序的開發(fā)才知道自己知識(shí)的有限,才會(huì)學(xué)會(huì)具體的分析問題,是自己的邏輯性和層次性得到良好的鍛煉。</p><p> 課程設(shè)計(jì)是一門專業(yè)課,給我很多專業(yè)知識(shí)以及專業(yè)技能上了提升,同時(shí)又是一門思辨課,讓我感觸很深,是我對(duì)抽象的
111、理論有了具體的認(rèn)識(shí),在這次課程設(shè)計(jì)中知道了以前沒有接觸過的很多函數(shù),C語(yǔ)言中的文件部分因?yàn)榉N種原因都沒有得到及時(shí)的學(xué)習(xí),以前很多東西都沒有學(xué)好,就像老師以前說的:“一天敲一個(gè)小時(shí)的鍵盤程序就能學(xué)好了?!爆F(xiàn)在開始相信了,在以后的學(xué)習(xí)中自己要加強(qiáng)程序的鍛煉,多參考好的程序和各種各樣的函數(shù),建立起自己的函數(shù)庫(kù),為以后學(xué)習(xí)打下良好的基礎(chǔ)。</p><p><b> 參考文獻(xiàn)</b></p&g
112、t;<p> [1]鄭阿奇.SQL Server實(shí)用教程(第二版).北京:電子工業(yè)出版社.2005</p><p> [2]崔淼,陳明非.Visual C# 2005 程序設(shè)計(jì)教程.北京:機(jī)械工業(yè)出版社,2007.1</p><p> [3]段德亮,余鍵,張仁才。C#課程設(shè)計(jì).北京:清華大學(xué)出版社,2008.6</p><p> [4]王小銘,
113、管理信息系統(tǒng)及其開發(fā)技術(shù),2003,電子工業(yè)出版社</p><p> [5]李永平,管理信息系統(tǒng),2004,科學(xué)出版社</p><p> [6]項(xiàng)目管理信息系統(tǒng)的規(guī)劃想法,2004,企業(yè)信息化論壇,http://www.e-works.net.cn</p><p> [7]嚴(yán)蔚敏、吳為民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版).北京:清華大學(xué)出版社.2007[8]周二強(qiáng).新編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)
- 飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)—飛機(jī)訂票系統(tǒng)
- 飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)
- c課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)---飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)--飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)
- c語(yǔ)言飛機(jī)訂票系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)
- 飛機(jī)訂票系統(tǒng)c語(yǔ)言課程設(shè)計(jì)
- 課程設(shè)計(jì)——飛機(jī)訂票系統(tǒng)程序設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告--飛機(jī)訂票系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---飛機(jī)訂票系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告飛機(jī)訂票系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)飛機(jī)訂票系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告飛機(jī)訂票管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論