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

下載本文檔

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

文檔簡介

1、<p><b>  軟件課程設(shè)計報告</b></p><p><b>  目錄</b></p><p>  1、軟件設(shè)計………………………………………………………………1</p><p>  1.1、軟件的概要設(shè)計……………………………………………………1</p><p>  1.1.1、

2、總體………………………………………………………………1</p><p>  1.1.2、子函數(shù)……………………………………………………………2</p><p>  1.1.3、各子函數(shù)功能……………………………………………………3</p><p>  1.2、軟件的設(shè)計思想…………………………………………………6</p><p>  1.2.

3、1、航班信息的數(shù)組…………………………………………………6</p><p>  1.2.2、顧客飛機(jī)票信息的數(shù)組…………………………………………7</p><p>  1.3、主函數(shù)及各子函數(shù)流程圖………………………………………8</p><p>  2、軟件測試……………………………………………………………14</p><p>  2.1、

4、主菜單……………………………………………………………14</p><p>  2.2、初始化航班………………………………………………………14</p><p>  2.3、航班訂票…………………………………………………………17</p><p>  2.4、航班退票…………………………………………………………19</p><p>  2.5、

5、航班查詢…………………………………………………………20</p><p>  2.6、查詢余票…………………………………………………………22</p><p>  2.7、結(jié)束………………………………………………………………23</p><p>  3、算法改進(jìn)……………………………………………………………24</p><p>  4、開發(fā)體

6、會……………………………………………………………26</p><p>  附:源代碼清單…………………………………………………………28</p><p>  參考文獻(xiàn) ………………………………………………………………56</p><p><b>  軟件設(shè)計</b></p><p>  1.1、軟件的概要設(shè)計</p

7、><p><b>  1.1.1、總體</b></p><p>  這個軟件總體上分為六個部分,即:初始化航班、查詢航班信息、航班訂票、航班退票、查詢機(jī)票、查詢余票六個部分。其總體的結(jié)構(gòu)圖如下:</p><p><b>  1.1.2、子函數(shù)</b></p><p>  為清楚地完成這樣一個飛機(jī)票銷

8、售系統(tǒng),采用了以下12個子函數(shù):</p><p>  void menu(); </p><p>  void add(); </p><p>  void output(); </p><p>  void output1(); </p><p>  int savef();<

9、;/p><p>  int savef1(); </p><p>  int readf(); </p><p>  void inquire(); </p><p>  void inquire1(); </p><p>  void book(); </p><p

10、>  void refund(); </p><p>  void searchnum(); </p><p>  1.1.3、各子函數(shù)功能</p><p>  下面將分別地來介紹12個子函數(shù)的功能。</p><p>  void menu(),顯示主菜單的函數(shù)</p><p>  這個函數(shù)的主要功能是顯

11、示一個歡迎字幕,并為顧客提供這個飛機(jī)票銷售系統(tǒng)的所有功能和任務(wù)。即初始化航班、查詢航班信息、航班訂票、航班退票、查詢機(jī)票、查詢余票等服務(wù),顧客在輸入相應(yīng)的數(shù)字之后按確認(rèn)鍵即可進(jìn)行相應(yīng)的操作.</p><p>  2、void add(),航班初始化函數(shù)</p><p>  這個函數(shù)的主要功能是初始化航班信息(即添加航班信息),添加的信息包括航班號、起始站、終點站、起飛時間、航班容載

12、量、機(jī)票折扣以及機(jī)票價格等。這樣可以在缺少某項航班信息的情況下及時添加。初始化后文件以air.txt形式格式保存下來,以方便后續(xù)的試用。因此在第一次試用的時候要初始化,否則系統(tǒng)將沒有任何的機(jī)票信息。</p><p>  3、void output(),航班輸出函數(shù)</p><p>  本函數(shù)的作用是輸出航班信息。在輸入了初始化航班信息之后,此函數(shù)可以在文件中找到air.txt,并輸出

13、來。</p><p>  4、void output1(),機(jī)票信息輸出函數(shù)</p><p>  本函數(shù)的作用是輸出顧客機(jī)票信息。作用與上述類似,在成功訂票之后,此函數(shù)可以在文件中找到people.txt,并輸出來。</p><p>  5、int savef(),航班信息保存函數(shù)</p><p>  本函數(shù)的作用是保存輸入的航班信息,以a

