c語言課程設計報告--公交路線管理系統(tǒng)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  計算機科學與技術系</b></p><p><b>  課程設計報告</b></p><p>  2011 ~2012 學年第二學期</p><p>  2012 年6 月</p><p><b>  一、設計思想</b></p&g

2、t;<p>  我的系統(tǒng)主要功能是實現(xiàn)對公交路線的查詢管理和維護。眾所周知,公交車在每一個城市中都有著非常大的作用,幾乎每個市民都要用到公交車。以及公交車的路線經常會有所改動。因此如果使用我的這個系統(tǒng),就可以及時的對路線信息進行修改和保存可以很好地滿足市民的查詢,方便人民的生活。而且該系統(tǒng)使用起來也很方便。用戶只需根據(jù)顯示的提示信息進行選擇和輸入就可以實現(xiàn)你要求的功能查詢到你需要的信息。</p><p&

3、gt;  本系統(tǒng)具有顯示路線信息、添加線路信息、刪除線路信息、修改線路信息、查詢信息的功能。用戶們可以根據(jù)自己所需要的情況進行相應的功能選擇,得到自己所需要的信息。其具體功能簡單描述如下:</p><p>  (1)顯示路線信息:即將路線信息顯示到屏幕中,供用戶查看。該功能比較簡單,在這里不具體說明。</p><p> ?。?)添加路線信息:即添加一條新的公交路線或者是某一條路線上的站點。

4、每次可以添加一條路線信息,若用戶想添加多條路線信息的話可以重復執(zhí)行該功能,同樣的,添加站點的話也是每一次添加一個站點,若用戶想添加多條路線信息的話也只需要重復執(zhí)行該功能即可。這樣,就實現(xiàn)了對公交路線的添加信息管理。</p><p> ?。?)刪除路線信息:即能刪除掉一條你所不需要的公交路線信息和某一條路線上的站點。若要刪除路線時只需要輸入你要刪除的公交路線號即可,若要刪除站點也只需輸入你要刪除的站點序號,不需要輸

5、入該站點名稱。</p><p> ?。?)修改路線信息:即能修改一條你需要該的路線信息。修改內容包括:修改該條公交路線號、修改站點名稱(輸入新的信息時該條路線的站點長度不能改變,若要改變站點長促可以選擇增加和刪除功能,即可實現(xiàn))。</p><p> ?。?)查詢路線信息:即能夠查找出你要的公交路線信息和總共有多少站。簡單地說,就是用戶先選擇你要查詢的公交路線號,在輸入起點站和終點站名稱,然

6、后系統(tǒng)就會自動顯示出起點站和終點站之間共有多少站點,以及起點站和終點站之間所有站點的序號和名稱,從而使用戶一目了然的知道站點信息,而不需要像看地圖那樣一個站點一個站點的用肉眼進行查找,這就為用戶節(jié)省了很多時間。</p><p>  (6)保存信息:即將信息存入指定文件中。當用戶對原始數(shù)據(jù)進行相關的改動(主要是對路線信息進行增加、刪除、修改)之后,用戶可以根據(jù)自己的選擇判斷是否要保存到文件中,這樣就實現(xiàn)了信息的記錄

7、功能,以方便用戶隨時進行查看。</p><p><b>  設計表示</b></p><p><b>  程序的設計方法:</b></p><p>  我的系統(tǒng)的設計流程還是比較簡單,原始數(shù)據(jù)全部都被保存在busline.txt文件中,用戶就不必自己一個一個的輸入信息。程序執(zhí)行時從文件中讀出,該程序中用到結構體,因為結構體

8、可以很好地表示公交車站臺名。寫無返回值的主函數(shù)void main()和子函數(shù)void MENU()菜單函數(shù)對系統(tǒng)的功能進行顯示,每次用戶選擇某一功能時都可以看到路線的大致信息,以便于用戶更準確的選擇功能。其中利用switch條件分支語句進行子函數(shù)功能的選擇和調用。并且使用while循環(huán)語句進行多次循環(huán)執(zhí)行,就可以實現(xiàn)對信息的多次刪除、增加、修改和查詢,直到達到用戶滿意時由用戶自己選擇退出系統(tǒng)。同時我的程序還使用了清屏函數(shù),對上一次程序運

