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

下載本文檔

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

文檔簡介

1、<p><b>  第一章 緒論</b></p><p>  1.1:項目背景描述</p><p>  1、課程設(shè)計性質(zhì)與目的:</p><p>  C語言程序設(shè)計是一門實踐性很強的課程。C程序課程設(shè)計是學(xué)習(xí)C語言</p><p>  程序設(shè)計的非常重要的實踐環(huán)節(jié),通過本課程設(shè)計使學(xué)生進一步鞏固課堂所</

2、p><p>  學(xué),全面熟悉,掌握C語言程序設(shè)計的基本方法和技巧,進一步提高編寫程</p><p>  序、分析程序及上機操作、調(diào)試程序的能力,讓學(xué)生加深理解,提高動手操作能力及分析問題和解決問題的能力。</p><p>  2、課程設(shè)計包含的知識點:</p><p>  1.掌握并熟練利用C語言的基本數(shù)據(jù)類型與各種表達式,程序的流程控制語<

3、;/p><p><b>  句。</b></p><p>  2.掌握數(shù)組的基本概念。掌握一維數(shù)組與二維數(shù)組的使用,掌握字符數(shù)組與</p><p><b>  字符串的關(guān)系。</b></p><p>  3.熟練掌握指針、地址、指針類型的概念及其使用。掌握指針變量的定義與初始化、指針的間接訪問和表達式,

4、掌握指針與數(shù)組、函數(shù)、字符串的聯(lián)系</p><p>  4.掌握函數(shù)的定義,函數(shù)的返回值,函數(shù)的調(diào)用,函數(shù)的聲明,函數(shù)的形式參數(shù)和實際參數(shù)之間的關(guān)系,了解函數(shù)的作用區(qū)間。</p><p>  5.掌握結(jié)構(gòu)體的概念,結(jié)構(gòu)體類型的定義,結(jié)構(gòu)體變量的定義和初始化,結(jié)構(gòu)體成員的表示。結(jié)構(gòu)體與指針、函數(shù)的關(guān)系。</p><p><b>  第二章 可行性分析<

5、/b></p><p><b>  一、問題描述:</b></p><p>  假設(shè)某航空公司只有N架X個座位的飛機,每架飛機每天飛行一趟。通過該系統(tǒng)來實現(xiàn)機票的訂購問題。</p><p><b>  二、功能要求:</b></p><p>  1、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個

6、數(shù)據(jù)的結(jié)構(gòu)應(yīng)當包括:起飛地、目的地 航班號、航班定額。</p><p>  2、本系統(tǒng)顯示這樣的菜單:</p><p>  1.)錄入: 可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中)</p><p>  2.)瀏覽:航班信息瀏覽功能需要提供顯示操作; </p><p>  查詢:可提供按照航班號、起點站、終點站、飛行時間、查詢,可以查詢某

7、個航線的情況(如,輸入航班號,起飛抵達城市,確定航班是否滿倉);另外要提供鍵盤式選擇菜單以實現(xiàn)功能選擇。</p><p><b>  輸入航班信息</b></p><p><b>  輸出航班信息</b></p><p><b>  查找航班信息</b></p><p><

8、;b>  (4)訂票預(yù)約</b></p><p><b>  (5)刪除定票預(yù)約</b></p><p><b>  (6)退出系統(tǒng)</b></p><p>  本系統(tǒng)成功執(zhí)行菜單的每個信息,選項4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。</p><p>  查找航

9、班信息既可按線路查,也可按目的地查。</p><p>  4、在兩次運行之間,數(shù)據(jù)被保存于一個文件里,當本程序重新開</p><p>  始的時候,它首先從該文件讀入數(shù)據(jù)</p><p><b>  三、算法提示:</b></p><p>  1、數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組</p><p>  2、

10、數(shù)據(jù)庫結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫。</p><p><b>  四、測試數(shù)據(jù):</b></p><p>  錄入北京到上海的星期一起飛的航班,假設(shè)其定額為30,上海到南京的航班起飛時間為星期二。</p><p><b>  五、其它:</b></p><p>  在實現(xiàn)系統(tǒng)基本功能后,完善系統(tǒng)