14、ir.txt形式格式保存,可以在文件中查找到,并在后面要調(diào)用的時候及時調(diào)出來進(jìn)行查詢。</p><p>  6、int savef1(),機(jī)票信息保存函數(shù)</p><p>  本函數(shù)的作用是保存輸入的顧客機(jī)票信息,以people.txt形式格式保存,可以在文件中查找到,并在后面要調(diào)用的時候及時調(diào)出來進(jìn)行查詢。</p><p>  7、int readf(),

15、航班信息讀取函數(shù)</p><p>  本函數(shù)的作用是讀取航班信息,在后續(xù)訂票操作中,需要用到初始化的航班信息,因此需要一個從內(nèi)部文件中讀取航班信息的操作。</p><p>  8、void inquire(),航班信息查詢函數(shù)</p><p>  本函數(shù)的作用是查詢航班信息,為了方便銷售員或者顧客的查詢,因此需要將內(nèi)部文件中的航班信息表達(dá)出來,因此這個函數(shù)的作用是表

16、達(dá)出航班信息。</p><p>  9、void inquire1(),機(jī)票信息查詢函數(shù)</p><p>  本函數(shù)的作用是查詢顧客機(jī)票信息。在顧客定好票之后,需要驗證自己的票是否是正確的,或者查詢一下飛機(jī)票的信息,此時需要一個飛機(jī)票的查詢操作,此函數(shù)的作用即在此。</p><p>  10、void book(),機(jī)票預(yù)定函數(shù)</p><p

17、>  本函數(shù)的作用是執(zhí)行訂票操作,訂票操作中需要顧客將自己的信息完整地寫入到系統(tǒng)中,考慮到只要身份證號碼正確就可以顯示顧客的大部分信息,因此沒有將更多繁瑣的信息要求加上去了。</p><p>  11、void refund(),退票函數(shù)</p><p>  本函數(shù)的作用是執(zhí)行退票操作,由于是退票,考慮到實際情況,因此需要輸入多個信息以確認(rèn)機(jī)票與主人是對應(yīng)的。</p>

18、<p>  12、void searchnum(),查詢余票函數(shù)</p><p>  本函數(shù)的作用是查詢剩余票數(shù),在設(shè)計中使用了僅輸入航班號即可查詢航班信息的做法,方便操作。</p><p>  1.2軟件的設(shè)計思想</p><p>  這次的飛機(jī)票銷售系統(tǒng)由于數(shù)據(jù)量較大,且需要以不同的數(shù)據(jù)類型來分類,因此采用了兩個類似的結(jié)構(gòu)變量來實現(xiàn)上述的設(shè)計。詳細(xì)如下

19、:</p><p>  1.2.1、航班信息的數(shù)組</p><p><b>  struct </b></p><p><b>  {</b></p><p>  int air_num; //航班號</p><p>  char Start[15]; //出發(fā)地&

20、lt;/p><p>  char End[15]; //終點站</p><p>  char Time[25]; //起飛時間</p><p>  int total ; //總票數(shù)</p><p>  float H; //折扣</p><p>  int left ; /

21、/剩余票數(shù)</p><p>  int Price; //票價</p><p>  }air; </p><p>  1.2.2、顧客飛機(jī)票信息的數(shù)組</p><p><b>  struct </b></p><p><b>  {</b

22、></p><p>  int air_num; //航班號</p><p>  char Start[15]; //出發(fā)地</p><p>  char End[15]; //終點站</p><p>  int Price; //票價</p><p>  float H;

23、 //折扣</p><p>  char name[8]; //姓名</p><p>  char ID[20]; //身份證號</p><p>  int left ; //剩余票數(shù)</p><p>  int k ; //購買票數(shù)</p><p><b> 

24、 }people;</b></p><p>  1.3、主函數(shù)及各子函數(shù)流程圖</p><p>  主函數(shù)main( )</p><p><b>  2、軟件測試</b></p><p>  以下是這套軟件系統(tǒng)的詳細(xì)測試結(jié)果,并以截圖的形式展現(xiàn)出來,當(dāng)然只是展示了一部分有代表性的圖。下面是詳細(xì)介紹:</

25、p><p><b>  2.1、主菜單</b></p><p>  運行程序,將出現(xiàn)這樣一個歡迎的界面并提供以下7個選項</p><p><b>  2.2、初始化航班</b></p><p>  如果是第一次使用,則必須先初始化航班信息,否則系統(tǒng)內(nèi)的數(shù)據(jù)將是空的,不能使用。選擇“1”,則出現(xiàn)以下的界面

