課程設(shè)計(jì)報(bào)告-車票管理系統(tǒng)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  (C語言程序設(shè)計(jì))</b></p><p>  題目 車票信息管理系統(tǒng) </p><p>  的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  二級學(xué)院 數(shù)學(xué)與統(tǒng)計(jì)

2、 </p><p>  專 業(yè) 信息與計(jì)算科學(xué) </p><p>  班 級 </p><p>  學(xué)生姓名 </p><p>  學(xué) 號

3、 </p><p>  指導(dǎo)教師 </p><p>  時 間 </p><p><b>  1 需求分析</b></p><p>  1.1 課程設(shè)計(jì)題目</p>&

4、lt;p>  要求設(shè)計(jì)并實(shí)現(xiàn)一個車票銷售管理系統(tǒng),系統(tǒng)實(shí)現(xiàn)以下功能。</p><p>  系統(tǒng)以菜單方式工作:要求界面清晰,友好,美觀,易用。</p><p>  車次信息導(dǎo)入功能:要求可從磁盤文件導(dǎo)入車次信息。</p><p>  查詢功能:可按班車號、起點(diǎn)站或終點(diǎn)站查找班車信息,并將查詢結(jié)果輸出。</p><p>  售票功能:只有

5、當(dāng)某班車已定票人數(shù)小于額定載量,且當(dāng)前系統(tǒng)時間小于發(fā)車時間才能售票。售票顯示收費(fèi)信息;售票后更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p>  退票功能:輸入退票的班次,當(dāng)本班車未發(fā)出時才能退票。退票后自動更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p>  信息瀏覽功能:能輸出所有班車的信息;要求輸出格式清晰、美觀。</p><p>  信息修改:要求能修改某一

6、指定班次的信息,并在修改后將信息存盤。</p><p>  1.2 系統(tǒng)功能需求</p><p>  系統(tǒng)以菜單方式工作:要求界面清晰,友好,美觀,易用。</p><p>  車次信息導(dǎo)入功能:要求可從磁盤文件導(dǎo)入車次信息。</p><p>  查詢功能:可按班車號、起點(diǎn)站或終點(diǎn)站查找班車信息,并將查詢結(jié)果輸出。</p><

7、;p>  售票功能:只有當(dāng)某班車已定票人數(shù)小于額定載量,且當(dāng)前系統(tǒng)時間小于發(fā)車時間才能售票。售票顯示收費(fèi)信息;售票后更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p>  退票功能:輸入退票的班次,當(dāng)本班車未發(fā)出時才能退票。退票后自動更新已定票人數(shù),并實(shí)現(xiàn)信息存盤。</p><p>  信息瀏覽功能:能輸出所有班車的信息;要求輸出格式清晰、美觀。</p><p>

8、;  信息修改:要求能修改某一指定班次的信息,并在修改后將信息存盤。</p><p><b>  2 系統(tǒng)設(shè)計(jì)</b></p><p><b>  2.1 功能模塊圖</b></p><p>  本系統(tǒng)的功能模塊圖如圖2-1所示。</p><p>  圖2-1 系統(tǒng)功能模塊圖</p>

9、<p><b>  2.2 數(shù)據(jù)定義</b></p><p>  本系統(tǒng)的數(shù)據(jù)可采用結(jié)構(gòu)數(shù)組來處理。可必要的設(shè)置全局變量。因此本系統(tǒng)的主要數(shù)據(jù)定義如下:</p><p>  struct Train_Ticket</p><p><b>  {</b></p><p>  char cn[

10、15]; //車量班次</p><p>  char lp[15]; //left place 起點(diǎn)</p><p>  char ap[15]; //arrive place 終點(diǎn)</p><p>  char lt[15]; //left time 發(fā)車時間</p><p>  char rt[

11、15]; //running time 行車時間</p><p>  float price; // 票價(jià)</p><p>  int rl; //Rated load 額定載量</p><p>  int bn; //booking number 已定票人數(shù)</p>

12、;<p><b>  }T[N];</b></p><p>  int n=0,i=0;// 全局變量</p><p>  2.3 關(guān)鍵技術(shù)分析</p><p> ?、?在程序開始運(yùn)行時,應(yīng)調(diào)用自定義的INPUT()函數(shù),將所有需要的數(shù)據(jù)導(dǎo)入到結(jié)構(gòu)數(shù)組中,然后保存。</p><p> ?、?調(diào)用load(