11、的其它功能。在測試數(shù)據(jù)是發(fā)現(xiàn)退票系統(tǒng)出現(xiàn)問題,退票數(shù)會超過定額,在加上一個限定條件后成功。基于本系統(tǒng)可以嘗試輸出所定票的的顧客的完整信息,包括姓名,身份證號等個人信息,由于時間有限,尚未添加。</p><p><b>  第三章 總體設(shè)計</b></p><p>  3.1 課程設(shè)計題目:</p><p><b>  航班訂票系統(tǒng)&l

12、t;/b></p><p>  3.2. 內(nèi)容摘要:</p><p>  假設(shè)某航空公司只有M架N個座位的飛機,每架飛機每天飛行一趟。通過該系統(tǒng)來實現(xiàn)機票的訂購問題。</p><p><b>  3.3. 關(guān)鍵字:</b></p><p>  函數(shù) 數(shù)組 結(jié)構(gòu)體 文件 循環(huán)語句 多分支結(jié)構(gòu)</p&g

13、t;<p>  3.4.總體設(shè)計方案的選定:</p><p><b>  程序的功能要求:</b></p><p>  1、本系統(tǒng)采用一個包含N個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當包括:起飛地、目的地 航班號、座次號碼、座次訂出與否標記、訂座者的姓名和訂座者的身份證號碼。</p><p>  2、本系統(tǒng)顯示這樣的菜單:</

14、p><p><b>  輸入航班信息</b></p><p><b>  輸出航班信息</b></p><p><b>  查找航班信息</b></p><p><b>  a.顯示空座的數(shù)量</b></p><p><b>

15、  b.顯示空座的信息</b></p><p>  c.顯示已訂座的信息</p><p><b>  d.起飛時間</b></p><p><b>  (4)訂票預(yù)約</b></p><p><b>  (5)刪除定票預(yù)約</b></p><p&

16、gt;<b>  (6)退出系統(tǒng)</b></p><p>  本系統(tǒng)成功執(zhí)行菜單的每個信息,選項4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。</p><p>  查找航班信息既可按航班號來實現(xiàn)。</p><p>  4、在兩次運行之間,數(shù)據(jù)被保存于一個文件里,當本程序重新開始的時候,它首先從該文件讀入數(shù)據(jù)</p>&

17、lt;p><b>  第四章 詳細設(shè)計</b></p><p>  4.1采用自定向下,逐步細化的思想,將該系統(tǒng)分解成各個相對獨立且可以運行的模塊。</p><p>  在文件的開始定義出本系統(tǒng)中將會用到的所有的變量以及對各個模塊的調(diào)用,將作為頭文件使各個組員能夠使用。如下所示:</p><p><b>  hangban.h&

18、lt;/b></p><p>  #include<stdio.h>//標準輸入、輸出頭文件</p><p>  #include<string.h>//包含字符串函數(shù)處理頭文件</p><p>  #define N 9999//定義最多的航班數(shù)</p><p>  #define PRINT &

19、quot;%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].qidian,s[i].zhongdian,s[i].time,s[i].count //宏定義輸出格式</p><p>  struct air //定義結(jié)構(gòu)體數(shù)組</p><p><b>  {</b></p>&l

20、t;p>  int num;//定義航班號</p><p>  char qidian[20];//航班起始站</p><p>  char zhongdian[20];//終點站</p><p>  char time[10];//飛行時間</p><p>  int count;//機票數(shù)量</

21、p><p><b>  }s[N];</b></p><p>  int i,m=0;//定義全局變量</p><p>  char hangbanhao[10];</p><p>  void add();//函數(shù)聲明增加航班信息函數(shù)</p><p>  void print();

22、//顯示航班信息</p><p>  void search();//查找航班信息</p><p>  void dingpiao();//訂票業(yè)務(wù)</p><p>  void tuipiao();//退票</p><p>  void read();//讀取文件</p><p>  void sa

