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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  飛機在現(xiàn)代的生活中扮演者非常重要的角色。它能夠快速的把人們送到自己想要去的地方,既快速,又方便。所以現(xiàn)在坐飛機時很普遍的。但是都到機場去買票浪費時間,因此,航空訂票系統(tǒng)應(yīng)運而生。有了航空訂票系統(tǒng),用戶可以在該系統(tǒng)進行飛機票的查詢,訂票,退票等操作。方便了大家</p><p>  關(guān)鍵詞 航空訂票系統(tǒng)

2、 、查詢、訂票、退票</p><p><b>  目錄</b></p><p><b>  摘 要I</b></p><p><b>  1 需求分析2</b></p><p>  1.1 需求概述2</p><p>  1.2 需求環(huán)境2&

3、lt;/p><p>  1.3 功能描述2</p><p><b>  2 概要設(shè)計3</b></p><p>  2.1 程序功能模塊3</p><p>  2.2 程序流程圖3</p><p>  2.3 課程設(shè)計的思想3</p><p><b>  

4、3 詳細設(shè)計4</b></p><p>  3.1 程序初始化4</p><p>  3.1.1代碼功能4</p><p>  3.1.2 功能實現(xiàn)代碼4</p><p>  3.2 查詢航班信息6</p><p>  3.2.1代碼功能6</p><p>  3.2.3

5、 功能實現(xiàn)代碼7</p><p>  3.3 訂票模塊8</p><p>  3.3.1 代碼功能8</p><p>  3.3.2 功能實現(xiàn)代碼8</p><p>  4 測試與運行14</p><p>  5結(jié)束語..............................................

6、.........................................................................16</p><p>  6 參考文獻..................................................................................................................17

7、</p><p>  7附錄..........................................................................................................................18</p><p><b>  1 需求分析</b></p><p>