9、行的結果清楚只顯示本次運行的相關信息,這樣就可以使界面更加美觀,簡單明了,當用戶對信息進行有關的改動之后,用戶根據(jù)自己的選擇是否保存入文件中,就可以保存他所要的信息了。</p><p>  程序設計的主要流程圖如下:</p><p><b>  程序的設計步驟:</b></p><p>  以下是我對本程序的每個模塊的詳細介紹:</p&g

10、t;<p><b>  一:主函數(shù)</b></p><p>  構建無返回值的主函數(shù),主函數(shù)用來實現(xiàn)對子模塊的調用功能,用while循環(huán)語句來控制循環(huán)次數(shù),用戶可以根據(jù)自己的需求選擇任何時候退出系統(tǒng)。對子模塊的調用主要使用switch開關控制語句,根據(jù)選擇實現(xiàn)用戶要求的功能。</p><p>  二:頭文件,定義結構體,結構體中還嵌套了一個結構體,定義結

11、構體成員,,其對整個程序都有效。</p><p><b>  三:顯示菜單</b></p><p>  顯示該系統(tǒng)所能完成的功能,其中包括:顯示路線信息、增加線路信息、刪除路線信息、修改路線信息、查詢路線信息、將信息保存帶文件中和退出功能一目了然。根據(jù)用戶的需求自由選擇功能實現(xiàn)。</p><p>  四:從文件中讀取線路信息</p>

12、<p>  該功能以子函數(shù)的形式給出,執(zhí)行此程序時首先定義文件指針FILE *fp,在打開此文件時,文本文檔里應該有用戶需要的數(shù)據(jù),從而才能從文件中正確讀取出來,若文件打開不成功則會顯示“不能打開此文件!”。讀取結束后必須要關閉文件,即fclose(fp),這樣就完成了從文件中讀取信息的功能。 </p><p>  五:在窗口中顯示路線信息</p><

13、;p>  該功能以子函數(shù)的形式給出,無返回值。向窗口中讀入線路信息。</p><p><b>  六:增加線路信息。</b></p><p>  這個模塊,包括了增加線路和增加站臺數(shù)兩種情況。如果你選擇增加公交路線,你需要輸入新的公交車的車牌號,和新公交車經過的站臺。如果你增加站臺,你要輸入正確的公交車的車牌號,然后你就可以增加站臺了。該子函數(shù)雖然沒有用到鏈表,

14、但也是有著嚴謹?shù)慕Y構。功能齊全。實現(xiàn)了對公交路線信息的增加。</p><p><b>  七:刪除線路信息。</b></p><p>  這個模塊,包括了刪除線路和刪除站臺數(shù)兩種情況。如果你選擇刪除公交路線,你需要輸入要刪除的公交車的車牌號,以及你要刪除的站臺信息。如果你只想刪除站臺,你只要輸入正確的公交車的車牌號,然后你就可以輸入要刪除的站臺信息了。該子函數(shù)雖然沒有

15、用到鏈表,但也是有著嚴謹?shù)慕Y構。功能齊全。實現(xiàn)了對公交路線信息的增加。</p><p><b>  八:修改線路信息</b></p><p>  同上分析,該子函數(shù)也是一個無返回值的函數(shù),修改時,先確定你要修改哪條路線,,在重新輸入新的信息即可,新輸入的信息會覆蓋原有信息,所以可以實現(xiàn)對線路進行修改。</p><p><b>  九:

16、查詢路線信息</b></p><p>  該子函數(shù)是一個無返回值的函數(shù)。使用時先輸入你要找的路線號,再輸入你要經歷的起點站和終點站,程序就會為你顯示出起點站和終點站之間共有多少站,并且輸出起點站和終點站之間所有站序號和站點名稱。</p><p>  十:將信息保存到文件中。當用戶對原始路線信息進行改動之后,或許要將修改過后的信息保存起來,此時用戶就可以自己選擇是否要將信息保存起