26、,根據(jù)提示依次輸入航班號、起始站、終點站、起飛時間、容載量、折扣和價格。</p><p>  若不保存,則會出現(xiàn)警告。</p><p>  若要正常寫入信息,則保存,下面將有一個信息預(yù)覽,按任意鍵繼續(xù)輸入。</p><p>  依次輸入十個航班信息</p><p>  輸入完成以后,將會有一個總體的預(yù)覽</p><p>

27、;<b>  2.3、航班訂票</b></p><p>  初始化完畢后,此時,我們便可以在這個系統(tǒng)里訂票了,按要求依次輸入</p><p>  訂票成功則顯示這樣的界面</p><p>  由于票數(shù)有限,因此當(dāng)輸入的購買票數(shù)超過總票數(shù)時,系統(tǒng)將無法完成售票操作</p><p>  然后依次買票,我在自己操作的時候,買了

28、50次票。操作結(jié)束后,會出現(xiàn)以下清單以提示我買的所有機(jī)票信息。</p><p><b>  2.4、航班退票</b></p><p>  可以在航班退票中進(jìn)行退票操作</p><p>  按要求依次輸入顧客信息,如下 </p><p>  若信息正確則退票成功,若不正確則顯示一下內(nèi)容,表示輸入有誤。</p>

29、<p><b>  2.5、航班查詢</b></p><p>  若需要查詢航班信息,則選擇查詢航班信息,出現(xiàn)以下界面。選擇以何種方式查詢</p><p><b>  如選擇以航班號查詢</b></p><p>  選擇以起始站查詢,則為:</p><p><b>  依此類推

30、</b></p><p><b>  2.6、查詢余票</b></p><p>  選擇查詢余票,輸入航班號,即可進(jìn)行余票查詢,如下:</p><p><b>  2.7、結(jié)束</b></p><p>  當(dāng)完成所有的操作后,將會出現(xiàn)一個如下界面,表示顧客已經(jīng)退出了此系統(tǒng)。此時按任意鍵可

31、以回到歡迎界面。</p><p><b>  3、算法改進(jìn)</b></p><p>  這次的軟件課程設(shè)計采用的是數(shù)組的方式,這樣調(diào)試起來比較簡單,沒有太多的難度。</p><p>  這個飛機(jī)票銷售系統(tǒng)的主要亮點在于,拋棄了原本復(fù)雜的函數(shù)定義,使用了簡潔的方式,使得程序更具有可讀性。在界面的友好性方面也做了處理,使得界面更加具有觀賞性,符合了

32、飛機(jī)票銷售系統(tǒng)的要求。如:</p><p>  printf("\n\t\t\t請輸入航班號: ");</p><p>  fflush(stdin);</p><p>  scanf("%d", &a_data.air_num);</p><p>  printf("\t\t\t請輸

33、入起始站: ");</p><p>  fflush(stdin);</p><p>  scanf("%s", a_data.Start);</p><p>  printf("\t\t\t請輸入終點站: ");</p><p>  fflush(stdin);</p><

34、;p>  scanf("%s", a_data.End);</p><p>  printf("\t\t\t請起飛輸入時間(如:2010.01.01.01.00): ");</p><p>  fflush(stdin);</p><p>  scanf("%s", a_data.Time);<

35、/p><p>  printf("\t\t\t請輸入航班容載量: ");</p><p>  fflush(stdin);</p><p>  scanf("%d", &a_data.total);</p><p>  a_data.left = 0;</p><p>  p

36、rintf("\t\t\t請輸入機(jī)票折扣");</p><p>  fflush(stdin);</p><p>  scanf("%f", &a_data.H);</p><p>  printf("\t\t\t請輸入機(jī)票價格: ");</p><p>  fflush(s

37、tdin);</p><p>  scanf("%d", &a_data.Price);</p><p>  這樣一段使用了fflush(stdin),為了確保不影響后面的數(shù)據(jù)讀取,在讀完一個字符串后緊接著又要讀取一個字符,此時應(yīng)該先執(zhí)行fflush(stdin)。盡管不是非常大的改動或者想法,但是為程序的可讀性和可操作性提供了很大的支持。</p>

38、<p>  像這樣的情況程序里還有一些,在這里就不贅述。</p><p>  這個程序還有很多可以改進(jìn)的地方,但是由于時間有限,就沒有在算法改進(jìn)上花太多的時間。在以后的學(xué)習(xí)中還要仔細(xì)思考,進(jìn)行改進(jìn)。</p><p><b>  4、開發(fā)體會</b></p><p>  現(xiàn)在終于到寫開發(fā)體會的時候了,心里的一根弦終于可以松一下了。&l

39、t;/p><p>  在剛接到這樣的一個任務(wù)的時候,我真是驚呆了,我們這樣的水平能夠完成這樣的作業(yè)嗎?因為當(dāng)時想,對于一個只是對C語言有所了解的大二學(xué)生來說要做出一個飛機(jī)票銷售系統(tǒng),那絕對是非常難的,當(dāng)時甚至覺得這是不可能的。但是這個障礙終究還是要跨過去,這是沒有辦法的,因為我知道三個星期后我一定要交上這樣的一份完整(盡管不完美)的飛機(jī)票銷售系統(tǒng),因此,在想到了這些后,便開始了我自認(rèn)為不可能完成的任務(wù)。</p&

40、gt;<p>  后面發(fā)現(xiàn),原來也沒有我想象得那么難。由于我們有連續(xù)三個星期的不間斷的上機(jī)時間,又有這么的老師和助教陪著我,在我有問題的時候及時幫我分析,幫我們解決。這使得我在前進(jìn)的路上多了很多的幫助,使我最終能夠走到這一步。因此在這里要感謝曾經(jīng)給我?guī)椭睦蠋熀椭虃儯€有在我編程路上的幫助我的同學(xué)們,謝謝你們。</p><p>  當(dāng)然,在編寫的過程中,和想象中的一樣,出現(xiàn)了許多的問題,甚至更難。