13、)函數(shù),從磁盤導(dǎo)入車票信息。由于第一次應(yīng)用INPUT()函數(shù)磁盤中已有數(shù)據(jù),因此不必要再進(jìn)行重新導(dǎo)入,所以在INPUT()函數(shù)中先詢問是否重新導(dǎo)入,然后再進(jìn)入主菜單,或者在調(diào)用一次后,以后運(yùn)行時不再調(diào)用。</p><p> ?、?.買票和退票都涉及到時間的問題,這源于要比較發(fā)車時間與當(dāng)前的時間,判斷這班車到底有沒有發(fā)車,和能不能訂票與退票,這時用了一個時間函數(shù),輸出了當(dāng)前的時間,但那邊有年月日,不好進(jìn)行提取和比較

14、,于是采用輸出了時間,然后看著那個時間手動的提取。</p><p>  ⑷ 系統(tǒng)中應(yīng)編寫存盤函數(shù)save(),在進(jìn)行買票或者退票功能后都需要調(diào)用save()函數(shù)進(jìn)行數(shù)據(jù)的更新。</p><p> ?、?采用循環(huán)結(jié)構(gòu)生成主菜單,在數(shù)據(jù)輸入時應(yīng)該有清晰的提示信息,以方便用戶的操作,對輸出數(shù)據(jù)進(jìn)行格式控制,以使界面更加美觀,清晰。</p><p><b>  3

15、 系統(tǒng)實(shí)現(xiàn)</b></p><p>  3.1 功能模塊設(shè)計(jì)</p><p>  根據(jù)系統(tǒng)分析的結(jié)論,將本系統(tǒng)需完成的功能模塊劃分如下:</p><p>  #include<stdio.h></p><p>  #include<stdlib.h></p><p>  #inclu

16、de<string.h></p><p>  #include<conio.h></p><p>  #include<time.h></p><p>  #define N 4</p><p>  void main_menu(); //主菜單模塊</p><p>  v

17、oid load(); //導(dǎo)入信息</p><p>  void INPUT(); //輸入模塊</p><p>  void scan(); //瀏覽模塊</p><p>  void tuipiao(); //退票</p

18、><p>  void buy(); //買票</p><p>  void change(); //修改函數(shù)</p><p>  void save(); //保存函數(shù)</p><p>  void prna(int pos

19、); //打印記錄</p><p>  void searchmenu(); //查詢菜單函數(shù)</p><p>  int s_cn(); //按班次查詢</p><p>  int s_lp(); //按起點(diǎn)站查詢

20、</p><p>  int s_ap(); //按終點(diǎn)站查詢</p><p>  struct Train_Ticket</p><p><b>  {</b></p><p>  char cn[15]; //車量班次</p><p>  

21、char lp[15]; //left place 起點(diǎn)</p><p>  char ap[15]; //arrive place 終點(diǎn)</p><p>  char lt[15]; //left time 發(fā)車時間</p><p>  char rt[15]; //running time 行車時間</p&g

22、t;<p>  int price; // 票價(jià)</p><p>  int rl; //Rated load 額定載量</p><p>  int bn; //booking number 已定票人數(shù)</p><p><b>  }T[N];</b>&

23、lt;/p><p>  int n=0,i=0;// 全局變量</p><p><b>  3.2 源代碼</b></p><p>  //********************************************************</p><p><b>  //主菜單</b>&

24、lt;/p><p>  //********************************************************</p><p>  void main_menu()</p><p><b>  {</b></p><p>  system("cls");</p>