17、來,保存的位置是本系統(tǒng)實現(xiàn)設定好的,保存之后的信息在busline2.txt下,也方便用戶的查看。</p><p><b>  3、實現(xiàn)注釋:</b></p><p>  本系統(tǒng)對于菜單顯示表上的功能基本上都能實現(xiàn),但是不是很完善,很多地方我還沒有考慮到,或許是考慮的不夠周全,但是有些不足的地方,是我的能力所不能達到的,還希望老師能夠諒解,不過等以后學過新的知識用新的

18、方法或許就能將系統(tǒng)做進一步的改進。</p><p>  4、程序的缺點:我覺得本系統(tǒng)很不完善,很多功能雖然能實現(xiàn),特別是鏈表沒有太多的應用,但是實現(xiàn)的不夠完美,很多細節(jié)我都沒有考慮到,比如查詢路線時,不能大致故略出起點站和終點站需要的時間;修改路線信息時,重新輸入該條路線的信息時,路線上站點的個數(shù)不能改變,要改變的話還得選擇增加或刪除功能;還有就是用戶將改動過后的信息保存到文件中后,以后該文件中的數(shù)據(jù)用戶如果要使

19、用的話,不能從文件中讀取顯示到屏幕上。這些都是我的系統(tǒng)一些不完善的地方,希望以后有能力的時候,能進一步對系統(tǒng)進行修改和完善。</p><p><b>  三、用戶手冊</b></p><p>  用戶根據(jù)窗口上的提示信息輸入想要的目的,其中包括顯示信息,增加信息,刪除信息,查詢信,保存信息,退出,這些功能的實現(xiàn)分別是按鍵1到7,當用戶輸入信息時如果輸入錯誤,則會有錯誤

20、提示。直到用戶輸入正確。如果用戶想保存信息,信息將保存在busline2.txt中。用戶可以進行查詢。</p><p><b>  三、調試及測試</b></p><p>  1、文本中的信息如下:</p><p><b>  901</b></p><p>  12 1 abc 2 薛河 3 張小

21、郢 4 晨風苑 5 bcd 6 江淮 7 南七里 8 中國科技大學 9 安醫(yī)附院 10 稻香樓 11 廻龍橋 12 飛鳳街</p><p><b>  23</b></p><p>  13 1 博物館 2 市一院 3 百花井 4 逍遙津 5 大東門 6 金大塘 7 三里街 8 銅陵北路 9 五里井 10 汽車東站 11 東七里站 12 衛(wèi)材總廠 13 火車站<

22、;/p><p><b>  31</b></p><p>  14 1 公交二公司 2 大鋪 3 新加坡花園城 4 通用所 5 科學大道 6 十里廟 7 懷寧路 8 三十四中 9 牙膏廠 10 青陽路 11 國購廣場 12 安農 13 逍遙津 14 大東門</p><p><b>  30</b></p><

23、;p>  16 1 客車廠 2 三十二中 3 公交三公司 4 衛(wèi)崗 5 儀表廠 6 東陳崗 7 屯溪路 8 大鐘樓 9 四牌樓 10 市府廣場 11 百花井 12 雙崗 13 安農大 14 通用所 15 火車站 16 汽車站</p><p><b>  1 </b></p><p>  17 1 柳蔭塘 2 王草坊 3 東城世家 4 吳小郢 5 八佰戶 6 花溪

24、新村 7 銅陵新村 8 市二院 9 abc 10 和平路 11 bcd 12 三孝口 13 江淮 14 南七里 15 三十四中 16 飛鳳街 17 火車站</p><p>  2、本程序的運行結果如下所示:</p><p><b>  四、課程設計小結</b></p><p>  通過這次實訓,增加了我學習軟件技術的興趣,雖然還不明確軟件技術包