23、ve();//保存文件</p><p>  void output();//輸出格式</p><p>  void paixu();//航班排序</p><p>  void build();//建立數(shù)據(jù)文件</p><p>  void paixu1();//按航班號從小到大排序</p><p>

24、  void paixu2();//從大到小</p><p><b>  4.2系統(tǒng)總體結(jié)構(gòu)</b></p><p>  4.3航班信息錄入流程圖</p><p>  4.4訂票系統(tǒng)流程圖</p><p>  在有航班信息的情況下可以進行訂票操作。</p><p><b>  是&l

25、t;/b></p><p><b>  否</b></p><p><b>  否</b></p><p><b>  4.5查詢結(jié)構(gòu)代碼</b></p><p>  void search()//定義查詢函數(shù)</p><p><b>

26、;  {</b></p><p><b>  int n;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n請輸入航班號: ");</p><

27、p>  scanf("%d",&n);//輸入查詢的航班號</p><p>  for(i=0;i<m;i++)</p><p><b>  { </b></p><p>  if(s[i].num==n)//按航班號判定輸出條件</p><p><b>  {

28、</b></p><p>  printf("\n您所查找的航班信息為:\n ");</p><p>  printf("航班號\t\t起始站\t\t終點站\t\t時間\t\t機票數(shù) \n\n");</p><p>  printf(PRINT);//顯示信息 </p><p>  pr

29、intf("\n查詢完畢,按回車鍵繼續(xù)");</p><p>  getchar();</p><p>  getchar();</p><p><b>  return; </b></p><p><b>  }</b></p><p><b>

30、;  }</b></p><p>  printf("\n對不起,沒有您需要的信息!\n ");</p><p>  printf("是否重新查找?請鍵入y或n以回車鍵結(jié)束 ");</p><p>  scanf("%s",hangbanhao);</p><p>  }

31、while(!strcmp(hangbanhao,"y"));//判定是否重新查找</p><p><b>  }</b></p><p><b>  4.6訂票業(yè)務(wù)代碼</b></p><p>  void dingpiao()//定義訂票業(yè)務(wù)函數(shù)</p><p><

32、b>  {</b></p><p><b>  int n;</b></p><p>  char a[10]="y";</p><p><b>  do</b></p><p><b>  {</b></p><p&g

33、t;  search();//調(diào)用查詢模塊</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("請輸入您要訂的機票數(shù)(以回車鍵結(jié)束): ");</p><p>  scanf("%d",&am

34、p;n);//輸入所訂機票數(shù)</p><p>  if(n<=0)//判定機票數(shù)是否出錯</p><p><b>  {</b></p><p>  printf("輸入錯誤!至少需訂1張機票。\n");</p><p><b>  }</b></p>

35、<p>  else if(s[i].count==0)//判定機票是否售完</p><p><b>  {</b></p><p>  printf("對不起,你所選擇的航班的機票已售完!\n");</p><p><b>  break;</b></p><p>

36、;<b>  }</b></p><p>  else if(s[i].count!=0&&s[i].count>=n)//判定機票數(shù)是否大于等于訂票數(shù)</p><p><b>  {</b></p><p>  s[i].count=s[i].count-n;</p><p&g

37、t;  printf("訂票成功! ");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  else if(s[i].count<n)//判定機票數(shù)是否小于訂票數(shù)</p><p><b>  { <

38、;/b></p><p>  printf("對不起,你所選擇的航班只剩 %d張機票\n", s[i].count);</p><p>  printf("是否需要重新輸入機票數(shù)?請輸入y或n以回車鍵結(jié)束: ");//判定是否重新輸入訂票數(shù)</p><p>  scanf("%s",a);</p

39、><p><b>  }</b></p><p>  }while(!strcmp(a,"y"));</p><p>  printf("是否需要訂其他航班的機票?請輸入y或n以回車鍵結(jié)束: ");</p><p>  scanf("%s",a);</p>

40、;<p>  }while(!strcmp(a,"y"));//判定是否繼續(xù)訂票</p><p><b>  }</b></p><p><b>  4.7退票業(yè)務(wù)代碼</b></p><p>  void tuipiao()//定義退票函數(shù)</p><p>