8、<b>  1.1 需求概述</b></p><p>  航線管理。每條航線所涉及的信息有:終點站名、航班號、飛機號、飛行周日(星期幾)、乘員定額、余票量</p><p>  客戶管理。有關(guān)訂票的客房信息(包括姓名、訂票量、艙位等級(1,2和3)以及等替補的客房名單(包括姓名、所需標量)。</p><p>  系統(tǒng)實現(xiàn)主要操作操作和功能。系統(tǒng)實

9、現(xiàn)的主要操作規(guī)程和功能如下:</p><p>  查詢航線。根據(jù)旅客提出的終點站名輸出下列信息:航班號、飛機號、飛行日期、余標額。</p><p>  承辦訂票業(yè)務(wù)。根據(jù)客戶提出的要求(航班號、訂票數(shù)額)查詢該航班票額情況,若有余票,則為客戶辦理訂票手續(xù),輸出座位號;若已滿或者余票少于訂票額,則需要重新詢問客戶要求;若需要,可等待排隊侯補</p><p>  承辦退

10、票業(yè)務(wù)。根據(jù)客戶提供的情況(日期、航班),為客戶輸退票手續(xù),然后查詢該航班是否有人排隊候補,首先詢問排在第一的客戶,若所退票額滿足該客戶的要求,則為其訂票手續(xù),否則依次詢問其他排隊候補的客戶。</p><p><b>  1.2 需求環(huán)境</b></p><p>  本課程設(shè)計需要的設(shè)備為硬件要求和軟件配置要求具體要求如下:</p><p> 

11、?、儆布螅阂慌_計算機。</p><p> ?、谲浖渲茫篧INDOWS7/VC++6.0。</p><p><b>  1.3 功能描述</b></p><p>  本次課程設(shè)計是航空訂票系統(tǒng)主要是由查詢航班信息,訂票還有退票三大主要功能。除此之外,還有系統(tǒng)的界面等等。</p><p><b>  2 概

12、要設(shè)計</b></p><p>  2.1 程序功能模塊</p><p>  由需求分析知,本次課程設(shè)計是航空訂票系統(tǒng)其主要由三大模塊構(gòu)成,即查詢模塊(這部分由我負責),訂票系統(tǒng)模塊和退票系統(tǒng)模塊構(gòu)成。</p><p><b>  2.2 程序流程圖</b></p><p><b>  該程序開始運

13、行后</b></p><p><b>  進如航空訂票系統(tǒng)</b></p><p><b>  用戶可以進行航班</b></p><p><b>  信息的查詢,訂票</b></p><p><b>  和退票操作。</b></p>

14、<p>  圖2.1為該系統(tǒng)總的流程圖</p><p>  2.3 課程設(shè)計的思想</p><p>  由需求分析知道需要實現(xiàn)幾個功能定義了兩個結(jié)構(gòu)體。這兩個結(jié)構(gòu)體分別用來表示顧客信息和航班信息。有結(jié)構(gòu)體可以知道一些基本信息,比如顧客的姓名,定的機票和航班的時間等等信息。使得實驗代碼的可讀性大大增強。</p><p><b>  3 詳細設(shè)計

15、</b></p><p><b>  3.1 程序初始化</b></p><p><b>  3.1.1代碼功能</b></p><p>  這一塊還是由我負責。我初始化了五個航班的基本信息。在初始化程序中,主要是航班的基本信息。比如航班號,出發(fā)時間和剩下的機票數(shù)目等等基本信息。通過運用指針和鏈表來進行對初始化

16、信息的書寫。在初始化時將三個重點的信息分別初始化為:</p><p>  廣州 航班號005 飛機號PZH113 機票數(shù)120</p><p>  天津 航班號004 飛機號PZH121 機票數(shù)120</p><p>  北京 航班號003 飛機號PZH133 機票數(shù)120</p><p> ?、苌虾?/p>

17、 航班號002 飛機號PZH132 機票數(shù)120</p><p>  ⑤成都 航班號001 飛機號PZH122 機票數(shù)120</p><p>  3.1.2 功能實現(xiàn)代碼</p><p>  void InitLine()//初始化航線信息</p><p><b>  {</b><

18、;/p><p>  airline *p,*q; //航線</p><p>  L=(airline *)malloc(sizeof(airline));</p><p>  L->booked=NULL;</p><p>  L->wait=NULL;</p><p>  L->next=N

19、ULL;</p><p>  strcpy(L->end_addr,"00000000"); //終點站</p><p>  strcpy(L->line_num,"000"); //航班號</p><p>  strcpy(L->plant_num,&

20、quot;0000000"); //飛機號</p><p>  L->day=L->left=L->total=0;</p><p><b>  q=L;</b></p><p>  p=(airline *)malloc(sizeof(airline));//廣州</p>&l

21、t;p>  p->booked=NULL;</p><p>  p->wait=NULL;</p><p>  strcpy(p->end_addr,"廣州");</p><p>  strcpy(p->line_num,"005");</p><p>  strcpy(p

22、->plant_num,"PZH113");</p><p><b>  p->day=5;</b></p><p>  p->left=120;</p><p>  p->total=120;</p><p>  p->next=q->next;</p>

23、;<p>  q->next=p;</p><p>  p=(airline *)malloc(sizeof(airline));//天津</p><p>  p->booked=NULL;</p><p>  p->wait=NULL;</p><p>  strcpy(p->end_addr,&quo

24、t;天津");</p><p>  strcpy(p->line_num,"004");</p><p>  strcpy(p->plant_num,"PZH121");</p><p><b>  p->day=4;</b></p><p>  p-&

25、gt;left=120;</p><p>  p->total=120;</p><p>  p->next=q->next;</p><p>  q->next=p;</p><p>  p=(airline *)malloc(sizeof(airline));//北京</p><p>  p

26、->booked=NULL;</p><p>  p->wait=NULL;</p><p>  strcpy(p->end_addr,"北京");</p><p>  strcpy(p->line_num,"003");</p><p>  strcpy(p->plant

27、_num,"PZH133");</p><p><b>  p->day=1;</b></p><p>  p->left=120;</p><p>  p->total=120;</p><p>  p->next=q->next;</p><p&g

28、t;  q->next=p;</p><p>  p=(airline *)malloc(sizeof(airline));//上海</p><p>  p->booked=NULL;</p><p>  p->wait=NULL;</p><p>  strcpy(p->end_addr,"上海"

29、);</p><p>  strcpy(p->line_num,"002");</p><p>  strcpy(p->plant_num,"PZH132");</p><p><b>  p->day=2;</b></p><p>  p->left=12