25、含的具體內容,但從C語言這門課程開始,已發(fā)現(xiàn)程序設計的樂趣,在學習C語言的過程中也學到了許多計算機應用基礎知識,對計算機的機體也有了一個大體的了解。</p><p>  這次實訓是老師給了題目,經過自己的努力,實現(xiàn)要求。先做簡單的小程序輸出和輸入,一步步的再做其它要求,在實際操作過程中犯的一些錯誤還會有意外的收獲,感覺實訓很有意思。在具體操作中對這學期所學的C語言的理論知識得到鞏固,達到實訓的基本目的,也發(fā)現(xiàn)自己

26、的不足之出,在以后的上機中應更加注意,同時體會到C語言具有的語句簡潔,使用靈活,執(zhí)行效率高等特點。發(fā)現(xiàn)上機實訓的重要作用,特別是對數(shù)組和循環(huán)有了深刻的理解。 </p><p>  通過實際操作,學會 C語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。深刻體會到“沒有做不到的,只有想不到的”,“團結就是力量”,“實踐是檢驗真理的標準”……的寓意。 </p>

27、<p>  在此希望以后應多進行這樣的實訓,加長設間,培養(yǎng)我們獨立思考問題的能力,提高實際操作水平,感謝老師的指導。</p><p><b>  五、參考文獻</b></p><p>  [1] 嚴蔚敏等 《數(shù)據(jù)結構(c語言版)》 北京:清華大學出版社,1997年4月第1版;</p><p>  [2] 譚浩強編著《C程序設計(第3版

28、) 》北京:清華大學出版社;</p><p>  [3] 洪國勝 等編著 《C++ Builder程序設計輕松上手》北京:清華大學出版社;</p><p>  [4] 嚴蔚敏等 《數(shù)據(jù)結構(c語言版)》 北京:清華大學出版社,1997年4月第1版;</p><p>  [5] 寧正元《數(shù)據(jù)結構(c語言)》 南京:東南大學出版社。2000年6月第1版;</p&g

29、t;<p>  [6] 明日科技 編著《Visual C++程序開發(fā)范例寶典》北京:人民郵電出版社;</p><p><b>  六、源程序代碼</b></p><p>  #include "stdio.h"</p><p>  #include "malloc.h"</p>

30、<p>  #include "string.h"</p><p>  #include "stdlib.h"</p><p>  typedef struct station //公交站</p><p><b>  {</b></p><p>  int num;

31、 //站序號</p><p>  char name[20];//站名稱</p><p><b>  }Stop; </b></p><p>  typedef struct busline //公交路線</p><p><b>  {</b></p><p>  int

32、 busnum; //公交車號碼</p><p>  Stop stop[50]; //線路上的站</p><p><b>  }BL;</b></p><p>  typedef struct STA</p><p><b>  {</b></p><p>  char a

33、[20];</p><p><b>  }Sta;</b></p><p>  BL bl[50];int m=5;//定義全局變量</p><p>  int z[15];//站臺數(shù)</p><p>  void MENU()</p><p><b>  {</b><

34、/p><p>  printf("\t********歡迎使用公交路線查詢系統(tǒng)********\n");</p><p>  printf("\t1------顯示路線信息---------------------\n");</p><p>  printf("\t2------增加線路信息---------------

35、------\n");</p><p>  printf("\t3------刪除路線信息---------------------\n");</p><p>  printf("\t4------修改路線信息---------------------\n");</p><p>  printf("\t5-

36、-----查詢路線信息---------------------\n");</p><p>  printf("\t6------將信息保存帶文件中---------------\n");</p><p>  printf("\t7------退出-----------------------------\n");</p>&

37、lt;p>  printf("\t請選擇...\n");</p><p><b>  }</b></p><p>  void Read()//從文件中讀取</p><p><b>  {</b></p><p><b>  int i,j;</b>

38、</p><p><b>  FILE *fp;</b></p><p>  fp=fopen("busline.txt","r+");</p><p>  if(fp==NULL)</p><p><b>  {</b></p><p&g

39、t;  printf("不能打開此文件!");</p><p><b>  exit(0);</b></p><p><b>  } </b></p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p&g

