2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)難度 , 特別是后期在原來(lái)的程序上做了些擴(kuò)展, 如生成底色,添加密碼功能,還有過(guò)多的提示更顯得

125、智能,剛開始很難做好,經(jīng)過(guò)調(diào)試終于做好了。</p><p>  在退票功能區(qū)域中,開始時(shí)用h->dingpiaoliang –piao==0時(shí)不管有沒有人入隊(duì)列,總是提示沒有人如隊(duì)列,后來(lái)調(diào)試用h->dingpiaoliang ==piao后就行了,因?yàn)楹竺娴男枰荒芨淖僪->dingpiaoliang</p><p>  在調(diào)試過(guò)程中使用scanf(“%d\n”,&am

126、p;n);總是不能得出想要的結(jié)果,后來(lái)老師調(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論