41、;<b>  {</b></p><p><b>  int n;</b></p><p>  char a[10];</p><p><b>  do</b></p><p><b>  {</b></p><p>  searc

42、h();//調(diào)用查詢函數(shù)</p><p>  printf("請輸入您要退的機票數(shù)目: ");</p><p>  scanf("%d",&n);//輸入所退票數(shù)</p><p>  if(n<=0)//判定票數(shù)是否有效</p><p>  printf("輸入錯誤!

43、至少需退1張機票。 ");</p><p><b>  else </b></p><p><b>  {</b></p><p>  s[i].count=s[i].count+n;</p><p>  printf("退票成功! ");</p><

44、;p><b>  }</b></p><p>  printf("是否繼續(xù)? 請鍵入y或n以回車鍵結(jié)束: ");//判定是否繼續(xù)退票</p><p>  scanf("%s",a);</p><p>  }while(!strcmp(a,"y"));//判定并跳出循環(huán)

45、 </p><p><b>  }</b></p><p><b>  第五章 總結(jié)</b></p><p>  一周的C語言課程設(shè)計即將結(jié)束,通過此次課程設(shè)計也學(xué)會綜合運用理論知識來分析和解決實際問題的能力、養(yǎng)成嚴謹?shù)目茖W(xué)態(tài)度和良好的程序設(shè)計習(xí)慣實現(xiàn)由知識向智能的初步轉(zhuǎn)化學(xué)會循軟件開發(fā)過程的基本規(guī)范運用結(jié)構(gòu)化程序設(shè)計的方

46、法按照課程設(shè)計的題目要求并能夠完成設(shè)計、編寫、調(diào)試和測試應(yīng)用程序及編寫文檔的任務(wù) 程序整體上運行與題目要求很吻合算法大多比較通用各個函數(shù)模塊的正確性、完備性、對輸入的容錯能力以及算法的進一步改進在設(shè)計中都有表述這道題使我熟悉了文件的輸入輸出操作真切的感受到了fprintf和fwrite函數(shù)的區(qū)別。</p><p>  回顧起此次課程設(shè)計至今我仍感慨頗多從理論到實踐在整整半個月的日子里我學(xué)到很多很多的東西不僅鞏固了

47、以前所學(xué)過的知識而且學(xué)到了很多在書本上所沒有學(xué)到過的內(nèi)容。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的只有理論知識是遠遠不夠的只有把所學(xué)的理論知識與實踐相結(jié)合起來從理論中得出結(jié)論才是真正的知識才能提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程遇到了各種各樣的問題同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處對以前所學(xué)過的知識理解得不夠深刻掌握得不夠牢固通過這次課程設(shè)計把以前所學(xué)過的知識重新溫故鞏固了所學(xué)的知識。</p>

48、<p>  在編寫程序的過程中受到了其他同學(xué)的指點也許在某些程序方面會和有的同學(xué)想類似但是老師在我編程序過程中也起到了很大的作用我們在C語言這門課上還會繼續(xù)走下去以后還會經(jīng)常碰到我會努力。</p><p><b>  附1: 源代碼</b></p><p>  #include<stdio.h>//標準輸入、輸出頭文件</p>

49、<p>  #include<string.h>//包含字符串函數(shù)處理頭文件</p><p>  #define N 9999//定義最多的航班數(shù)</p><p>  #define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].qidian,s[i].zhongdian,

50、s[i].time,s[i].count //宏定義輸出格式</p><p>  struct air //定義結(jié)構(gòu)體數(shù)組</p><p><b>  {</b></p><p>  int num;//定義航班號</p><p>  char qidian[20];//航班起始站<

51、;/p><p>  char zhongdian[20];//終點站</p><p>  char time[10];//飛行時間</p><p>  int count;//機票數(shù)量</p><p><b>  }s[N];</b></p><p>  int i,m=0;

52、//定義全局變量</p><p>  char hangbanhao[10];</p><p>  void add();//函數(shù)聲明增加航班信息函數(shù)</p><p>  void print(); //顯示航班信息</p><p>  void search();//查找航班信息</p><p>  v