40、t;<p>  fscanf(fp,"%d",&bl[i].busnum);</p><p>  fscanf(fp,"%d",&z[i]);</p><p>  for(j=0;j<z[i];j++)</p><p><b>  {</b></p>&l

41、t;p>  fscanf(fp,"%d %s",&bl[i].stop[j].num,bl[i].stop[j].name);</p><p><b>  }</b></p><p>  }printf("\n");</p><p>  fclose(fp);</p><

42、p><b>  }</b></p><p>  void Write()//在窗口中顯示</p><p><b>  {</b></p><p><b>  int i,j;</b></p><p>  BL bl[50];</p><p><

43、;b>  FILE *fp;</b></p><p>  fp=fopen("busline.txt","r+");</p><p>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("不能打開此文件

44、!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>  fscanf(fp,

45、"%d",&bl[i].busnum);</p><p>  printf("\t%d",bl[i].busnum);</p><p>  printf("\n");</p><p>  fscanf(fp,"%d",&z[i]);</p><p>

46、;  for(j=0;j<z[i];j++)</p><p><b>  {</b></p><p>  fscanf(fp,"%d %s",&bl[i].stop[j].num,bl[i].stop[j].name);</p><p>  printf("%d %s",bl[i].stop

47、[j].num,bl[i].stop[j].name);</p><p>  }printf("\n");</p><p>  }fclose(fp);</p><p><b>  }</b></p><p>  void Add()//增加信息</p><p><b&g