30、0;</p><p>  p->total=120;</p><p>  p->next=q->next;</p><p>  q->next=p;</p><p>  p=(airline *)malloc(sizeof(airline));//成都</p><p>  p->booke

31、d=NULL;</p><p>  p->wait=NULL;</p><p>  strcpy(p->end_addr,"成都");</p><p>  strcpy(p->line_num,"001");</p><p>  strcpy(p->plant_num,"

32、;PZH122");</p><p><b>  p->day=3;</b></p><p>  p->left=120;</p><p>  p->total=120;</p><p>  p->next=q->next;</p><p>  q->

33、next=p;</p><p><b>  } </b></p><p>  3.2 查詢航班信息</p><p><b>  3.2.1代碼功能</b></p><p>  此模塊主要由我負責,在此模塊我實現(xiàn)了查詢航班的功能。當進入查詢功能時,通過輸入數(shù)字用戶可以查詢航班的基本信息,比如目的地,剩

34、下的機票數(shù)目,出發(fā)的時間等等基本信息。如果輸入的數(shù)字在界面中沒有顯示則會提示用戶沒有這次航班。在這個模塊我使用了個switch語句來實現(xiàn)對查詢方式的選擇。通過判斷輸入的數(shù)字進入到相對應(yīng)的查詢方式。如果輸入的信息有誤的話,系統(tǒng)將會提示用戶沒有這次航班,需要重新輸入。</p><p>  3.2.2查詢模塊流程圖</p><p>  3.2.2查詢模塊的流程圖</p><p

35、>  在該模塊用戶可以進行查詢功能。用戶根據(jù)提示可以按照航班號、飛機號、飛行日期和航班重點來查詢航班的基本信息。這些基本信息包括了飛行航班號、飛機號、剩余票量和處罰日期等等。在該模塊用戶必須根據(jù)提示進行輸入,否則系統(tǒng)會提示輸入有誤,需要重新輸入。</p><p>  3.2.3 功能實現(xiàn)代碼</p><p>  void search()//航班查詢系統(tǒng)</p>

36、<p><b>  {</b></p><p><b>  int i;</b></p><p>  int flag=0;</p><p>  airline *p;</p><p>  PR("請輸入查詢航班的方式:\n");</p><p>

37、;  PR("航班號---->1\n");</p><p>  PR("飛機號---->2\n");</p><p>  PR("飛行日期-->3\n");</p><p>  PR("航班終點-->4\n");</p><p>  SC(

38、"%d",&i);</p><p>  for(;!flag;)</p><p>  switch(i) //switch語句來進行航班的查詢方式</p><p><b>  {</b></p><p>  case 1: p=search_line();

39、flag=1;break;</p><p>  case 2: p=search_plant();flag=1;break;</p><p>  case 3: p=search_day();flag=1;break;</p><p>  case 4: p=search_addr();flag-=1;break;</p><p>  def

40、ault:PR("操作錯誤,請重新輸入\n");break;</p><p><b>  }</b></p><p><b>  if(p)</b></p><p><b>  {</b></p><p>  PR("終點站

41、 航班號 飛機號 飛行周日 余票量\n");</p><p>  PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left);</p><p>  PR("是否訂票(確定請按1)");<

42、;/p><p>  SC("%d",&i);</p><p><b>  if(i==1)</b></p><p><b>  book();</b></p><p><b>  }</b></p><p><b>  

43、else </b></p><p>  PR("沒有該航班\n");}</p><p><b>  3.3 訂票模塊</b></p><p>  3.3.1 代碼功能</p><p>  在此模塊可以根據(jù)提示可以從航班號,飛行日期和終點站來進行訂票。</p><p>

44、;  如果訂票時余票不足所需要的票的數(shù)目時就可以進行排隊購票選擇。</p><p>  3.3.2 功能實現(xiàn)代碼</p><p>  void book()//訂票系統(tǒng)</p><p><b>  {</b></p><p><b>  int i;</b></p><p

45、>  int flag=0;</p><p>  airline *p;</p><p>  customer *cst,*c;</p><p>  PR("請輸入查詢航班的方式:\n");</p><p>  PR("航班號--->1\n");</p><p> 