53、oid dingpiao();//訂票業(yè)務(wù)</p><p>  void tuipiao();//退票</p><p>  void read();//讀取文件</p><p>  void save();//保存文件</p><p>  void output();//輸出格式</p><p>

54、  void paixu();//航班排序</p><p>  void build();//建立數(shù)據(jù)文件</p><p>  void paixu1();//按航班號從小到大排序</p><p>  void paixu2();//從大到小</p><p>  void main()//主函數(shù)</p>&l

55、t;p><b>  {</b></p><p><b>  int j;</b></p><p><b>  read(); </b></p><p>  printf("\n\t\t歡迎使用航班訂票系統(tǒng)!\n");</p><p>  printf

56、("******************************************\n");</p><p>  printf(" 1.增加航班信息\n");</p><p>  printf(" 2.瀏覽航班信息\n");</p><p>  printf("

57、 3.查找航班信息\n");</p><p>  printf(" 4.航班排序(按航班號)\n");</p><p>  printf(" 5.辦理訂票業(yè)務(wù)\n");</p><p>  printf(" 6.辦理退票業(yè)務(wù)\n");</p>

58、<p>  printf(" 0.退出系統(tǒng)(exit)\n");</p><p>  printf("*******************************************\n"); </p><p>  printf("請在0-6中選擇以回車鍵結(jié)束: ");</p><

59、p>  scanf("%d",&j);</p><p><b>  switch(j)</b></p><p><b>  {</b></p><p>  case 1: add();//調(diào)用增加航班函數(shù)</p><p><b>  break;<

60、;/b></p><p>  case 2:print();//調(diào)用顯示模塊</p><p><b>  break;</b></p><p>  case 3:search();//調(diào)用查找模塊</p><p><b>  break;</b></p><p>

61、  case 4:paixu();//調(diào)用排序函數(shù)</p><p><b>  break;</b></p><p>  case 5:dingpiao();//調(diào)用訂票模塊</p><p><b>  break;</b></p><p>  case 6:tuipiao();//調(diào)用退票

62、模塊</p><p><b>  break; </b></p><p>  case 0:save(); //退出系統(tǒng)</p><p>  printf("謝謝使用,再見! ");</p><p><b>  break;</b></p><

63、p><b>  }</b></p><p><b>  }</b></p><p>  void read()//定義讀取文件函數(shù)</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p>

64、;<p>  if((fp=fopen("hangban.dat","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("創(chuàng)建文件失敗! ");</p><p>  getchar();</p><p&

65、gt;<b>  return;</b></p><p><b>  }</b></p><p><b>  i=0;</b></p><p>  while(!feof(fp))</p><p><b>  {</b></p><p&

66、gt;  fread(&s[i],sizeof(struct air),1,fp);//逐塊讀取數(shù)據(jù)</p><p><b>  i++;</b></p><p>  m++;//計算存在航班數(shù)</p><p><b>  }</b></p><p><b>  m--;&

67、lt;/b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>  void save()//定義保存函數(shù)</p><p><b>  {</b></p><p><b>  FILE *fp;</b

68、></p><p>  if((fp=fopen("hangban.dat","wb"))==NULL) </p><p><b>  {</b></p><p>  printf("創(chuàng)建文件失敗! ");</p><p>  getchar();<

69、;/p><p><b>  return;</b></p><p><b>  }</b></p><p>  for(i=0;i<m;i++)//逐塊保存數(shù)據(jù)</p><p>  fwrite(&s[i],sizeof(struct air),1,fp);</p>&

70、lt;p>  fclose(fp);</p><p><b>  }</b></p><p>  void add()//定義增加航班信息函數(shù)</p><p><b>  {</b></p><p><b>  do{</b></p><p>

71、  printf("請依次輸入您要增加的航班信息(以回車鍵結(jié)束): \n"); //打印提示信息</p><p>  printf("-------------------------------------------------------------------------- \n");</p><p>  printf("

72、;請輸入航班號: "); </p><p>  scanf("%d",&s[m].num);//讀取航班號</p><p>  printf("請輸入起始站: ");</p><p>  scanf("%s",s[m].qidian);//讀取起始站</p><

73、;p>  printf("請輸入終點站: ");</p><p>  scanf("%s",s[m].zhongdian);//讀取終點站</p><p>  printf("請輸入時間: ");</p><p>  scanf("%s",s[m].time);//讀取時間

74、</p><p>  printf("請輸入機票數(shù): ");</p><p>  scanf("%d",&s[m].count);//讀取機票數(shù)</p><p><b>  m++;</b></p><p>  printf("添加完畢,是否繼續(xù)添加?請鍵入y

75、或n以回車鍵結(jié)束:");</p><p>  scanf("%s",hangbanhao);</p><p>  }while(!strcmp(hangbanhao,"y"));//判斷是否繼續(xù)添加</p><p><b>  }</b></p><p>  void

76、 output()//定義輸出格式函數(shù)</p><p><b>  {</b></p><p>  printf("航班號\t\t起始站\t\t終點站\t\t時間\t\t機票數(shù)\n");//信息標題</p><p>  for(i=0;i<m;i++)</p><p>  printf(

77、PRINT);//打印出信息</p><p><b>  }</b></p><p>  void print()//定義顯示航班信息函數(shù)</p><p><b>  {</b></p><p>  printf("\n目前我們有如下航班:\n");</p>

78、<p>  output();//調(diào)用輸出格式函數(shù)</p><p>  printf("\n請按回車鍵返回上層菜單 ");</p><p>  getchar();</p><p>  getchar();</p><p><b>  }</b></p><p>

79、;  void search()//定義查詢函數(shù)</p><p><b>  {</b></p><p><b>  int n;</b></p><p><b>  do</b></p><p><b>  {</b></p><

80、;p>  printf("\n請輸入航班號: ");</p><p>  scanf("%d",&n);//輸入查詢的航班號</p><p>  for(i=0;i<m;i++)</p><p><b>  { </b></p><p>  if(s[i].

81、num==n)//按航班號判定輸出條件</p><p><b>  { </b></p><p>  printf("\n您所查找的航班信息為:\n ");</p><p>  printf("航班號\t\t起始站\t\t終點站\t\t時間\t\t機票數(shù) \n\n");</p><

82、p>  printf(PRINT);//顯示信息 </p><p>  printf("\n查詢完畢,按回車鍵繼續(xù)");</p><p>  getchar();</p><p>  getchar();</p><p><b>  return;</b></p><p&

83、gt;<b>  }</b></p><p><b>  }</b></p><p>  printf("\n對不起,沒有您需要的信息!\n ");</p><p>  printf("是否重新查找?請鍵入y或n以回車鍵結(jié)束 ");</p><p>  sca