25、<p>  system("color E");</p><p>  printf("**********************************************************************\n");</p><p>  printf("*************************歡迎來

26、到車票查詢系統(tǒng)*************************");</p><p>  printf("\n");</p><p>  printf("| ★★★ 1: 進(jìn)入班次瀏覽 ★★★ |\n");</p><p>  printf(

27、"| ★★★ 2: 進(jìn)入查詢班次 ★★★ |\n");</p><p>  printf("| ★★★ 3: 售票 ★★★ |\n");</p><p>  printf("|

28、 ★★★ 4: 退票 ★★★ |\n");</p><p>  printf("| ★★★ 5: 班次信息修改 ★★★ |\n");</p><p>  printf("|

29、 ★★★ 0: 退出 ★★★ |\n");</p><p>  printf("***********************************************************************\n");</p><p>  printf("\n請選擇

30、(0-5):☆☆☆");</p><p><b>  }</b></p><p>  void load() //從磁盤文件導(dǎo)入班次信息</p><p><b>  {</b></p><p><b>  int i;</b></p><p>

31、;<b>  FILE *fp;</b></p><p>  if((fp=fopen("c:車票管理系統(tǒng).dat","rb"))==NULL)</p><p><b>  {</b></p><p>  printf("文件打開錯誤\n");</p>

32、<p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;i<N;i++)</p><p>  fread(&T[i],sizeof(struct Train_Ticket),1,fp); </p><p

33、>  fclose(fp); </p><p>  system("cls"); </p><p><b>  }</b></p><p>  void save() //將班次信息保存到磁盤文件</p><p><b>  { </b></p

34、><p><b>  FILE *fp;</b></p><p>  if((fp=fopen("c:車票管理系統(tǒng).dat","wb"))==NULL) </p><p><b>  {</b></p><p>  printf("無法創(chuàng)建文件

35、!\n\n"); </p><p><b>  exit(0);</b></p><p><b>  } </b></p><p>  for(i=0;i<N;i++)</p><p>  fwrite(&T[i],sizeof(struct Train_Tick

36、et),1,fp); </p><p>  fclose(fp);</p><p><b>  }</b></p><p>  int time() //當(dāng)前系統(tǒng)時間</p><p><b>  {</b></p><p>  s

37、truct tm *f;</p><p>  time_t now;</p><p>  now=time(NULL);</p><p>  time(&now);</p><p>  f=gmtime(&now);</p><p>  printf(ctime(&now));</p>

38、;<p><b>  return 0;</b></p><p>  } </p><p>  void scan()</p><p><b>  {</b></p><p>  system("cls"); /*清屏*/<

39、;/p><p>  printf("\n ===========================================================================\n");</p><p>  printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n&quo

40、t;);</p><p>  for(i=0;i<N;i++) </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[i].cn,T[i].rl,T[i].lp,T[i].ap,T[i].lt,T[i].rt,T[i].price,T[i].bn);</p>&l

41、t;p>  printf(" ===========================================================================\n");</p><p>  printf("請按任意鍵返回主菜單\n");</p><p><b>  getch();</b><

42、/p><p><b>  }</b></p><p>  void INPUT() //鍵入所有信息</p><p><b>  {</b></p><p><b>  char ch;</b></p><p><b>  do</b&

43、gt;</p><p><b>  { </b></p><p>  system("cls"); </p><p>  printf("\n\n ====================歡迎進(jìn)入 錄入汽車時刻信息 界面====================\n")

44、; </p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("\n 新建汽車信息?(y/n) ");</p><p>  scanf("%

45、c",&ch);</p><p>  if(ch!='y'&&ch!='n')</p><p>  printf("輸入錯誤,請重新輸入!!!"); </p><p>  }while(ch!='y'&&

46、ch!='n');</p><p>  if(ch=='n')</p><p>  break; </p><p>  printf(" ---------------------");</p><p>  printf("\n 錄入第%d趟列車信息\n&

47、quot;,n+1);</p><p>  printf(" 車次 ");</p><p>  fflush(stdin); </p><p>  gets(T[i].cn);</p><p>  printf(" 額定載量 ");</p>

48、<p>  fflush(stdin);</p><p>  scanf("%d",&T[i].rl);</p><p>  printf(" 起點(diǎn) ");</p><p>  fflush(stdin);</p><p>  gets(T[i].lp);</

49、p><p>  printf(" 終點(diǎn) ");</p><p>  fflush(stdin);</p><p>  gets(T[i].ap); </p><p>  printf(" 開車時間 ");</p><p>  fflush(st

50、din);</p><p>  gets(T[i].lt);</p><p>  printf(" 行車時間 ");</p><p>  fflush(stdin);</p><p>  gets(T[i].rt);</p><p>  printf(" 票價(jià)

51、 ");</p><p>  fflush(stdin);</p><p>  scanf("%f",&T[i].price);</p><p>  printf(" 已定票人數(shù) ");</p><p>  fflush(stdin);</p>

52、<p>  scanf("%d",&T[i].bn);</p><p><b>  n++;</b></p><p>  i++; </p><p>  }while(i<N);</p><p><b>  save(

53、);</b></p><p>  system("cls");</p><p><b>  }</b></p><p>  void prna(int pos) // 打印一條記錄</p><p><b>  {</b>