41、其中也是犯了很多的錯誤,有些是莫名其妙的,有些是很小的低級錯誤,有些是根本性的想法錯誤,但是這些錯誤都使得我不得不一次一次地檢查、糾正。通過這無數(shù)次的檢查糾正再犯錯再檢查的過程,我明白了,在編程的路上,錯誤不分大小,我要時刻注意不能犯錯誤。即使犯錯了,也不能放棄,因為可能就是在一個“;”之后,成功就在眼前了。</p><p>  這個系統(tǒng)終于出來了,這幾個星期特別是后期階段,真是可以用一句話來表達(dá):“為伊消得人憔

42、悴”。心里的興奮真是無法表達(dá)。但是在興奮之余,我還明白,這樣的系統(tǒng)肯定是不能拿出去使用的,因為這個程序還有很多的不科學(xué)、很多的不合理、很多的問題。而我們在以后的學(xué)習(xí)甚至是工作中是一定要用到這樣的一種軟件開發(fā)的技術(shù),那時我們的成果就一定要更加科學(xué),更加具有實用性。因此,我現(xiàn)在就要繼續(xù)前行,不能滿足于一個只能拿來看的系統(tǒng)上。</p><p>  一句歌詞:前面的路還很長,帶著你的夢想,朝著成功的方向,鼓起勇氣向前闖!

43、</p><p>  改編歌詞:軟件的路還很長,帶著我的VC, 朝著成功的系統(tǒng),鼓起勇氣向前闖!</p><p><b>  附:源代碼清單</b></p><p>  #include <stdio.h></p><p>  #include <string.h></p><

44、p>  #include <stdlib.h></p><p>  #include <time.h></p><p>  #define LEN 180</p><p>  #define N 100</p><p>  #define PRINT printf("%-3d %-8s %-8s

45、 %-s\t%-d\t%-d \t%-3.1f\t%4d\n",data[i].air_num,data[i].Start,data[i].End,data[i].Time,data[i].total,data[i].left,data[i].H,data[i].Price)</p><p>  #define PUT puts ("航班號 起飛站 終點站 起飛時間

46、 總?cè)萘?售票數(shù) 折扣 票價/張")</p><p>  #define PRINT1 printf("%-3d %-8s %-8s %-6s\t%s\t %-3d\t%-3.1f\t%4d\n",l[j].air_num,l[j].Start,l[j].End,l[j].name,l[j].ID,l[j].k,l[j].H,l[j].Price)&

47、lt;/p><p>  #define PUT1 puts ("航班號 起飛站 終點站 姓名 18位身份證號 定票數(shù) 折扣 票價/張")</p><p>  void menu(); //主程序</p><p>  void add(); //初始化航班</p><p>  int sav

48、ef1();//客戶信息文件保存</p><p>  void output(); //文件輸出</p><p>  void output1(); //文件輸出</p><p>  int savef(); //機(jī)票信息文件保存</p><p>  int readf(); //文件讀取</p>&