46、 PR("終點站--->2\n");</p><p>  PR("飛行日期->3\n");</p><p>  for(;!flag;)</p><p><b>  {</b></p><p>  SC("%d",&i);</p>

47、<p>  switch(i) //運用一個switch語句進行航班查詢</p><p><b>  {</b></p><p>  case 1: p=search_line();flag=1;break;</p><p>  case 2: p=search_addr();flag=1;bre

48、ak;</p><p>  case 3: p=search_day();flag=1;break;</p><p>  default:PR("操作錯誤,請重新輸入\n");break;</p><p><b>  }</b></p><p><b>  }</b></p

49、><p><b>  if(p)</b></p><p><b>  {</b></p><p>  PR("終點站 航班號 飛機號 飛行周日 余票量\n");</p><p>  PR("%-20s%10s%10s%8d%8d

50、\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left);</p><p>  cst=(customer *)malloc(sizeof(customer));</p><p>  PR("請輸入訂票數(shù)量:");</p><p>  SC("

51、;%d",&cst->num);</p><p>  PR("請輸入艙位等級(1/2/3)");</p><p>  SC("%d",&cst->level);</p><p>  PR("請輸入您的名字");</p><p>  SC(&quo

52、t;%s",cst->name);</p><p>  if(cst->num<=p->left)</p><p><b>  {</b></p><p>  cst->next=p->booked;</p><p>  p->booked=cst;</p>

53、<p>  p->left=p->left-cst->num;</p><p>  PR("訂票成功,座位號為%d~%d\n",p->total-p->left-cst->num+1,p->total-p->left);</p><p><b>  }</b></p>&l

54、t;p><b>  else</b></p><p>  //當需要的飄得數(shù)量大于剩余的票數(shù)的時候進行詢問是否進行排隊購票</p><p><b>  {</b></p><p>  PR("余票不足,是否排隊等候\n是(y)\n否(n)\n");</p><p>  SC

55、("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b></p><p>  if(!p->wait)</p><p><b>  {</b></p><p&g

56、t;  cst->next=p->wait;</p><p>  p->wait=cst;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p> 

57、 c=p->wait;</p><p>  for(;c->next;c=c->next);</p><p>  cst->next=c->next;</p><p>  c->next=cst;</p><p><b>  }</b></p><p><

58、b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else </b></p><p>  PR("沒有該航班\n");</p><p>&

59、lt;b>  guide();</b></p><p><b>  }</b></p><p>  排隊訂票時的排隊訂票系統(tǒng):</p><p>  void waited(airline *p)//排隊訂票系統(tǒng)</p><p><b>  {</b></p>&

60、lt;p><b>  int flag;</b></p><p>  customer *q,*q0,*h;</p><p>  if(!p->wait) return;</p><p>  q=(customer *)malloc(sizeof(customer));</p><p>  q->lev