54、</p><p>  printf("\n ===========================================================================\n");</p><p>  printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n&quo

55、t;);</p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[pos].cn,T[pos].rl,T[pos].lp,T[pos].ap,T[pos].lt,T[pos].rt,T[pos].price,T[pos].bn);</p><p>  printf(" ==================

56、=========================================================\n");</p><p><b>  }</b></p><p>  void searchmenu() // 查詢主菜單</p><p><b> 

57、 {</b></p><p>  system("cls"); </p><p>  printf("\n\n ====================歡迎進(jìn)入 查詢汽車時刻信息 界面====================\n");</p><p>  printf("\

58、n ++++++++++++++++++請選擇查找方式++++++++++++++++++\n\n"); </p><p>  printf("| ★★★ 1: 按班次查詢 ★★★ |\n");</p><p>  printf("

59、| ★★★ 2: 按起點(diǎn)站查詢 ★★★ |\n");</p><p>  printf("| ★★★ 3: 進(jìn)終點(diǎn)站查詢 ★★★ |\n");</p><p>  printf("|

60、 ★★★ 4: 返回主菜單 ★★★ |\n");</p><p>  printf("***********************************************************************\n");</p><p>  printf("\n請選擇(1

61、-4):☆☆☆");</p><p><b>  }</b></p><p>  int s_cn() //按班次查詢</p><p><b>  {</b></p><p>  char name1[15];</p><p

62、><b>  int j;</b></p><p>  system("cls");</p><p>  printf("請輸入要查詢的班次號:\n ");</p><p>  fflush(stdin);</p><p>  gets(name1);</p>

63、<p>  for(j=0;j<N;j++)</p><p><b>  {</b></p><p>  if(strcmp(T[j].cn,name1)==0)</p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].

64、lp,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  return 1;</b></p><p&g

65、t;<b>  }</b></p><p>  int s_lp() //按起點(diǎn)站查詢</p><p><b>  {</b></p><p>  char name2[15];</p><p><b>  int j;</b></p>

66、<p>  system("cls");</p><p>  printf("請輸入要查詢的起點(diǎn)站名: \n");</p><p>  fflush(stdin);</p><p>  gets(name2);</p><p>  for(j=0;j<N;j++)</p>

67、<p><b>  {</b></p><p>  if(strcmp(T[j].lp,name2)==0)</p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[

68、j].bn);continue;</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  return 1;</b></p><p><b>  }</b></p><

69、p>  int s_ap() //按終點(diǎn)站查詢</p><p><b>  {</b></p><p>  char name3[15];</p><p><b>  int j;</b></p><p>  system(&quo

70、t;cls");</p><p>  printf("請輸入要查詢的終點(diǎn)站名: \n");</p><p>  fflush(stdin);</p><p>  gets(name3);</p><p>  for(j=0;j<N;j++)</p><p><b>  {&

71、lt;/b></p><p>  if(strcmp(T[j].ap,name3)==0)</p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[j].cn,T[j].rl,T[j].lp,T[j].ap,T[j].lt,T[j].rt,T[j].price,T[j].bn);continue;</p&g

72、t;<p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  return 1;</b></p><p><b>  }</b></p><p>  void search()

73、 //查詢函數(shù)</p><p><b>  {</b></p><p>  int select;</p><p><b>  int n;</b></p><p><b>  while(1)</b></p><p><b&

