版權(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ì)任務(wù)書</b></p><p> 2009 —2010 學(xué)年第 二 學(xué)期</p><p> 設(shè)計(jì)題目: 航空客運(yùn)訂票系統(tǒng) </p><p> 完成期限:自 2010 年 6 月 28日至 2010 年7 月 日共 1
2、 周</p><p> 指導(dǎo)教師(簽字): 年 月 日</p><p> 系(教研室)主任(簽字): 年 月 日</p><p><b> 目錄</b></p><p> 1.
3、 題目及需求分析 …………………………… VI</p><p> 2. 概要設(shè)計(jì) …………………………………… VII</p><p> 3. 詳細(xì)設(shè)計(jì) …………………………………… X</p><p> 4. 調(diào)試分析 …………………………………… XIX</p><p> 5. 用戶手冊(cè) ………………………………
4、…… XXI</p><p> 6. 測(cè)試結(jié)果 …………………………………… XXIII</p><p> 7. 附錄 程序清單 …………………………… XXV</p><p><b> 題目:</b></p><p><b> 航空客運(yùn)訂票系統(tǒng)</b></p>
5、<p><b> 擴(kuò)展:</b></p><p> 增加了運(yùn)行面板的顏色;</p><p> 增加添加了進(jìn)入要密碼輸入功能;</p><p> 顯示功能比要求的多了些,意在增加程序的智能化</p><p><b> 一 . 需求分析</b></p><p>
6、; ( 1 ) 以線性表存儲(chǔ)航班信息,以隊(duì)列存儲(chǔ)預(yù)定客戶的名單。</p><p> ( 2 ) 設(shè)計(jì)交互界面 , 用戶只需輸入選擇就可做想做的事情.</p><p> ( 3 ) 用戶可以自己輸入航班信息的多少 , 然后由程序自動(dòng)打印出航班信息.</p><p> ( 4 ) 一切操作都有向?qū)?</p><p><b>
7、二 . 概要設(shè)計(jì)</b></p><p> 設(shè)定線性表的抽象數(shù)據(jù)類型定義 :</p><p> ADT List {</p><p> 數(shù)據(jù)對(duì)象 : D={ai|ai∈int, i = 0,1,2……n , n≥0}</p><p> 數(shù)據(jù)關(guān)系 : R1={ <ai-1,ai> | ai-1,ai ∈D,i=2
8、,……n }</p><p><b> 基本操作 :</b></p><p> InitList(&L)</p><p> 操作結(jié)果 : 構(gòu)造一個(gè)空的線性表L.</p><p> DestroyList(&L)</p><p> 初始條件 : 線性表L已存在。</p
9、><p> 操作結(jié)果 : 銷毀線性表L。</p><p> ClearList(&L)</p><p> 初始條件 : 線性表L已存在。</p><p> 操作結(jié)果 : 將L重新置為空表。</p><p> ListEmpty(L)</p><p> 初始條件 : 線性表L已存
10、在。</p><p> 操作結(jié)果 : 判斷線性表是否為空</p><p> } ADT List;</p><p> 設(shè)定隊(duì)列的抽象數(shù)據(jù)類型</p><p> ADT Queue{</p><p> 數(shù)據(jù)對(duì)象 : D={ai|ai∈int,i=1,2,3,4,···,n,n>
11、;=0}</p><p> 數(shù)據(jù)關(guān)系 : R1={ <ai-1,ai> | ai-1,ai ∈D,i=2,……n }</p><p><b> 基本操作 :</b></p><p> InitQueue(&Q)</p><p> 操作結(jié)果: 構(gòu)造一個(gè)空隊(duì)列Q.</p><p
12、> DestoryQueue(&Q)</p><p> 初始條件: 隊(duì)列Q已存在。</p><p> 操作結(jié)果: 隊(duì)列Q被摧毀,不再存在。</p><p> ClearEmpty(Q)</p><p> 初始條件: 隊(duì)列Q已存在。</p><p> 操作結(jié)果: 將隊(duì)列Q清為空隊(duì)列。</p
13、><p> EnQueue(&Q,e)</p><p> 初始條件: 隊(duì)列Q已存在。</p><p> 操作結(jié)果: 插入元素e為Q的新的隊(duì)尾元素。</p><p> DeQueue(&Q,&e)</p><p> 初始條件: Q為非空隊(duì)列。</p><p> 操作
14、結(jié)果: 刪除Q的隊(duì)頭元素,并用e返回其值。</p><p> }ADT Queue;</p><p><b> 本程序包含3個(gè)模塊</b></p><p><b> 主程序模塊:</b></p><p> int main()</p><p><b> {
15、</b></p><p> 主菜單函數(shù), 實(shí)現(xiàn)主要操作界面.</p><p><b> return 0;</b></p><p><b> }//主函數(shù)</b></p><p> 線性表模塊----實(shí)現(xiàn)線性表抽象數(shù)據(jù)類型</p><p> 隊(duì)列模塊--
16、--實(shí)現(xiàn)隊(duì)列抽象數(shù)據(jù)類型</p><p> 各模塊之間的調(diào)用如下:</p><p> 求解預(yù)定票實(shí)現(xiàn)的偽碼算法:</p><p> 設(shè)定當(dāng)前訂票的情況;</p><p><b> Do</b></p><p><b> {</b></p><p&
17、gt;<b> 若與票數(shù)足夠,</b></p><p><b> 則{</b></p><p><b> 則為客戶訂票;</b></p><p><b> }</b></p><p><b> 否則{</b></p&g
18、t;<p><b> 若客戶愿意等候買票</b></p><p><b> 則{</b></p><p><b> 辦理預(yù)定票手術(shù)</b></p><p><b> }</b></p><p><b> 否則{</b
19、></p><p><b> 推出訂票功能</b></p><p><b> }</b></p><p><b> }</b></p><p> }while (票數(shù)存在); </p><p><b> 詳細(xì)設(shè)計(jì)</b&g
20、t;</p><p><b> 工程文件視圖:</b></p><p><b> 類視圖:</b></p><p> --------------------------頭文件設(shè)計(jì)(部分)-----------------------</p><p><b> 1.源程序頭文件&l
21、t;/b></p><p> #include "stdafx.h"</p><p> #include "malloc.h"</p><p> #include "math.h"</p><p> #include "stdio.h"</p&
22、gt;<p> #include "stdlib.h"</p><p> #include "string.h"</p><p> #include "conio.h"</p><p> #include "process.h"</p><p&g
23、t; typedef struct yidingkehu</p><p><b> {</b></p><p><b> int name;</b></p><p> int dingpiaoliang;</p><p> int chuangweidengji;</p>&
24、lt;p> struct yidingkehu *next1;</p><p> }yiding,*link;</p><p> typedef struct denghoukehu</p><p><b> {</b></p><p><b> int name;</b></
25、p><p> int piaoshu;</p><p> int chuangweidengji;</p><p> struct denghoukehu *next2;</p><p> }denghou,*Qptr;</p><p> typedef struct hangxian</p>&l
26、t;p><b> {</b></p><p> int zhongdianzhan;</p><p> int hangbanhao;</p><p> int feijihao;</p><p> int feixingzhouri;</p><p> int chengyua
27、nzongshu;</p><p> int yupiaoliang;</p><p> struct hangxian *next;</p><p> struct yidingkehu *yiding;</p><p> struct denghoukehu *denghou;</p><p> }han
28、gxian,*linklist;</p><p> typedef struct</p><p><b> {</b></p><p> Qptr front;</p><p> Qptr rear;</p><p> }linkqueue;</p><p>
29、struct hangxian *L=NULL;</p><p> struct yidingkehu *H;</p><p> linkqueue Q;</p><p> -------------------------實(shí)現(xiàn)文件(部分)---------------------------</p><p> 1. void han
30、gbanxinxi()</p><p><b> {</b></p><p><b> int i=1;</b></p><p> while(i==1)</p><p><b> {</b></p><p> if(!insertlinkli
31、st((linklist) L))</p><p> { printf("不能再輸入航班信息!\n");</p><p><b> exit(0);</b></p><p><b> }</b></p><p> printf("是否輸入航班信息?\n"
32、;);</p><p> printf(" 1:是\n");</p><p> printf(" 2:否\n");</p><p> scanf("%d",&i);</p><p> printf("\n");</p>
33、;<p><b> }</b></p><p><b> }</b></p><p> 2.int insertlinklist(linklist &L)</p><p><b> {</b></p><p> linklist p;</p
34、><p> p=(linklist)malloc(sizeof(hangxian));</p><p> if(!p) exit(0);</p><p> printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");</p><p> printf("航班號(hào)\n");</p><p
35、> scanf("%d",&p->hangbanhao);</p><p> printf("飛機(jī)號(hào)\n");</p><p> scanf("%d",&p->feijihao);</p><p> printf("終點(diǎn)站\n");</p&
36、gt;<p> scanf("%d",&p->zhongdianzhan);</p><p> printf("飛行周日\(chéng)n");</p><p> scanf("%d",&p->feixingzhouri);</p><p> printf("乘
37、客總數(shù)\n");</p><p> scanf("%d",&p->chengyuanzongshu);</p><p> printf("余票數(shù)\n");</p><p> scanf("%d",&p->yupiaoliang);</p><p
38、> p->yiding=(yidingkehu*)malloc(sizeof(yidingkehu));</p><p> p->denghou=Q.front=Q.rear=(Qptr)malloc(sizeof(denghoukehu));</p><p> p->next=L->next;</p><p> L->n
39、ext=p;</p><p><b> return 1;</b></p><p><b> }</b></p><p> 3. void dingpiaoyewu()</p><p><b> { </b></p><p> linklist
40、 p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> yiding *h=H,*h1;</p><p> linkqueue q=Q;</p><p> int i,j,k,piao,yudingpiao=0,yidingpia
41、o=0;</p><p> if(!p->next )</p><p> printf("沒有航班信息!\n請(qǐng)輸入航班信息!\n\n");</p><p><b> else</b></p><p><b> {</b></p><p>
42、 printf("請(qǐng)輸入終點(diǎn)站:");</p><p> scanf("%d",&i);</p><p> printf("\n");</p><p> p=L->next;</p><p><b> if(p){</b></p>
43、;<p><b> do{</b></p><p><b> if(!p)</b></p><p><b> {</b></p><p> printf("對(duì)不起!沒有你要查詢的航班!\n\n\n");</p><p><b>
44、; break;</b></p><p><b> }</b></p><p> j=p->zhongdianzhan-i;</p><p><b> if(j==0)</b></p><p><b> {</b></p><p&
45、gt; printf("\t航班信息:\n");</p><p> printf("\t航班號(hào):%d\n",p->hangbanhao);</p><p> printf("\t飛機(jī)號(hào):%d\n",p->feijihao);</p><p> printf("\t乘客總數(shù):%d
46、\n",p->chengyuanzongshu);</p><p> printf("\t飛行時(shí)間:周%d\n",p->feixingzhouri);</p><p> printf("\t余票量:%d\n",p->yupiaoliang);</p><p><b> }</b
47、></p><p><b> else</b></p><p> p=p->next;</p><p> }while(j!=0);</p><p><b> if(j==0)</b></p><p><b> {</b></
48、p><p><b> do</b></p><p><b> {</b></p><p> printf("\n請(qǐng)輸入你要定的票數(shù):");</p><p> scanf("%d",&piao);</p><p> prin
49、tf("\n");</p><p> if(piao<=p->yupiaoliang)</p><p><b> {</b></p><p> h=p->yiding;</p><p><b> if(h)</b></p><p>
50、;<b> {</b></p><p><b> h1=h;</b></p><p> h=h->next1;</p><p> h=(yiding*)malloc(sizeof(yiding));</p><p> printf("\t請(qǐng)輸入你的名字:");&l
51、t;/p><p> scanf("%d",&h->name);</p><p> printf("\n");</p><p> printf("\t你要的窗位等級(jí):");</p><p> scanf("%d",&h->chuang
52、weidengji);</p><p> printf("\n");</p><p> if((h->chuangweidengji >=1)&&(h->chuangweidengji <=3))</p><p><b> {</b></p><p>
53、h->dingpiaoliang=piao;</p><p> h->next1 =h1->next1 ;</p><p> h1->next1 =h;</p><p> p->yupiaoliang=p->yupiaoliang -piao;</p><p> printf("訂票成功!
54、\n");</p><p><b> j=2;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf(&q
55、uot;沒有這等窗位!\n");</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>&
56、lt;b> else</b></p><p><b> {</b></p><p> printf("余票量:%d\n",p->yupiaoliang);</p><p> printf("余票量%d張不能滿足你的訂票量\n\n\n",p->yupiaoliang )
57、;</p><p> printf("是否要訂票?");</p><p> printf("1:需要2:不需要3:預(yù)定");</p><p> scanf("%d",&j);</p><p> printf("\n");</p>&l
58、t;p><b> if(j==3)</b></p><p><b> {</b></p><p> struct denghoukehu *q1;</p><p> printf("航班的票已經(jīng)售完!\n");</p><p> q.front =p->de
59、nghou;</p><p> if(q.front ==q.rear )</p><p> printf("沒有人預(yù)定,是否預(yù)定?\n");</p><p><b> else</b></p><p> printf("有人預(yù)定,是否預(yù)定?\n");</p>
60、<p> printf("1預(yù)定:2:不預(yù)定\n");</p><p> scanf("%d",&k);</p><p> printf("\n");</p><p><b> if(k==1)</b></p><p><b&g
61、t; {</b></p><p> q1=(Qptr)malloc(sizeof(denghou));</p><p> printf("請(qǐng)輸入你的名字:");</p><p> scanf("%d",&q1->name);</p><p> printf("
62、;\n");</p><p> printf("請(qǐng)輸入你要預(yù)定的票數(shù):");</p><p> scanf("%d",&q1->piaoshu);</p><p> printf("\n");</p><p> printf("請(qǐng)輸入你要預(yù)定
63、的窗位等級(jí):");</p><p> scanf("%d",&q1->chuangweidengji);</p><p> if((q1->chuangweidengji >3)||(q1->chuangweidengji <1))</p><p><b> {</b>&
64、lt;/p><p> printf("沒有這等窗位等級(jí)!\n");</p><p><b> break;</b></p><p><b> }</b></p><p> printf("\n");</p><p> q1->
65、;next2 =NULL;</p><p> q.rear ->next2 =q1;</p><p> q.rear =q1;</p><p> printf("預(yù)定成功!\n");</p><p><b> }</b></p><p><b> }&
66、lt;/b></p><p><b> }</b></p><p> }while(j==1);</p><p><b> }</b></p><p><b> }</b></p><p> else if(!p)</p>
67、<p><b> {</b></p><p> struct denghoukehu *q1;</p><p> printf("航班的票已經(jīng)售完!\n");</p><p> q.front =p->denghou;</p><p> if(q.front ==q.rear
68、 )</p><p> printf("沒有人預(yù)定,是否預(yù)定?\n");</p><p><b> else</b></p><p> printf("有人預(yù)定,是否預(yù)定?\n");</p><p> printf("1預(yù)定:2:不預(yù)定\n");<
69、/p><p> scanf("%d",&k);</p><p> printf("\n");</p><p><b> if(k==1)</b></p><p><b> {</b></p><p> q1=(Qptr)m
70、alloc(sizeof(denghou));</p><p> printf("請(qǐng)輸入你的名字:");</p><p> scanf("%d",&q1->name);</p><p> printf("\n");</p><p> printf("請(qǐng)
71、輸入你要預(yù)定的票數(shù):");</p><p> scanf("%d",&q1->piaoshu);</p><p> printf("\n");</p><p> q1->next2 =NULL;</p><p> q.rear ->next2 =q1;<
72、/p><p> q.rear =q1;</p><p> printf("預(yù)定成功!\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
73、<p><b> }</b></p><p> 4. void chaxunhangxian()</p><p><b> {</b></p><p><b> int i;</b></p><p> printf("1:特定查詢2:全部查詢3
74、:最近一天航班信息\n");</p><p> printf("請(qǐng)選擇功能:");</p><p> scanf("%d",&i);</p><p> printf("\n");</p><p><b> switch(i)</b>&l
75、t;/p><p><b> {</b></p><p><b> case 1:</b></p><p><b> tdcx();</b></p><p><b> break;</b></p><p><b> c
76、ase 2:</b></p><p><b> qbcx();</b></p><p><b> break;</b></p><p><b> case 3:</b></p><p><b> zjyt();</b></p>
77、;<p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> 5. void tdcx()</p><p><b> {</b></p><
78、;p> int i,j,k=1;</p><p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> if(p->next ==NULL)</p><p> printf("還沒有航班
79、信息!\n請(qǐng)輸入航班信息!\n\n");</p><p><b> else</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入終點(diǎn)站名字:");</p><p> scanf("%d",&i);&
80、lt;/p><p> printf("\n");</p><p><b> do</b></p><p><b> {</b></p><p> p=p->next ;</p><p><b> if(p)</b><
81、/p><p><b> {</b></p><p> j=p->zhongdianzhan-i;</p><p><b> if(j==0)</b></p><p><b> {</b></p><p> printf("\t航班信
82、息%d如下:\n",k);</p><p> printf("\t航班號(hào):%d\n",p->hangbanhao);</p><p> printf("\t飛機(jī)號(hào):%d\n",p->feijihao );</p><p> printf("\t飛行周日:%d\n",p->f
83、eixingzhouri );</p><p> printf("\t余票量:%d\n\n",p->yupiaoliang);</p><p><b> k++;</b></p><p><b> }</b></p><p><b> }</b>
84、;</p><p><b> else</b></p><p><b> {</b></p><p> printf("\t沒有你要查詢的航班號(hào)!\n\n");</p><p><b> break;</b></p><p>
85、<b> }</b></p><p> }while(j!=0);</p><p><b> }</b></p><p><b> }</b></p><p> 6.void qbcx()</p><p><b> {</b&
86、gt;</p><p><b> int k=1;</b></p><p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> if(p->next ==NULL)</p&g
87、t;<p> printf("還沒有航班信息!\n請(qǐng)輸入航班信息!\n\n");</p><p><b> else</b></p><p><b> {</b></p><p><b> do</b></p><p><b>
88、; {</b></p><p> p=p->next ;</p><p><b> if(p)</b></p><p><b> {</b></p><p><b> {</b></p><p> printf("
89、\t航班信息%d如下:\n",k);</p><p> printf("\t航班號(hào):%d\n",p->hangbanhao);</p><p> printf("\t飛機(jī)號(hào):%d\n",p->feijihao );</p><p> printf("\t飛行周日:%d\n",p-
90、>feixingzhouri );</p><p> printf("\t余票量:%d\n\n",p->yupiaoliang);</p><p><b> }</b></p><p><b> k++;</b></p><p><b> }<
91、/b></p><p> }while(p);</p><p><b> }</b></p><p><b> }</b></p><p> 7.void zjyt()</p><p><b> {</b></p><
92、p> int i,j,k=1;</p><p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> if(p->next ==NULL)</p><p> printf("還沒有航班信
93、息!\n請(qǐng)輸入航班信息!\n\n");</p><p><b> else</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入特定某天的航班信息的日期!\n");</p><p> scanf("%d",&
94、amp;i);</p><p> printf("\t%d號(hào)最近一天的航班信息如下所示:\n\n",i);</p><p><b> do</b></p><p><b> {</b></p><p> p=p->next ;</p><p>
95、; j=p->feixingzhouri -i;</p><p> if(fabs(j)<=1)</p><p><b> {</b></p><p><b> {</b></p><p> printf("\t航班信息%d如下:\n",k);</p&
96、gt;<p> printf("\t航班號(hào):%d\n",p->hangbanhao);</p><p> printf("\t飛機(jī)號(hào):%d\n",p->feijihao );</p><p> printf("\t飛行周日:%d\n",p->feixingzhouri );</p>
97、<p> printf("\t余票量:%d\n\n",p->yupiaoliang);</p><p><b> k++;</b></p><p><b> }</b></p><p><b> }</b></p><p> e
98、lse if(p->next==NULL)</p><p> printf("\t沒有航班信息!\n");</p><p> }while(p->next );</p><p><b> }</b></p><p><b> }</b></p>
99、<p> 8. void tuipiaoyewu()</p><p><b> {</b></p><p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> if(p-&g
100、t;next ==NULL)</p><p> printf("還沒有訂票!\n\n");</p><p><b> else</b></p><p><b> {</b></p><p> printf("\t按航班號(hào)查詢\n");</p>
101、;<p><b> hbh();</b></p><p><b> }</b></p><p><b> }</b></p><p> 9. void hbh()</p><p><b> {</b></p><
102、p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> yiding *h=H,*h1,*h2;</p><p> linkqueue q=Q;</p><p> int i,j,k,m,piao;&
103、lt;/p><p> printf("請(qǐng)輸入航班號(hào):");</p><p> scanf("%d",&i);</p><p> printf("\n");</p><p><b> if(p)</b></p><p><
104、b> {</b></p><p><b> do</b></p><p><b> {</b></p><p><b> if(!p)</b></p><p><b> {</b></p><p> p
105、rintf("沒有你要退票的飛機(jī)!\n");</p><p><b> break;</b></p><p><b> }</b></p><p> j=p->hangbanhao -i;</p><p><b> if(j==0)</b>&l
106、t;/p><p><b> {</b></p><p> printf("\t航班信息如下:\n");</p><p> printf("\t航班號(hào):%d\n",p->hangbanhao);</p><p> printf("\t飛機(jī)號(hào):%d\n",
107、p->feijihao);</p><p> printf("\t飛行周日:周%d\n",p->feixingzhouri);</p><p> printf("\t余票量:%d\n\n\n",p->yupiaoliang);</p><p><b> }</b></p>
108、;<p><b> else</b></p><p> p=p->next ;</p><p> }while(j!=0);</p><p><b> if(j==0)</b></p><p><b> {</b></p><p
109、><b> do</b></p><p><b> {</b></p><p> h=p->yiding ;</p><p><b> if(h)</b></p><p><b> {</b></p><p>
110、 printf("請(qǐng)輸入你的名字:");</p><p> scanf("%d",&m );</p><p> printf("\n");</p><p> printf("請(qǐng)輸入你定的票數(shù):");</p><p> scanf("%d
111、",&piao);</p><p> printf("\n");</p><p><b> h1=h;</b></p><p> h=h->next1 ;</p><p> if((h->name -m==0)&&(h->dingpiaoli
112、ang ==piao))</p><p><b> {</b></p><p> p->yupiaoliang =p->yupiaoliang +h->dingpiaoliang ;</p><p><b> h2=h;</b></p><p> h1->next1
113、=h->next1 ;</p><p><b> free(h2);</b></p><p> printf("您退票成功!\n\n");</p><p> struct denghoukehu *q1;</p><p> q.front =p->denghou ;</p&g
114、t;<p> if(q.front ==q.rear==NULL )</p><p><b> {</b></p><p> printf("沒有人預(yù)訂票!\n\n\n");</p><p><b> break;</b></p><p><b>
115、 }</b></p><p> if((p->yupiaoliang )>=(q.front ->next2 ->piaoshu ))</p><p><b> {</b></p><p> h2=(yiding*)malloc(sizeof(yiding));</p><p>
116、; h2->name =q.front ->next2 ->name ;</p><p> h2->dingpiaoliang =q.front ->next2 ->piaoshu ;</p><p> k=p->yupiaoliang -q.front ->next2 ->piaoshu ;</p><p&g
117、t; p->yupiaoliang =k;</p><p> q1=q.front ->next2 ;</p><p> printf("%d號(hào)訂到票了,離開隊(duì)列!\n",q1->name );</p><p> printf(“%d號(hào)定的窗位等級(jí)是%d\n",q1->name ,q1->chuan
118、gweidengji );</p><p> q.front =q1->next2 ;</p><p> if(q.rear ==q1)</p><p> q.rear =q.front ;</p><p><b> free(q1);</b></p><p> h2->ne
119、xt1 =h->next1 ;</p><p> h->next1 =h2;</p><p> printf("為客戶預(yù)定票成功!\n");</p><p><b> }</b></p><p><b> else </b></p><p&
120、gt; printf("余票數(shù)不足,不能為客戶提供訂票服務(wù)!\n");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> printf("該航班沒有人
121、預(yù)訂票或者是你沒有定票!\n");</p><p> printf("是否重新查找?1:是2:否\n");</p><p> scanf("%d",&j);</p><p> printf("\n");</p><p><b> }</b&g
122、t;</p><p><b> }</b></p><p> }while(j==1);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
123、<p> 10. linklist initlinklist()</p><p><b> {</b></p><p> L=(linklist)malloc(sizeof(hangxian));</p><p><b> if(!L)</b></p><p><b>
124、; exit(0);</b></p><p> L->next=NULL;</p><p> return (L);</p><p><b> 四: 調(diào)試分析</b></p><p> 本次作業(yè)有點(diǎn)難度 , 特別是后期在原來的程序上做了些擴(kuò)展, 如生成底色,添加密碼功能,還有過多的提示更顯得
125、智能,剛開始很難做好,經(jīng)過調(diào)試終于做好了。</p><p> 在退票功能區(qū)域中,開始時(shí)用h->dingpiaoliang –piao==0時(shí)不管有沒有人入隊(duì)列,總是提示沒有人如隊(duì)列,后來調(diào)試用h->dingpiaoliang ==piao后就行了,因?yàn)楹竺娴男枰荒芨淖僪->dingpiaoliang</p><p> 在調(diào)試過程中使用scanf(“%d\n”,&am
126、p;n);總是不能得出想要的結(jié)果,后來老師調(diào)試后才知道是scanf(“%d”,&n);所以編程時(shí)要持著嚴(yán)謹(jǐn)?shù)膽B(tài)度,不斷調(diào)試。</p><p> 程序源代碼中仍有部分重復(fù)代碼,可以模塊化,實(shí)現(xiàn)代碼重用.</p><p> 在運(yùn)行時(shí)屏幕不能拉動(dòng),這是個(gè)缺陷。</p><p><b> 五.用戶手冊(cè)</b></p><
127、;p> 1.本程序的運(yùn)行環(huán)境為 DOS 操作系統(tǒng), 執(zhí)行文件為hangkongxitong.exe.</p><p> 2.進(jìn)入演示程序后 , 即顯示文本方式的用戶界面:</p><p> 要是連續(xù)三次沒有輸入正確的密碼就顯示出如下界面:</p><p> 3. 輸入正確的密碼后顯示出主界面的提示信息.如下圖:</p><p>
128、 4. 進(jìn)入 “航班信息” 命令后, 程序 立即顯示如下圖:</p><p> 5.進(jìn)入 “訂票業(yè)務(wù)” 命令后, 程序進(jìn)入如下界面:</p><p> 6.進(jìn)入“查詢功能”后,程序進(jìn)入如下界面:</p><p> 7.進(jìn)入“退票功能”后進(jìn)入如下界面:</p><p><b> 測(cè)試結(jié)果</b></p>
129、;<p> 輸入不正確時(shí)會(huì)分別顯示如下信息:</p><p><b> 輸入如下正確數(shù)據(jù):</b></p><p> 查詢航線的幾種方法:</p><p><b> 訂票業(yè)務(wù):</b></p><p><b> 退票業(yè)務(wù):</b></p>
130、<p><b> 推出界面:</b></p><p> 七 附錄 程序清單:</p><p> #include "stdafx.h"</p><p> #include "malloc.h"</p><p> #include "math.h&
131、quot;</p><p> #include "stdio.h"</p><p> #include "stdlib.h"</p><p> #include "string.h"</p><p> #include "conio.h"</p>
132、;<p> #include "process.h"</p><p> typedef struct yidingkehu</p><p><b> {</b></p><p><b> int name;</b></p><p> int dingpia
133、oliang;</p><p> int chuangweidengji;</p><p> struct yidingkehu *next1;</p><p> }yiding,*link;</p><p> typedef struct denghoukehu</p><p><b> {<
134、;/b></p><p><b> int name;</b></p><p> int piaoshu;</p><p> int chuangweidengji;</p><p> struct denghoukehu *next2;</p><p> }denghou,*Qp
135、tr;</p><p> typedef struct hangxian</p><p><b> {</b></p><p> int zhongdianzhan;</p><p> int hangbanhao;</p><p> int feijihao;</p>&
136、lt;p> int feixingzhouri;</p><p> int chengyuanzongshu;</p><p> int yupiaoliang;</p><p> struct hangxian *next;</p><p> struct yidingkehu *yiding;</p><
137、;p> struct denghoukehu *denghou;</p><p> }hangxian,*linklist;</p><p> typedef struct</p><p><b> {</b></p><p> Qptr front;</p><p> Qptr
138、 rear;</p><p> }linkqueue;</p><p> struct hangxian *L=NULL;</p><p> struct yidingkehu *H;</p><p> linkqueue Q;</p><p> linklist initlinklist()</p&g
139、t;<p><b> {</b></p><p> L=(linklist)malloc(sizeof(hangxian));</p><p><b> if(!L)</b></p><p><b> exit(0);</b></p><p> L-&g
140、t;next=NULL;</p><p> return (L);</p><p><b> }</b></p><p> int insertlinklist(linklist &L)</p><p><b> {</b></p><p> linklis
141、t p;</p><p> p=(linklist)malloc(sizeof(hangxian));</p><p> if(!p) exit(0);</p><p> printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");</p><p> printf("航班號(hào)\n");</p&
142、gt;<p> scanf("%d",&p->hangbanhao);</p><p> printf("飛機(jī)號(hào)\n");</p><p> scanf("%d",&p->feijihao);</p><p> printf("終點(diǎn)站\n"
143、;);</p><p> scanf("%d",&p->zhongdianzhan);</p><p> printf("飛行周日\(chéng)n");</p><p> scanf("%d",&p->feixingzhouri);</p><p> prin
144、tf("乘客總數(shù)\n");</p><p> scanf("%d",&p->chengyuanzongshu);</p><p> printf("余票數(shù)\n");</p><p> scanf("%d",&p->yupiaoliang);</p&
145、gt;<p> p->yiding=(yidingkehu*)malloc(sizeof(yidingkehu));</p><p> p->denghou=Q.front=Q.rear=(Qptr)malloc(sizeof(denghoukehu));</p><p> p->next=L->next;</p><p>
146、; L->next=p;</p><p><b> return 1;</b></p><p><b> }</b></p><p> void tdcx()</p><p><b> {</b></p><p> int i,j,k=
147、1;</p><p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> if(p->next ==NULL)</p><p> printf("還沒有航班信息!\n請(qǐng)輸入航班信息!\n\n&
148、quot;);</p><p><b> else</b></p><p><b> {</b></p><p> printf("請(qǐng)輸入終點(diǎn)站名字:");</p><p> scanf("%d",&i);</p><p&g
149、t; printf("\n");</p><p><b> do</b></p><p><b> {</b></p><p> p=p->next ;</p><p><b> if(p)</b></p><p>&
150、lt;b> {</b></p><p> j=p->zhongdianzhan-i;</p><p><b> if(j==0)</b></p><p><b> {</b></p><p> printf("\t航班信息%d如下:\n",k);
151、</p><p> printf("\t航班號(hào):%d\n",p->hangbanhao);</p><p> printf("\t飛機(jī)號(hào):%d\n",p->feijihao );</p><p> printf("\t飛行周日:%d\n",p->feixingzhouri );<
152、;/p><p> printf("\t余票量:%d\n\n",p->yupiaoliang);</p><p><b> k++;</b></p><p><b> }</b></p><p><b> }</b></p><p
153、><b> else</b></p><p><b> {</b></p><p> printf("\t沒有你要查詢的航班號(hào)!\n\n");</p><p><b> break;</b></p><p><b> }</b
154、></p><p> }while(j!=0);</p><p><b> }</b></p><p><b> }</b></p><p> void qbcx()</p><p><b> {</b></p><p
155、><b> int k=1;</b></p><p> linklist p=(linklist)malloc(sizeof(hangxian));</p><p><b> p=L;</b></p><p> if(p->next ==NULL)</p><p> print
156、f("還沒有航班信息!\n請(qǐng)輸入航班信息!\n\n");</p><p><b> else</b></p><p><b> {</b></p><p><b> do</b></p><p><b> {</b></p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航空客運(yùn)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---航空客運(yùn)訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)航空航班課程設(shè)計(jì)--航空客運(yùn)訂票系統(tǒng)
- 航空客運(yùn)訂票系統(tǒng)數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)源代碼
- 課程設(shè)計(jì)---航空客運(yùn)訂票系統(tǒng)
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)
- 航空客運(yùn)訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)航空訂票系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---飛機(jī)訂票系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 航空訂票系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-- 航空訂票管理系統(tǒng)
- 航空訂票管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告-航空訂票系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語言版飛機(jī) 訂票 系統(tǒng)資料
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
評(píng)論
0/150
提交評(píng)論