61、el=0;</p><p>  q->num=123;</p><p>  strcpy(q->name,"00000");</p><p>  q->next=p->wait;</p><p><b>  h=q;</b></p><p>  for(

62、;p->left>0&&q->next;)</p><p><b>  {</b></p><p>  if(q->next->num<p->left)</p><p><b>  {</b></p><p>  PR("%s,您正

63、在排隊定%d張票,現(xiàn)有票,是否定\n是(y)\n否(n)\n",q->next->name,q->next->num);</p><p>  SC("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b&g

64、t;</p><p>  q0=q->next;</p><p>  q->next=q->next->next;</p><p>  q0->next=p->booked;</p><p>  p->booked=q0;</p><p>  p->left=p->

65、left-q0->num;</p><p>  PR("排隊訂票成功\n\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  q=q->next;</p><p><b>

66、;  }</b></p><p><b>  else</b></p><p>  q=q->next;</p><p><b>  }</b></p><p>  p->wait=h->next;</p><p><b>  }<

67、;/b></p><p><b>  3.4退票系統(tǒng)模塊</b></p><p><b>  3.4.1代碼功能</b></p><p>  在此模塊,用戶可以根據(jù)系統(tǒng)的提示進行退票操作。當進行退票操作時需要進行信息的核對,如果正確,打印出信息,再詢問是否退票。</p><p>  3.4.2

68、功能實現(xiàn)代碼</p><p>  void refund()//退票系統(tǒng)</p><p><b>  {</b></p><p><b>  int flag;</b></p><p>  char a[20];</p><p>  airline *p;</p&

69、gt;<p>  customer *c,*c1;</p><p>  p=search_line();</p><p>  c=p->booked;</p><p><b>  if(!p)</b></p><p><b>  {</b></p><p&g

70、t;  PR("沒有該航班\n\n");</p><p><b>  guide();</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  PR("請輸入您的姓名");&

71、lt;/p><p>  SC("%s",a);</p><p>  if(!p->booked->name) //進行信息的查找判斷是否有用戶的信息</p><p><b>  {</b></p><p>  PR("對不起,沒有找到您的信息\n\n");</

72、p><p><b>  guide();</b></p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if(!strcmp(a,p->booked->name)) //核對完信息后輸出要退票乘客的信息<

73、/p><p><b>  {</b></p><p>  PR("退票信息\n姓名/終點站/票數(shù)\n%s/%s/%d\n",p->booked->name,p->end_addr,p->booked->num);</p><p>  PR("確認要退票\n是(y)\n否(n)\n"

74、;);</p><p>  scanf("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b></p><p>  p->booked=p->booked->next;</p>

75、<p>  p->left=p->left+c->num;</p><p><b>  free(c);</b></p><p>  PR("退票成功\n\n");</p><p>  waited(p);</p><p><b>  guide();</

76、b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for(;c->next;c

77、=c->next)</p><p>  if(!strcmp(a,c->next->name))</p><p><b>  break;</b></p><p>  if(!c->next)</p><p><b>  {</b></p><p> 

78、 PR("對不起,沒有找到您的信息\n\n");</p><p><b>  guide();</b></p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>  else</b&

79、gt;</p><p><b>  {</b></p><p>  PR("退票信息\n姓名/終點站/票數(shù)\n%s/%s/%d\n",c->next->name,p->end_addr,c->next->num);</p><p>  PR("確認要退票?\n是(y)\n否(n)\n&

80、quot;);//詢問是否退票</p><p>  scanf("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b></p><p>  c1=c->next;</p><p>

81、;  c->next=c->next->next;</p><p>  p->left=p->left+c1->num;</p><p><b>  free(c1);</b></p><p>  PR("退票成功\n\n");</p><p>  waited(p

82、);</p><p><b>  guide();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b

83、></p><p>  以上三個模塊是改程序最主要的功能實現(xiàn)的代碼。初次之外還有部分其他顯示模塊。</p><p><b>  4 測試與運行</b></p><p>  由需求分析可知該程序運行后實現(xiàn)功能后的結(jié)果。</p><p>  此處是功能界面,用戶可以按照提示進行操作</p><p&g

84、t;<b>  進行查詢功能時:</b></p><p>  進行查詢模塊式會顯示出查詢方式,按照查詢方式可以準確的得到航班的信息</p><p><b>  進行訂票模塊時:</b></p><p>  在此處模塊,訂票可以根據(jù)提示進行購票,可以訂多張票,輸入艙位的等級和訂票人名字</p><p>

85、;<b>  排隊訂票系統(tǒng):</b></p><p>  如果該航班剩余的票量小于所要購買的數(shù)量,則會提示是否進行排隊購票。</p><p><b>  退票系統(tǒng):</b></p><p>  在該模塊,進行退票操作時,系統(tǒng)會進行信息的核對,如果正確,將會顯示客戶的信息。然后提示是否退票。</p><p

86、><b>  5 結(jié)束語</b></p><p>  此次數(shù)據(jù)結(jié)構(gòu)課程設(shè)計為航空訂票系統(tǒng)。在寫程序的時候還是遇到了很多的問題。有些功能怎么也實現(xiàn)不了。經(jīng)過和同學(xué)的探討還有上網(wǎng)查找資料,最后終于克服了這些問題,成功的運行出了程序。</p><p>  通過這次學(xué)習,使我對編寫程序的興趣更大了。除此之外,此次課程設(shè)計幫我們熟練地運用所學(xué)習的知識,還讓我們熟練的去融

87、合他們,寫出一個全新的程序來。</p><p>  在這次課程設(shè)計中要衷心的感謝老師對我們的幫助,使得我們對所學(xué)知識的熟練運用??偠灾?,這次的課程設(shè)計既有趣又訓(xùn)練了我們對知識的運用。</p><p><b>  6參考文獻</b></p><p>  [1]阮宏一,魯靜《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計C/C++描述》.電子工業(yè)出版社</p>

88、<p>  [2]馬巧梅,龐曉瓊等.《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計案例教程》第三版.人民郵電出版社</p><p>  [3]袁蔚敏.《數(shù)據(jù)結(jié)構(gòu)》 清華大學(xué)出版社</p><p><b>  7 源代碼 </b></p><p><b>  源代碼:</b></p><p>  #include<

89、;stdio.h></p><p>  #include<malloc.h></p><p>  #include<stdlib.h></p><p>  #include<string.h></p><p>  #define PR printf</p><p>  #def

90、ine SC scanf</p><p>  typedef struct customer//客戶信息</p><p><b>  {</b></p><p>  char name[20];//客戶姓名</p><p>  int num;//訂票量</p><p>  int

91、 level;//艙位等級</p><p>  customer *next;</p><p>  }customer,*Lcustomer;</p><p>  typedef struct airline//航線信息</p><p><b>  {</b></p><p>  ch

92、ar end_addr[20];//航線終點</p><p>  char line_num[5];//航班號</p><p>  char plant_num[8];//飛機號</p><p>  int day;//飛行日期</p><p>  int total;//定員</p><p&g

93、t;  int left;//剩余票數(shù)</p><p>  customer *booked;//已定客戶信息</p><p>  customer *wait;//排隊等候訂票信息</p><p>  airline *next;</p><p>  }airline,*Lairline;</p><p

94、>  airline *L;//將航班信息定義為全局變量,減少參數(shù)傳遞</p><p>  Lairline search_line()//按航班號查找航班</p><p><b>  {</b></p><p>  char a[5];</p><p>  airline *p;</p>

95、<p>  p=L->next;</p><p>  PR("請輸入航班號");</p><p>  SC("%s",a);</p><p>  for(;p;p=p->next)</p><p>  if(!strcmp(a,p->line_num)) break;&l

96、t;/p><p><b>  return p;</b></p><p><b>  }</b></p><p>  Lairline search_plant()//按飛機號查找航班</p><p><b>  {</b></p><p>  char

97、 a[8];</p><p>  airline *p;</p><p>  p=L->next;</p><p>  PR("請輸入飛機號");</p><p>  SC("%s",a);</p><p>  for(;p;p=p->next)</p>

98、<p>  if(!strcmp(a,p->plant_num)) break;</p><p><b>  return p;</b></p><p><b>  }</b></p><p>  Lairline search_day()//按飛行日期查找航班</p><p>

99、;<b>  {</b></p><p><b>  int a;</b></p><p>  airline *p;</p><p>  p=L->next;</p><p>  PR("請輸入飛行日期");</p><p>  SC("

100、%d",&a);</p><p>  for(;p;p=p->next)</p><p>  if(a==p->day) break;</p><p><b>  return p;</b></p><p><b>  }</b></p><p>

101、;  Lairline search_addr()//按航班終點查找航班</p><p><b>  {</b></p><p>  char a[20];</p><p>  airline *p;</p><p>  p=L->next;</p><p>  PR("請輸入

102、航班終點");</p><p>  SC("%s",a);</p><p>  for(;p;p=p->next)</p><p>  if(!strcmp(a,p->end_addr)) break;</p><p><b>  return p;</b></p>

103、<p><b>  }</b></p><p>  void guide()//主菜單界面</p><p><b>  {</b></p><p>  PR(" ------------航空訂票客服系統(tǒng)----------\n");</p><p>  PR

104、("==============================================\n");</p><p>  PR("\t\t顯示所有航線==> 1\n");</p><p>  PR("\t\t查詢航線信息==> 2\n");</p><p>  PR("\t\

105、t訂票業(yè)務(wù) ==> 3\n");</p><p>  PR("\t\t退票業(yè)務(wù) ==> 4\n");</p><p>  PR("\t\t退出系統(tǒng) ==> 0\n");</p><p>  PR("==================================

106、============\n");</p><p>  PR("\t\t清除屏幕信息==> 9\n\n");</p><p>  PR("請按上面指引操作:\t");</p><p><b>  }</b></p><p>  void print_custome

107、r(airline *p)//顯示航班客戶信息</p><p><b>  {</b></p><p>  customer *c;</p><p>  if(p->booked)</p><p><b>  {</b></p><p>  c=p->book

108、ed;</p><p>  PR("已定票客戶信息\n票數(shù)\t/\t客戶姓名\n");</p><p>  for(;c;c=c->next)</p><p>  PR("%5d\t/\t%s\n",c->num,c->name);</p><p>  PR("\n\n&qu

109、ot;);</p><p><b>  }</b></p><p><b>  else</b></p><p>  PR("暫時沒有客戶訂票\n\n");</p><p>  if(p->wait)</p><p><b>  {<

110、/b></p><p>  c=p->wait;</p><p>  PR("排隊訂票客戶信息\n票數(shù)\t/\t客戶姓名\n");</p><p>  for(;c;c=c->next)</p><p>  PR("%5d\t/\t%s\n",c->num,c->name)

111、;</p><p>  PR("\n\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>  PR("暫時沒有客戶排隊訂票\n\n");</p><p><b>  

112、}</b></p><p>  void book()//訂票系統(tǒng)</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  int flag=0;</p><p>  airline *p;</p

113、><p>  customer *cst,*c;</p><p>  PR("請輸入查詢航班的方式:\n");</p><p>  PR("航班號--->1\n");</p><p>  PR("終點站--->2\n");</p><p>  PR(

114、"飛行日期->3\n");</p><p>  for(;!flag;)</p><p><b>  {</b></p><p>  SC("%d",&i);</p><p><b>  switch(i)</b></p><

115、p><b>  {</b></p><p>  case 1: p=search_line();flag=1;break;</p><p>  case 2: p=search_addr();flag=1;break;</p><p>  case 3: p=search_day();flag=1;break;</p>&l

116、t;p>  default:PR("操作錯誤,請重新輸入\n");break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(p)</b></p><p><b>  {&l

117、t;/b></p><p>  PR("終點站 航班號 飛機號 飛行周日 余票量\n");</p><p>  PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left)

118、;</p><p>  cst=(customer *)malloc(sizeof(customer));</p><p>  PR("請輸入訂票數(shù)量:");</p><p>  SC("%d",&cst->num);</p><p>  PR("請輸入艙位等級(1/2/3)&q

119、uot;);</p><p>  SC("%d",&cst->level);</p><p>  PR("請輸入您的名字");</p><p>  SC("%s",cst->name);</p><p>  if(cst->num<=p->lef

120、t)</p><p><b>  {</b></p><p>  cst->next=p->booked;</p><p>  p->booked=cst;</p><p>  p->left=p->left-cst->num;</p><p>  PR(&qu

121、ot;訂票成功,座位號為%d~%d\n",p->total-p->left-cst->num+1,p->total-p->left);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&

122、lt;/p><p>  PR("余票不足,是否排隊等候?\n是(y)\n否(n)\n");</p><p>  SC("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b></p>

123、<p>  if(!p->wait)</p><p><b>  {</b></p><p>  cst->next=p->wait;</p><p>  p->wait=cst;</p><p><b>  }</b></p><p>

124、<b>  else</b></p><p><b>  {</b></p><p>  c=p->wait;</p><p>  for(;c->next;c=c->next);</p><p>  cst->next=c->next;</p><

125、p>  c->next=cst;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b

126、>  else </b></p><p>  PR("沒有該航班\n");</p><p><b>  guide();</b></p><p><b>  }</b></p><p>  void waited(airline *p)//排隊訂票系統(tǒng)&l

127、t;/p><p><b>  {</b></p><p><b>  int flag;</b></p><p>  customer *q,*q0,*h;</p><p>  if(!p->wait) return;</p><p>  q=(customer *)mal

128、loc(sizeof(customer));</p><p>  q->level=0;</p><p>  q->num=123;</p><p>  strcpy(q->name,"00000");</p><p>  q->next=p->wait;</p><p&g

129、t;<b>  h=q;</b></p><p>  for(;p->left>0&&q->next;)</p><p><b>  {</b></p><p>  if(q->next->num<p->left)</p><p><b

130、>  {</b></p><p>  PR("%s,您正在排隊定%d張票,現(xiàn)有票,是否定\n是(y)\n否(n)\n",q->next->name,q->next->num);</p><p>  SC("%d",&flag);</p><p><b>  if(fl

131、ag)</b></p><p><b>  {</b></p><p>  q0=q->next;</p><p>  q->next=q->next->next;</p><p>  q0->next=p->booked;</p><p>  p-

132、>booked=q0;</p><p>  p->left=p->left-q0->num;</p><p>  PR("排隊訂票成功\n\n");</p><p><b>  }</b></p><p><b>  else</b></p>

133、<p>  q=q->next;</p><p><b>  }</b></p><p><b>  else</b></p><p>  q=q->next;</p><p><b>  }</b></p><p>  p-&g

134、t;wait=h->next;</p><p><b>  }</b></p><p>  void refund()//退票系統(tǒng)</p><p><b>  {</b></p><p><b>  int flag;</b></p><p>

135、;  char a[20];</p><p>  airline *p;</p><p>  customer *c,*c1;</p><p>  p=search_line();</p><p>  c=p->booked;</p><p><b>  if(!p)</b></p&g

136、t;<p><b>  {</b></p><p>  PR("沒有該航班\n\n");</p><p><b>  guide();</b></p><p><b>  return;</b></p><p><b>  }<

137、;/b></p><p>  PR("請輸入您的姓名");</p><p>  SC("%s",a);</p><p>  if(!p->booked->name)</p><p><b>  {</b></p><p>  PR(&quo

138、t;對不起,沒有找到您的信息\n\n");</p><p><b>  guide();</b></p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if(!strcmp(a,p->booked-&g

139、t;name))</p><p><b>  {</b></p><p>  PR("退票信息\n姓名/終點站/票數(shù)\n%s/%s/%d\n",p->booked->name,p->end_addr,p->booked->num);</p><p>  PR("確認要退票?\n是(y)

140、\n否(n)\n");</p><p>  scanf("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b></p><p>  p->booked=p->booked->nex

141、t;</p><p>  p->left=p->left+c->num;</p><p><b>  free(c);</b></p><p>  PR("退票成功\n\n");</p><p>  waited(p);</p><p><b>  

142、guide();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for(

143、;c->next;c=c->next)</p><p>  if(!strcmp(a,c->next->name))</p><p><b>  break;</b></p><p>  if(!c->next)</p><p><b>  {</b></p>

144、;<p>  PR("對不起,沒有找到您的信息\n\n");</p><p><b>  guide();</b></p><p><b>  return ;</b></p><p><b>  }</b></p><p><b>

145、  else</b></p><p><b>  {</b></p><p>  PR("退票信息\n姓名/終點站/票數(shù)\n%s/%s/%d\n",c->next->name,p->end_addr,c->next->num);</p><p>  PR("確認要退票?\n

146、是(y)\n否(n)\n");</p><p>  scanf("%d",&flag);</p><p><b>  if(flag)</b></p><p><b>  {</b></p><p>  c1=c->next;</p><

147、;p>  c->next=c->next->next;</p><p>  p->left=p->left+c1->num;</p><p><b>  free(c1);</b></p><p>  PR("退票成功\n\n");</p><p>  wai

148、ted(p);</p><p><b>  guide();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }&

149、lt;/b></p><p>  void search()//航班查詢系統(tǒng)</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  int flag=0;</p><p>  airline *p;</

150、p><p>  PR("請輸入查詢航班的方式:\n");</p><p>  PR("航班號---->1\n");</p><p>  PR("飛機號---->2\n");</p><p>  PR("飛行日期-->3\n");</p>

151、<p>  PR("航班終點-->4\n");</p><p>  SC("%d",&i);</p><p>  for(;!flag;)</p><p><b>  switch(i)</b></p><p><b>  {</b>

溫馨提示

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

最新文檔

評論

0/150

提交評論