74、gt;  {</b></p><p>  searchmenu();</p><p>  scanf("%d",&select);</p><p>  switch(select)</p><p><b>  {</b></p><p>  case 1:

75、n=s_cn();</p><p><b>  if(n)</b></p><p>  printf("沒找到相關(guān)記錄\n");printf("按任意鍵返回\n");getch();</p><p><b>  break;</b></p><p>  cas

76、e 2: n=s_lp();</p><p><b>  if(n)</b></p><p>  printf("沒有找到相關(guān)記錄\n");printf("按任意鍵返回\n");getch();</p><p><b>  break;</b></p><p>

77、;  case 3: n=s_ap();</p><p><b>  if(n)</b></p><p>  printf("沒有找到相關(guān)記錄\n");printf("按任意鍵返回\n");getch();</p><p><b>  break;</b></p>&

78、lt;p><b>  }</b></p><p>  if(select==4)</p><p><b>  {</b></p><p>  break;main_menu();</p><p><b>  }</b></p><p><b&

79、gt;  }</b></p><p><b>  }</b></p><p>  void buy() //買票</p><p><b>  {</b></p><p>  system("cls");</p><p&

80、gt;  int m,log;</p><p>  char t[10];</p><p>  printf("請輸入您需要購買票的班次(1-4):\n");</p><p>  scanf("%d",&m);</p><p><b>  load();</b></p

81、><p>  printf("\n ===========================================================================\n");</p><p>  printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n")

82、; </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[m-1].cn,T[m-1].rl,T[m-1].lp,T[m-1].ap,T[m-1].lt,T[m-1].rt,T[m-1].price,T[m-1].bn);</p><p>  printf(" =====

83、======================================================================\n");</p><p>  if(T[m-1].bn>=T[m-1].rl)</p><p><b>  {</b></p><p>  printf("該班次票已滿!請選擇其

84、他班次\n");</p><p>  printf("按任意鍵返回\n");</p><p><b>  }</b></p><p>  if(T[m-1].bn<T[m-1].rl)</p><p><b>  {</b></p><p>

85、;  printf("當(dāng)前時間為:\n");</p><p><b>  time();</b></p><p>  printf("\n");</p><p>  printf("請?jiān)偈謩虞斎肷鲜鰰r間,只需要輸入時辰與分鐘(例如 08:00): \n");</p

86、><p>  scanf("%s",t);</p><p>  printf("\n");</p><p>  if(strcmp(t,T[m-1].lt)>0)</p><p>  printf("該班次已發(fā)車,請選擇其他班次\n");</p><p> 

87、 else if(T[m-1].bn==T[m-1].rl)</p><p>  printf("該班次未發(fā)車但是該班次票已售完\n");</p><p>  if (T[m-1].bn!=T[m-1].rl&&strcmp(t,T[m-1].lt)<0&&T[m-1].bn<T[m-1].rl)</p><

88、;p><b>  {</b></p><p>  printf("該班次還可訂%d票\n",(T[m-1].rl-T[m-1].bn));</p><p>  printf("請輸入您要訂票數(shù)量");</p><p>  scanf("%d",&log);<

89、/p><p>  printf("\n");</p><p>  while(log>(T[m-1].rl-T[m-1].bn))</p><p><b>  {</b></p><p>  printf("訂票錯誤,數(shù)量不能超過余票數(shù)!!!\n");</p>&l

90、t;p>  printf("請重新輸入:");</p><p>  scanf("%d",&log);</p><p><b>  }</b></p><p>  if(log<=(T[m-1].rl-T[m-1].bn)) {printf("一共需要%d元\n",

91、log*T[m-1].price);printf("訂票成功,祝您旅途愉快!\n");}</p><p><b>  }</b></p><p>  T[m-1].bn+=log;</p><p>  printf("按任意鍵返回主菜單\n");getchar();</p><p>

92、;<b>  }</b></p><p><b>  save();</b></p><p><b>  }</b></p><p>  void tuipiao()//退票</p><p><b>  {</b></p><p>

93、  system("cls");</p><p>  int x,log;</p><p>  char t[10];</p><p>  printf("請輸入您要退票的班次: \n");</p><p>  scanf("%d",&x);</p><

94、p>  i=x;int m=i;</p><p><b>  load();</b></p><p>  printf("\n ===========================================================================\n");</p><p>  pri

95、ntf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[m-1].cn,T[m-1].rl,T[m-1].lp,T[m-1].ap,T[m-1].lt,T[m-

96、1].rt,T[m-1].price,T[m-1].bn);</p><p>  printf(" ===========================================================================\n");</p><p>  printf("當(dāng)前時間為:\n");</p>&l