49、lt;p>  void inquire(); //查詢機(jī)票信息</p><p>  void inquire1(); //查詢客戶信息</p><p>  void book(); //預(yù)定航班</p><p>  void refund(); //取消航班</p><p>  void searchnum();

50、//查詢剩余票數(shù)</p><p>  typedef struct </p><p><b>  {</b></p><p>  int air_num; //航班號</p><p>  char Start[15]; //出發(fā)地</p><p>  char End[15];

51、//終點站</p><p>  int Price; //票價</p><p>  float H; //折扣</p><p>  char name[8]; //姓名</p><p>  char ID[20]; //身份證號</p><p>  int left ;

52、 //剩余票數(shù)</p><p>  int k ; //購買票數(shù)</p><p><b>  }people;</b></p><p>  people l[LEN];</p><p>  typedef struct </p><p><b>  {</b

53、></p><p>  int air_num; //航班號</p><p>  char Start[15]; //出發(fā)地</p><p>  char End[15]; //終點站</p><p>  char Time[25]; //起飛時間</p><p>  int total ;

54、 //總票數(shù)</p><p>  float H; //折扣</p><p>  int left ; //剩余票數(shù)</p><p>  int Price; //票價</p><p><b>  }air;</b></p><p>  air dat

55、a[LEN];</p><p>  int RecNo = 0;</p><p><b>  int P=0;</b></p><p>  int main()</p><p><b>  {</b></p><p>  char choice;</p><

56、;p><b>  do</b></p><p><b>  {</b></p><p><b>  menu();</b></p><p>  printf(" 請輸入選項并按回車鍵結(jié)束: ");</p><p>  if

57、 ((readf() != 0) )</p><p><b>  {</b></p><p>  printf("\n數(shù)據(jù)文件錯誤,系統(tǒng)將被退出...");</p><p><b>  exit(1);</b></p><p><b>  }</b><

58、/p><p>  fflush(stdin);</p><p>  scanf("%c", &choice);</p><p>  switch (system("cls"), choice)</p><p><b>  {</b></p><p>  

59、case '1': puts( " ----------------- 初 始 化 航 班 數(shù) 據(jù) 庫 ----------------- "</p><p>  " ----------------- 請輸入相應(yīng)的航班信息... -----------------");</p>

60、;<p><b>  add();</b></p><p><b>  break;</b></p><p>  case '2': puts( " ----------------- 航 班 查 詢 ----------------- ");</p&g

61、t;<p>  inquire();</p><p><b>  break;</b></p><p>  case '3': puts("----------------- 航 班 訂 票 ----------------- ");</p><p>&

62、lt;b>  book();</b></p><p><b>  break;</b></p><p>  case '4': puts("----------------- 航 班 退 票 ----------------- ");</p><p>

63、;<b>  refund();</b></p><p><b>  break;</b></p><p>  case '5': puts("----------------- 查 詢 機(jī)票 ----------------- ");</p><p&

64、gt;<b>  output();</b></p><p><b>  break;</b></p><p>  case '6': puts(" ----------------- 查 詢 余 票 ----------------- ");</p>&l

65、t;p>  searchnum();</p><p><b>  break;</b></p><p>  case '7': break;</p><p>  default: puts("請輸入您的選擇");</p><p><b>  break;</b&g

66、t;</p><p><b>  }</b></p><p><b>  }</b></p><p>  while (choice != '7');</p><p>  puts("\n\n\n\n\n\n\n\n\n\t\t\t\t非常感謝,祝您旅途愉快!")

67、;</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  void menu()</p><p><b>  {</b></p><p>  system("cls");&

68、lt;/p><p>  system("color 37");</p><p>  puts("================================================================================ "</p><p>  "-------------------

69、- 歡迎來到華中大機(jī)場,請選擇您需要的服務(wù) --------------- "</p><p>  "=========================================================================== \n"</p><p>  "

70、 \n"</p><p>  " * * * * * * * * \n"</p><p>  "

71、 \n"</p><p>  " 1、初始化航班 \n"</p><p>  " 2、查詢航班信息 \n"</p>&l

72、t;p>  " 3、航班訂票 \n"</p><p>  " 4、航班退票 \n"</p><p>  "

73、 5、查詢機(jī)票 \n"</p><p>  " 6、查詢余票 \n"</p><p>  " 7、退出售票系統(tǒng)

74、 \n"</p><p>  " \n"</p><p>  " * * * * * * * *

75、 \n\n\n"</p><p>  " ============================================================================== ");</p><p><b>  }</b></p><p>  void add()</p>&l

76、t;p><b>  {</b></p><p><b>  int i, j;</b></p><p>  char choice;</p><p>  air a_data;</p><p>  for (j = 1;RecNo < LEN;j++)</p><p&

77、gt;<b>  {</b></p><p>  printf("\n\t\t\t請輸入航班號: ");</p><p>  fflush(stdin);</p><p>  scanf("%d", &a_data.air_num);</p><p>  printf(&q

78、uot;\t\t\t請輸入起始站: ");</p><p>  fflush(stdin);</p><p>  scanf("%s", a_data.Start);</p><p>  printf("\t\t\t請輸入終點站: ");</p><p>  fflush(stdin);<

79、;/p><p>  scanf("%s", a_data.End);</p><p>  printf("\t\t\t請起飛輸入時間(如:2010.01.01.01.00): ");</p><p>  fflush(stdin);</p><p>  scanf("%s", a_dat

80、a.Time);</p><p>  printf("\t\t\t請輸入航班容載量: ");</p><p>  fflush(stdin);</p><p>  scanf("%d", &a_data.total);</p><p>  a_data.left = 0;</p>

81、<p>  printf("\t\t\t請輸入機(jī)票折扣");</p><p>  fflush(stdin);</p><p>  scanf("%f", &a_data.H);</p><p>  printf("\t\t\t請輸入機(jī)票價格: ");</p><p&g

82、t;  fflush(stdin);</p><p>  scanf("%d", &a_data.Price);</p><p>  printf("注意:是否要保存信息??? 若按任意鍵則(是) N(否) ");</p><p>  fflush(stdin);</p><p>  scanf

83、("%c", &choice);</p><p>  if (choice == 'N' || choice == 'n')</p><p><b>  {</b></p><p>  printf("\n\t\t\t!!注意?。?shù)據(jù)未保存?。?!");</p&

84、gt;<p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for (i = 0;i < RecNo;i++)</p><p>  if (data[i].air_num =

85、= a_data.air_num)</p><p><b>  {</b></p><p>  printf("\n%d次航班已經(jīng)被使用,請換其他班次...\n", a_data.air_num);</p><p>  puts("\n數(shù)據(jù)未保存...");</p><p><

86、;b>  PUT;</b></p><p><b>  PRINT;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  if (i == RecNo)</p><p>

87、<b>  {</b></p><p>  data[RecNo] = a_data;</p><p><b>  RecNo++;</b></p><p><b>  PUT;</b></p><p><b>  PRINT;</b></p>

88、<p><b>  savef();</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  printf("請問是否繼續(xù)? 若按任意鍵則(是) N(否,退回主界面) ");</p><

89、p>  fflush(stdin);</p><p>  scanf("%c", &choice);</p><p>  if (choice == 'N' || choice == 'n')</p><p><b>  {</b></p><p><

90、;b>  output();</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><

91、p>  int savef1()</p><p><b>  {</b></p><p>  FILE *fp1;</p><p>  if ((fp1 = fopen("people.txt", "wb")) == NULL)</p><p><b>  {<

92、;/b></p><p>  puts("\n數(shù)據(jù)文件寫入失敗!請檢查文件是否存在,按若按任意鍵則返回主菜單");</p><p>  getchar();</p><p><b>  exit(1);</b></p><p><b>  }</b></p>

93、<p>  fprintf(fp1, "%d", P);</p><p>  if (fwrite(l, sizeof(people), P, fp1) == 0)</p><p><b>  {</b></p><p>  puts("\n向文件寫入數(shù)據(jù)失敗!");</p>&l

94、t;p><b>  exit(1);</b></p><p><b>  }</b></p><p>  puts("\n數(shù)據(jù)寫入成功...");</p><p>  fclose(fp1);</p><p><b>  return 0;</b>&l

95、t;/p><p><b>  }</b></p><p>  int readf()</p><p><b>  {</b></p><p><b>  FILE *fp;</b></p><p>  if ((fp = fopen("air.tx

96、t", "a+")) == NULL)</p><p><b>  {</b></p><p>  printf("\n數(shù)據(jù)文件讀取失敗!請檢查文件是否存在,按若按任意鍵則返回住菜單\n");</p><p>  getchar();</p><p><b> 

97、 exit(1);</b></p><p><b>  }</b></p><p>  fscanf(fp, "%d", &RecNo);</p><p>  fread(data, sizeof(air), RecNo, fp);</p><p>  fclose(fp);<

98、;/p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  int savef()</p><p><b>  {</b></p><p><b>  FILE *fp;</b>&

99、lt;/p><p>  if ((fp = fopen("air.txt", "wb")) == NULL)</p><p><b>  {</b></p><p>  puts("\n數(shù)據(jù)文件寫入失敗!請檢查文件是否存在,按若按任意鍵則返回主菜單");</p><p&

100、gt;  getchar();</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  fprintf(fp, "%d", RecNo);</p><p>  if (fwrite(data, sizeof(air), R

101、ecNo, fp) == 0)</p><p><b>  {</b></p><p>  puts("\n向文件寫入數(shù)據(jù)失敗!");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><

102、;p>  puts("\n數(shù)據(jù)寫入成功...");</p><p>  fclose(fp);</p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  void output()</p><p&

103、gt;<b>  {</b></p><p><b>  int i;</b></p><p><b>  PUT;</b></p><p>  for (i = 0;i < RecNo;i++)</p><p><b>  {</b></p&

104、gt;<p><b>  PRINT;</b></p><p><b>  }</b></p><p>  printf("\n若按任意鍵則返回上級菜單... ");</p><p>  fflush(stdin);</p><p>  getchar();<

105、/p><p><b>  }</b></p><p>  void output1()</p><p><b>  {</b></p><p><b>  int j;</b></p><p><b>  PUT1;</b></p

106、><p>  for (j = 0;j <P;j++)</p><p><b>  {</b></p><p><b>  PRINT1;</b></p><p><b>  }</b></p><p>  printf("\n若按任意鍵則返

107、回上級菜單... ");</p><p>  fflush(stdin);</p><p>  getchar();</p><p><b>  }</b></p><p>  void inquire1()</p><p>  { char name[8],ID[20],choice

108、;</p><p>  int j, flag=0;</p><p>  do{ readf();</p><p><b>  flag=0 ;</b></p><p>  printf("請輸入您的姓名: ");</p><p>  fflush(stdin);</

109、p><p>  scanf("%s", name);</p><p>  printf("請輸入您的18位身份證號:");</p><p>  scanf("%s", ID);</p><p>  { for (j = 0;j < P;j++)</p><p&g

110、t;  if ((strcmp(l[j].name, name) == 0)&&(strcmp(l[j].ID, ID) == 0) )</p><p><b>  {PUT1;</b></p><p><b>  PRINT1;</b></p><p><b>  flag=1;</b&g

111、t;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (flag == 0)</p><p><b>  {</b></p><p>  puts("\n對不起,沒有該客戶信息"

112、;);</p><p><b>  }</b></p><p>  printf("\n請問是否繼續(xù)查找? 若按任意鍵則(是) N(否,退回主界面):");</p><p>  fflush(stdin);</p><p>  scanf("%c", &choic

113、e);</p><p>  }while((choice != 'N')&&( choice != 'n'));</p><p><b>  }</b></p><p>  void inquire()</p><p><b>  {</b></

114、p><p>  char choice;</p><p>  int i, flag=0;</p><p>  air s_data;</p><p><b>  do</b></p><p><b>  {</b></p><p>  puts( &qu

115、ot;\n1、按航班號查找\n\n"</p><p>  "2、按終點站查找\n\n"</p><p>  "3、按起始站查找\n\n"</p><p>  "4、按時間來查找\n\n"</p><p>  "5、按起始站及終點站查找\n\n"</

116、p><p>  "6、返回到上級菜單\n");</p><p>  printf("請輸入選項并按回車鍵結(jié)束: ");</p><p>  fflush(stdin);</p><p>  scanf("%c", &choice);</p><p>  f

117、flush(stdin);</p><p>  switch (choice)</p><p><b>  {</b></p><p>  case '1': printf("請輸入航班號:");</p><p>  fflush(stdin);</p><p>

118、;  scanf("%d", &s_data.air_num);</p><p><b>  PUT;</b></p><p>  for (i = 0;i < RecNo;i++)</p><p>  if (data[i].air_num == s_data.air_num)</p>&l

119、t;p><b>  { PRINT;</b></p><p><b>  flag++;}</b></p><p><b>  break;</b></p><p>  case '2': printf("請輸入終點站名稱:");</p><

120、;p>  fflush(stdin);</p><p>  scanf("%s", s_data.End);</p><p>  for (i = 0;i < RecNo;i++)</p><p>  if (strcmp(data[i].End, s_data.End) == 0)</p><p><b

121、>  { PRINT;</b></p><p><b>  flag++;}</b></p><p><b>  break;</b></p><p>  case '3': printf("請輸入起始站名稱:");</p><p>  fflu

122、sh(stdin);</p><p>  scanf("%s", s_data.Start);</p><p>  for (i = 0;i < RecNo;i++)</p><p>  if(strcmp(data[i].Start, s_data.Start) == 0)</p><p><b>  {

123、 PRINT;</b></p><p><b>  flag++;}</b></p><p><b>  break;</b></p><p>  case '4': printf("請輸入航班時間(日期):");</p><p>  fflush(s

124、tdin);</p><p>  scanf("%s", s_data.Time);</p><p>  for (i = 0;i < RecNo;i++)</p><p>  if (strcmp(data[i].Time, s_data.Time) == 0)</p><p><b>  { PRINT

125、;</b></p><p><b>  flag++;}</b></p><p><b>  break;</b></p><p>  case '5': printf("請輸入起始站名稱:");</p><p>  fflush(stdin);<

126、;/p><p>  scanf("%s", s_data.Start);</p><p>  printf("請輸入終點站名稱:");</p><p>  fflush(stdin);</p><p>  scanf("%s", s_data.End);</p><p

127、>  for (i = 0;i < RecNo;i++)</p><p>  if ((strcmp(data[i].End, s_data.End) == 0) &&</p><p>  (strcmp(data[i].Start, s_data.Start) == 0) )</p><p><b>  {</b>

128、</p><p><b>  PRINT;</b></p><p><b>  flag++;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p>  case '

129、;6': return ;</p><p>  default : printf("\n輸入錯誤,請重試...");</p><p><b>  continue;</b></p><p><b>  }</b></p><p>  if (flag == 0)</

130、p><p><b>  {</b></p><p>  puts("\n對不起,沒有該航班信息...");</p><p><b>  }</b></p><p>  printf("\n請問是否繼續(xù)查找? 若按任意鍵則(是) N(否,退回主界面):");

131、</p><p>  fflush(stdin);</p><p>  scanf("%c", &choice);</p><p><b>  }</b></p><p>  while((choice != 'n')&&(choice != 'N

132、9;));</p><p><b>  }</b></p><p>  void book()</p><p>  { int i,j,k,m,n,L=0,T=0;</p><p>  people a_l;</p><p>  char choice;</p><p&g

133、t;<b>  do</b></p><p>  { T=0; L=0;</p><p>  printf("\n請輸入您要訂票的航班號:");</p><p>  fflush(stdin);</p><p>  scanf("%d", &a_l.air_num

134、);</p><p>  for (i = 0;i< RecNo;i++)</p><p>  if (data[i].air_num == a_l.air_num)</p><p><b>  {T=1;</b></p><p><b>  m=i;</b></p><p

135、>  printf("\n請輸入您的姓名:");</p><p>  fflush(stdin);</p><p>  scanf("%s", &a_l.name);</p><p>  printf("\n請輸入您18位身份證號:");</p><p>  fflus

136、h(stdin);</p><p>  scanf("%s", &a_l.ID);</p><p><b>  do{</b></p><p>  printf("\n請輸入您的訂票數(shù)以回車鍵結(jié)束:");</p><p>  fflush(stdin);</p>

137、<p>  scanf("%d", &k);</p><p>  if (k <=0)</p><p><b>  {</b></p><p>  puts("\n請輸入有效的機(jī)票數(shù)!\n");</p><p><b>  continue;&

138、lt;/b></p><p><b>  }</b></p><p>  if (data[i].left + k > data[i].total)</p><p><b>  {</b></p><p>  printf("\n對不起,您最多能買 %d 張機(jī)票.\n"

139、;, data[i].total - data[i].left);</p><p><b>  continue;</b></p><p><b>  }</b></p><p>  for (j=0;j<P;j++)</p><p>  if (l[j].air_num==a_l.air_n

140、um)</p><p>  if((strcmp(l[j].name,a_l.name)==0)&&(strcmp(l[j].ID,a_l.ID)==0))</p><p><b>  {</b></p><p>  data[i].left=data[i].left+k;</p><p><b&g

溫馨提示

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

評論

0/150

提交評論