48、t;  {</b></p><p>  FILE *fp;</p><p>  int i,j,n,k,t;</p><p><b>  int op;</b></p><p>  printf("您要添加公交路線還是公交站點?\n");</p><p>  p

49、uts("1--添加公交路線 2--添加公交站點\n");</p><p>  printf("請選擇:");</p><p>  scanf("%d",&op);</p><p>  switch(op)</p><p><b>  { </b>

50、</p><p><b>  case 1:</b></p><p>  printf("輸入你要添加的公交路線信息:\n");</p><p>  printf("車牌號:");</p><p>  scanf("%d",&bl[m].busnum);

51、</p><p>  printf("你要增加幾個站臺");</p><p>  scanf("%d",&z[m]);</p><p>  printf("站臺:");</p><p>  for(j=0;j<z[m];j++)</p><p>

52、<b>  {</b></p><p>  scanf("%s",bl[m].stop[j].name);</p><p>  bl[m].stop[j].num=j+1;</p><p><b>  }</b></p><p>  printf("%d",b

53、l[m].busnum);printf("\n");</p><p>  for(j=0;j<z[m];j++)</p><p><b>  {</b></p><p>  printf("%d %s",bl[m].stop[j].num,bl[m].stop[j].name);</p>

54、<p><b>  }</b></p><p>  printf("\n"); </p><p>  fp=fopen("busline.txt","w+");</p><p>  if(fp==NULL)</p><p><b>  {

55、</b></p><p>  printf("不能打開此文件!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(t=0;t<m+1;t++)</p><p>

56、<b>  {</b></p><p>  fprintf(fp,"%d\t",bl[t].busnum);</p><p>  fprintf(fp,"\n");</p><p>  fprintf(fp,"%d",z[t]);</p><p>  for(j

57、=0;j<z[t];j++)</p><p><b>  { </b></p><p>  fprintf(fp," %d %s",j+1,bl[t].stop[j].name); </p><p><b>  }</b></p><p>  fprintf(fp,&q

58、uot;\n"); </p><p>  }fclose(fp);</p><p><b>  m=m+1;</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  fp

59、=fopen("busline.txt","r+");</p><p>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("不能打開此文件!");</p><p><b>  exit(0);<

60、;/b></p><p><b>  }</b></p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>  fscanf(fp,"%d",&bl[i].busnum);</p><

61、;p>  fscanf(fp,"%d",&z[i]);</p><p>  for(j=0;j<z[i];j++)</p><p><b>  {</b></p><p>  fscanf(fp,"%d %s",&bl[i].stop[j].num,bl[i].stop[j].

62、name);</p><p><b>  }</b></p><p>  }fclose(fp);</p><p>  printf("你要增加哪一路公交車的站臺");</p><p>  while(i!=1)</p><p><b>  {</b>&

63、lt;/p><p>  scanf("%d",&k);</p><p>  for(t=0;t<m;t++)</p><p><b>  {</b></p><p>  if(k==bl[t].busnum)</p><p>  {i=1;break;}</p&

64、gt;<p><b>  }</b></p><p><b>  if(i!=1)</b></p><p>  printf("輸入錯誤,請重新輸入:");</p><p><b>  }</b></p><p>  printf("

65、你要增加幾站");</p><p>  scanf("%d",&n);</p><p>  printf("輸入站臺");</p><p>  for(j=z[t];j<n+z[t];j++)</p><p><b>  {</b></p>&

66、lt;p>  scanf("%s",bl[t].stop[j].name);</p><p>  bl[t].stop[j].num=j+1;</p><p><b>  }</b></p><p>  z[t]=n+z[t];</p><p>  printf("%d",z

67、[t]);</p><p>  printf("%d",bl[t].busnum);printf("\n");</p><p>  for(j=0;j<z[t];j++)</p><p><b>  {</b></p><p>  printf("%d %s&quo

68、t;,bl[t].stop[j].num,bl[t].stop[j].name);</p><p><b>  }</b></p><p>  printf("\n"); </p><p>  fp=fopen("busline.txt","w+");</p><p

69、>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("不能打開此文件!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p>&l

70、t;p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p>  fprintf(fp,"%d\t",bl[i].busnum);</p><p>  fprintf(fp,"\n");</p><p>  fprintf(fp,

71、"%d",z[i]);</p><p>  for(j=0;j<z[i];j++)</p><p><b>  { </b></p><p>  fprintf(fp," %d %s",j+1,bl[i].stop[j].name); </p><p><b>

72、  }</b></p><p>  fprintf(fp,"\n"); </p><p>  }fclose(fp);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>

73、  }</b></p><p>  void Cut()//刪除信息</p><p><b>  {</b></p><p>  int i=0,k,j,n,t;</p><p>  int a[15];</p><p><b>  int op;</b><

74、/p><p>  char b[15]={"已被刪"};</p><p><b>  FILE *fp;</b></p><p>  printf("您是要刪除公交路線還是線路站點:\n");</p><p>  printf("1---刪除公交路線 2---刪除站點

75、\n");</p><p>  printf("你的選擇:");</p><p>  scanf("%d",&op);</p><p>  switch(op)</p><p><b>  {</b></p><p><b>  

76、case 1:</b></p><p>  printf("輸入你要刪除的公交路線:\n");</p><p>  while(i!=1)</p><p><b>  {</b></p><p>  scanf("%d",&k);</p><

77、p>  for(t=0;t<m;t++)</p><p><b>  {</b></p><p>  if(k==bl[t].busnum)</p><p>  {i=1;break;}</p><p><b>  }</b></p><p><b> 

78、 if(i!=1)</b></p><p>  printf("輸入錯誤,請重新輸入:");</p><p><b>  }</b></p><p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p&

79、gt;<b>  if(i==t)</b></p><p>  printf("\n");</p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("%d",bl[i].bu

80、snum);</p><p>  printf("\n");</p><p>  for(j=0;j<12;j++)</p><p><b>  {</b></p><p>  printf("%d %s",bl[i].stop[j].num,bl[i].stop[j].na

81、me);</p><p>  }printf("\n");</p><p><b>  }</b></p><p><b>  }</b></p><p>  fp=fopen("busline.txt","w+");</p>

82、<p>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("不能打開此文件!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p&g

83、t;<p>  for(i=0;i<m;i++)</p><p><b>  {</b></p><p><b>  if(i==t)</b></p><p>  fprintf(fp,"");</p><p><b>  else</b&g

84、t;</p><p><b>  {</b></p><p>  fprintf(fp," %d\t",bl[i].busnum);</p><p>  fprintf(fp,"\n");</p><p>  fprintf(fp,"%d",z[i]);<

85、/p><p>  for(j=0;j<z[i];j++)</p><p><b>  { </b></p><p>  fprintf(fp," %d %s",j+1,bl[i].stop[j].name); </p><p><b>  }</b></p>

86、<p><b>  } </b></p><p>  }fclose(fp);</p><p><b>  m=m-1;</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p&

87、gt;<p>  printf("輸入你要刪除的哪路公交路線上的站點:\n");</p><p>  while(i!=1)</p><p><b>  {</b></p><p>  scanf("%d",&k);</p><p>  for(t=0;t&l

88、t;m;t++)</p><p><b>  {</b></p><p>  if(k==bl[t].busnum)</p><p>  {i=1;break;}</p><p><b>  }</b></p><p><b>  if(i!=1)</b>

89、;</p><p>  printf("輸入錯誤,請重新輸入:");</p><p><b>  }</b></p><p>  printf("你要刪除幾個站臺"); </p><p>  scanf("%d",&n);</p><

90、p>  printf("輸入要刪除第幾站");</p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  scanf("%d",&a[i]);</p><p>  for(j=0;j<12;j++)

91、</p><p>  if(bl[t].stop[j].num==a[i])</p><p>  strcpy(bl[t].stop[j].name,b);}</p><p>  for(i=0;i<m-1;i++)</p><p><b>  {</b></p><p>  printf(

92、"\n%d",bl[i].busnum);</p><p>  printf("\n");</p><p>  for(j=0;j<z[i];j++)</p><p><b>  {</b></p><p>  printf("%d %s",bl[i].s

93、top[j].num,bl[i].stop[j].name);</p><p><b>  }</b></p><p>  }printf("\n");</p><p><b>  break;</b></p><p><b>  }</b></p&g

94、t;<p><b>  }</b></p><p>  void Revamp()//修改信息</p><p><b>  {</b></p><p>  int i=0,j,t;</p><p>  int k,n,b[11];</p><p>  Sta s