97、t;p><b>  time();</b></p><p>  printf("\n");</p><p>  printf("請?jiān)偈謩虞斎肷鲜鰰r間,只需要輸入時辰與分鐘(例如 08:00): \n");</p><p>  scanf("%s",t);</

98、p><p>  if(strcmp(T[i-1].lt,t)>0)</p><p><b>  { </b></p><p>  printf("可以退票\n");</p><p>  printf("請問你真的要退票嗎? \n");</p><p> 

99、 printf("確認(rèn)退票請按1,否則返回主菜單\n");</p><p>  scanf("%d",&log);</p><p>  if(log==1)</p><p><b>  {</b></p><p>  printf("退票成功!\n");

100、</p><p>  T[i-1].bn--;</p><p>  save();printf("按任意鍵返回主菜單\n");getch();</p><p><b>  }</b></p><p><b>  else</b></p><p><b

101、>  {</b></p><p>  printf("您選擇不退票\n");printf("按任意鍵返回主菜單\n");getch();</p><p><b>  }</b></p><p>  } </p><p>  if(strcmp(

102、T[i-1].lt,t)<0)</p><p><b>  { </b></p><p>  printf("此班次已發(fā)車不能退票!!!\n");</p><p>  printf("按任意鍵返回主菜單\n");</p><p><b>  getch();<

103、/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void change()</p><p><b>  {</b></p><p>  system("cls");&l

104、t;/p><p>  int k,select;</p><p>  char banci[100];</p><p>  char mima[10];//假設(shè)密碼為aaa</p><p>  printf("這個是工作人員所進(jìn),請輸入密碼:\n");</p><p>  scanf("%s&

105、quot;,mima);</p><p>  while(strcmp(mima,"aaa")!=0)</p><p><b>  {</b></p><p>  printf("密碼錯誤!\n");</p><p>  printf("請重新輸入:\n");&

106、lt;/p><p>  scanf("%s",mima);</p><p><b>  }</b></p><p>  printf("進(jìn)入成功!\n");</p><p>  printf("輸入所要修改班次號:\n");</p><p>

107、  scanf("%s",banci);</p><p>  for(k=0;k<N;k++)</p><p><b>  {</b></p><p>  if(strcmp(T[k].cn,banci)==0)</p><p><b>  break;</b></p

108、><p><b>  }</b></p><p>  printf("\n ===========================================================================\n");</p><p>  printf(" 車次 額定載量 起

109、點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);</p><p&

110、gt;  printf(" ===========================================================================\n");</p><p>  printf("修改時間請按1\n");</p><p>  printf("修改終點(diǎn)站請按2\n");</p&

111、gt;<p>  printf("修改票價(jià)請按3\n");</p><p>  scanf("%d",&select);</p><p>  switch(select)</p><p><b>  {</b></p><p><b>  case

112、1:</b></p><p>  for(k=0;k<N;k++)</p><p>  if(strcmp(T[k].cn,banci)==0)</p><p><b>  break;</b></p><p>  printf("請輸入修改后的時間(例如08:00)\n");&

113、lt;/p><p>  scanf("%s",T[k].lt);</p><p>  printf("修改成功!\n");</p><p>  printf("\n ===========================================================================\

114、n");</p><p>  printf(" 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k]

115、.lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);</p><p>  printf(" ===========================================================================\n");</p><p>  printf("按任意鍵返回\n&quo

116、t;);</p><p><b>  save();</b></p><p><b>  getch();</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>

117、;  for(k=0;k<N;k++)</p><p>  if(strcmp(T[k].cn,banci)==0)</p><p><b>  break;</b></p><p>  printf("請輸入修改后的終點(diǎn)站\n");</p><p>  scanf("%s"

118、,T[k].ap);</p><p>  printf("修改成功!\n");</p><p>  printf("\n ===========================================================================\n");</p><p>  printf(&qu

119、ot; 車次 額定載量 起點(diǎn) 終點(diǎn) 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k

120、].bn);</p><p>  printf(" ===========================================================================\n");</p><p>  printf("按任意鍵返回\n");</p><p><b>  save()

121、;</b></p><p><b>  getch();</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  for(k=0;k<N;k++)</p><p>