84、nf("%s",hangbanhao);</p><p>  }while(!strcmp(hangbanhao,"y"));//判定是否重新查找</p><p><b>  } </b></p><p>  void dingpiao()//定義訂票業(yè)務(wù)函數(shù)</p><p>

85、<b>  {</b></p><p><b>  int n;</b></p><p>  char a[10]="y";</p><p><b>  do</b></p><p><b>  {</b></p><

86、;p>  printf("請輸入您要訂的機票數(shù)(以回車鍵結(jié)束): ");</p><p>  scanf("%d",&n);//輸入所訂機票數(shù)</p><p>  if(n<=0)//判定機票數(shù)是否出錯</p><p><b>  {</b></p><p

87、>  printf("輸入錯誤!至少需訂1張機票。\n");</p><p><b>  }</b></p><p>  else if(s[i].count==0)//判定機票是否售完</p><p><b>  {</b></p><p>  printf("

88、對不起,你所選擇的航班的機票已售完!\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  else if(s[i].count!=0&&s[i].count>=n)//判定機票數(shù)是否大于等于訂票數(shù)</p>&

89、lt;p><b>  {</b></p><p>  s[i].count=s[i].count-n;</p><p>  printf("訂票成功! ");</p><p><b>  break;</b></p><p><b>  }</b>&l

90、t;/p><p>  else if(s[i].count<n)//判定機票數(shù)是否小于訂票數(shù)</p><p><b>  { </b></p><p>  printf("對不起,你所選擇的航班只剩 %d張機票\n", s[i].count);</p><p>  printf("是否需要

91、重新輸入機票數(shù)?請輸入y或n以回車鍵結(jié)束: ");//判定是否重新輸入訂票數(shù)</p><p>  scanf("%s",a);</p><p><b>  }</b></p><p>  printf("是否需要訂其他航班的機票?請輸入y或n以回車鍵結(jié)束: ");</p><

92、p>  scanf("%s",a);</p><p>  }while(!strcmp(a,"y"));//判定是否繼續(xù)訂票</p><p><b>  }</b></p><p>  void tuipiao()//定義退票函數(shù)</p><p><b>  