95、ta[20];</p><p><b>  FILE *fp;</b></p><p>  printf("你要修改哪一路公交車");</p><p>  scanf("%d",&k);</p><p>  for(t=0;t<m;t++)</p>&l

96、t;p><b>  {</b></p><p>  if(k==bl[t].busnum)</p><p><b>  {</b></p><p><b>  i=1;</b></p><p><b>  break;</b></p>

97、<p><b>  }</b></p><p><b>  }</b></p><p>  printf("輸入你要修改幾個站臺的信息");</p><p>  scanf("%d",&n);</p><p>  printf("輸

98、入第幾站和站名");</p><p>  for(j=0;j<n;j++)</p><p>  scanf("%d %s",&b[j],sta[j].a);</p><p>  for(i=0;i<12;i++)</p><p><b>  {</b></p>

99、<p>  for(j=0;j<n;j++)</p><p><b>  {</b></p><p>  if(b[j]==bl[t].stop[i].num)</p><p><b>  {</b></p><p>  strcpy(bl[t].stop[i].name,sta

100、[j].a);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=0;i<m;i++)</p><p><b>  {</b&g

101、t;</p><p>  printf("%d",bl[i].busnum);</p><p>  printf("\n");</p><p>  for(j=0;j<z[t];j++)</p><p><b>  {</b></p><p>  pr

102、intf("%d %s",bl[i].stop[j].num,bl[i].stop[j].name);</p><p><b>  }</b></p><p><b>  }</b></p><p>  fp=fopen("busline.txt","w+");&

103、lt;/p><p>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("不能打開此文件!");</p><p><b>  exit(0);</b></p><p><b>  }</b&g

104、t;</p><p>  for(t=0;t<m;t++)</p><p><b>  {</b></p><p>  fprintf(fp,"%d\t",bl[t].busnum);</p><p>  fprintf(fp,"\n");</p><p&

105、gt;  fprintf(fp,"%d",z[t]);</p><p>  for(j=0;j<z[t];j++)</p><p><b>  { </b></p><p>  fprintf(fp," %d %s",j+1,bl[t].stop[j].name); </p>&l

106、t;p><b>  }</b></p><p>  fprintf(fp,"\n"); </p><p>  }fclose(fp);</p><p><b>  }</b></p><p>  void Search()//查詢信息</p><p>