122、;  if(strcmp(T[k].cn,banci)==0)</p><p><b>  break;</b></p><p>  printf("請輸入修改后的票價(jià)\n");</p><p>  scanf("%d",&T[k].price);</p><p>  pr

123、intf("修改成功!\n");</p><p>  printf("\n ===========================================================================\n");</p><p>  printf(" 車次 額定載量 起點(diǎn) 終點(diǎn)

124、 開車時間 行車時間 票價(jià) 已定票人數(shù)\n"); </p><p>  printf( " %s%13d%10s%10s%12s%8s%f%6d\n",T[k].cn,T[k].rl,T[k].lp,T[k].ap,T[k].lt,T[k].rt,T[k].price,T[k].bn);</p><p>  printf

125、(" ===========================================================================\n");</p><p>  printf("按任意鍵返回\n");</p><p><b>  save();</b></p><p><

126、;b>  getch();</b></p><p><b>  default:</b></p><p>  printf("選擇錯誤!");</p><p>  printf("按任意鍵返回主菜單\n");</p><p>  getch();break;<

127、;/p><p><b>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  int select;</p><p><b

128、>  load();</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  main_menu();</p><p>  scanf("%d",&select);</p>

129、<p>  switch(select)</p><p><b>  {</b></p><p>  case 1:scan();getchar();break;</p><p>  case 2:search();getchar();break;</p><p>  case 3:buy();getch();

130、break;</p><p>  case 4:tuipiao();getchar();break;</p><p>  case 5:change();getchar();break;</p><p><b>  }</b></p><p>  if(select==0)</p><p>  {

131、 printf("按任意鍵退出\n");printf("\n");break;}</p><p><b>  } </b></p><p><b>  }</b></p><p><b>  4 系統(tǒng)測試</b></p>

132、<p><b>  4.1 主界面</b></p><p>  系統(tǒng)主界面如圖4-1所示:</p><p><b>  系統(tǒng)運(yùn)行主窗口</b></p><p>  4.2 車次信息瀏覽模塊</p><p>  在主菜單的提示下選擇1,可顯示所有車次信息。</p><p&

133、gt;  4.3 查詢車次信息</p><p>  在主菜單的提示下選擇2,接著按提示進(jìn)行各項(xiàng)查</p><p><b>  4.4 售票</b></p><p>  輸入您想買的班次,若有票剩余且未發(fā)車,即可訂票,程序會顯示訂票成功;此時再輸入您要定的票數(shù);</p><p>  若車已發(fā)出或票賣完了,程序會提示您:此班

134、不能訂票。</p><p><b>  4.5 退票</b></p><p>  輸入您想退的班次,若未發(fā)車,即可退票,程序會顯示退票成功;此時再輸入您要退的票數(shù),程序會顯示退票成功;</p><p>  4.6 修改班次信息</p><p>  若想增加班次,則要輸入密碼(aaa),輸入您所要修改的班次,只能修改終點(diǎn)站

135、、發(fā)車時間及行車時間。</p><p><b>  5 工作總結(jié)</b></p><p>  5.1 系統(tǒng)工作總結(jié)</p><p>  系統(tǒng)第一次開始運(yùn)行時,要調(diào)用INPUT()函數(shù)進(jìn)行數(shù)據(jù)的錄入,完成之后再重新運(yùn)行,這時不再調(diào)用INPUT()函數(shù),可以節(jié)省一些步驟。再整個運(yùn)行過程中并沒出現(xiàn)什么錯誤,按照提示一步步地操作,可以簡單的操作系統(tǒng)。,

136、</p><p><b>  5.2 心得體會</b></p><p>  經(jīng)歷這幾周的學(xué)習(xí)和鍛煉,這個車票管理系統(tǒng)總算是做出來了,一開始我無從入手,只有上網(wǎng)查找一些資料閱讀別人的設(shè)計(jì),這樣才有了一點(diǎn)點(diǎn)眉目。到現(xiàn)在為止還不算做的完好,還存在一些不足,比如:現(xiàn)在的退票售票的一些細(xì)節(jié)還出現(xiàn)錯誤,雖然可以忽略,主體上是沒問題的。由于我的水平有限,所以只能做出現(xiàn)在的程序。&l

溫馨提示

  • 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

提交評論