93、{</b></p><p><b>  int n;</b></p><p>  char a[10];</p><p><b>  do</b></p><p><b>  {</b></p><p>  search();//調(diào)用查詢

94、函數(shù)</p><p>  printf("請輸入您要退的機票數(shù)目: ");</p><p>  scanf("%d",&n);//輸入所退票數(shù)</p><p>  if(n<=0)//判定票數(shù)是否有效</p><p>  printf("輸入錯誤!至少需退1張機票。 &q

95、uot;);</p><p><b>  else </b></p><p><b>  {</b></p><p>  s[i].count=s[i].count+n;</p><p>  printf("退票成功! ");</p><p><b&

96、gt;  }</b></p><p>  printf("是否繼續(xù)? 請鍵入y或n以回車鍵結(jié)束: ");//判定是否繼續(xù)退票</p><p>  scanf("%s",a);</p><p>  }while(!strcmp(a,"y"));//判定并跳出循環(huán) </p>

97、<p><b>  }</b></p><p>  void paixu()//定義排序函數(shù)</p><p><b>  {</b></p><p><b>  int n;</b></p><p>  printf("\n**************

98、****************************************************************** "); </p><p>  printf("1.按航班號從小到大排序\n"</p><p>  "\t2.按航班號從大到小排序\n");</p><p>  printf(&

99、quot;******************************************************************************** "); </p><p>  printf("請在1-2中選擇以回車鍵結(jié)束: ");</p><p>  scanf("%d",&n);//輸入排序方式&l

100、t;/p><p><b>  switch(n)</b></p><p><b>  {</b></p><p>  case 1:paixu1();//調(diào)用從小到大排序函數(shù)</p><p><b>  break;</b></p><p>  case 2

101、:paixu2();//調(diào)用從大到小排序函數(shù)</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("排序后的航班信息為:\n");</p><p>  output();//顯示排序后航班信息</

102、p><p>  printf("\n請按回車鍵返回上層菜單 ");</p><p>  getchar();</p><p>  getchar();</p><p><b>  }</b></p><p>  void paixu1()//定義從小到大排序函數(shù)</p&g

103、t;<p><b>  {</b></p><p><b>  int k,j;</b></p><p>  struct air t;</p><p>  for(i=0;i<m;i++)//選擇法排序</p><p><b>  {</b></p

104、><p><b>  k=i;</b></p><p>  for(j=i+1;j<m;j++)</p><p>  if(s[k].num>s[j].num)</p><p><b>  k=j;</b></p><p><b>  if(i!=k)<

105、;/b></p><p><b>  {</b></p><p><b>  t=s[k];</b></p><p>  s[k]=s[i];</p><p><b>  s[i]=t;</b></p><p><b>  }</b

106、></p><p><b>  }</b></p><p><b>  }</b></p><p>  void paixu2()//定義從大到小排序函數(shù)</p><p><b>  {</b></p><p><b>  int k

107、,j;</b></p><p>  struct air t;</p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p><b>  k=i;</b></p><p>  for(j=i+1;j<m;

108、j++)</p><p>  if(s[k].num<s[j].num)</p><p><b>  k=j;</b></p><p><b>  if(i!=k)</b></p><p><b>  {</b></p><p><b>

109、  t=s[k];</b></p><p>  s[k]=s[i];</p><p><b>  s[i]=t;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><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

提交評論