107、;<b>  {</b></p><p>  int i,j,l=1,k=0;</p><p>  int t,t1,t2;</p><p>  char Q[20],Z[20];</p><p>  printf("請輸入要查詢的車牌號");</p><p>  while(

108、k!=1)</p><p><b>  {</b></p><p>  scanf("%d",&k);</p><p>  for(t=0;t<=m;t++)</p><p><b>  {</b></p><p>  if(k==bl[t

109、].busnum)</p><p><b>  {</b></p><p>  k=1;break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(k!=1)</b&g

110、t;</p><p>  printf("輸入錯誤,請重新輸入:");</p><p><b>  }</b></p><p>  while(k!=0||l!=0)</p><p><b>  {</b></p><p>  printf("請

111、輸入起始站:");</p><p>  scanf("%s",Q);</p><p>  printf("請輸入終點站:");</p><p>  scanf("%s",Z);</p><p>  for(i=0;i<z[t];i++)</p><

112、p><b>  {</b></p><p>  if(strcmp(Q,bl[t].stop[i].name)==0)</p><p><b>  {</b></p><p>  t1=bl[t].stop[i].num-1;</p><p><b>  k=0;</b>

113、</p><p><b>  }</b></p><p>  if(strcmp(Z,bl[t].stop[i].name)==0)</p><p><b>  {</b></p><p>  t2=bl[t].stop[i].num-1;</p><p><b>

114、  l=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(k!=0||l!=0)</p><p>  printf("輸入錯誤,請重新輸入!\n");</p><p>&l

115、t;b>  }</b></p><p>  j=t2-t1+1;</p><p>  printf("%d",j);</p><p>  printf("從%s到%s共有%d站",bl[t].stop[t1].name,bl[t].stop[t2].name,j);</p><p> 

116、 printf("中間站臺是\n");j=1;</p><p>  for(i=t1;i<=t2;i++)</p><p><b>  {</b></p><p>  printf("%d %s",j,bl[t].stop[i].name);</p><p><b>

117、;  j++;</b></p><p><b>  }</b></p><p>  printf("\n");</p><p><b>  } </b></p><p>  void Save()//保存信息</p><p><b>

118、  {</b></p><p><b>  int j,t;</b></p><p><b>  FILE *fp;</b></p><p>  fp=fopen("busline2.txt","w+");</p><p>  if(fp==NU

119、LL)</p><p><b>  {</b></p><p>  printf("不能打開此文件!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  for(t=

120、0;t<m;t++)</p><p><b>  {</b></p><p>  fprintf(fp,"%d\t",bl[t].busnum);</p><p>  fprintf(fp,"\n"); </p><p>  for(j=0;j<z[t];j++)<

121、;/p><p><b>  { </b></p><p>  fprintf(fp,"%d %s--",j+1,bl[t].stop[j].name); </p><p><b>  }</b></p><p>  fprintf(fp,"\n"); <

122、/p><p>  }fclose(fp);</p><p><b>  }</b></p><p>  void main()//***************主函數(shù)</p><p><b>  {</b></p><p><b>  int op;</b>

123、</p><p><b>  Read();</b></p><p><b>  while(12)</b></p><p><b>  {</b></p><p><b>  MENU();</b></p><p>  scanf

124、("%d",&op);</p><p>  getchar();</p><p>  system("cls");</p><p>  switch(op)</p><p><b>  {</b></p><p>  case 1:Write();

125、break;</p><p>  case 2: Add();break;</p><p>  case 3: Cut();break;</p><p>  case 4: Revamp();break;</p><p>  case 5:Search();break;</p><p>  case 6:Save();

126、break;</p><p>  case 7:printf("謝謝使用\n");exit(0);break;</p><p>  default:printf("輸入錯誤,請重新輸入!\n");</p><p><b>  }</b></p><p><b>  }&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論