c語(yǔ)言課程設(shè)計(jì)報(bào)告--公交路線管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  計(jì)算機(jī)科學(xué)與技術(shù)系</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  2011 ~2012 學(xué)年第二學(xué)期</p><p>  2012 年6 月</p><p><b>  一、設(shè)計(jì)思想</b></p&g

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

21、郢 4 晨風(fēng)苑 5 bcd 6 江淮 7 南七里 8 中國(guó)科技大學(xué) 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 科學(xué)大道 6 十里廟 7 懷寧路 8 三十四中 9 牙膏廠 10 青陽(yáng)路 11 國(guó)購(gòu)廣場(chǎng) 12 安農(nóng) 13 逍遙津 14 大東門</p><p><b>  30</b></p><

23、;p>  16 1 客車廠 2 三十二中 3 公交三公司 4 衛(wèi)崗 5 儀表廠 6 東陳崗 7 屯溪路 8 大鐘樓 9 四牌樓 10 市府廣場(chǎng) 11 百花井 12 雙崗 13 安農(nóng)大 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、本程序的運(yùn)行結(jié)果如下所示:</p><p><b>  四、課程設(shè)計(jì)小結(jié)</b></p><p>  通過(guò)這次實(shí)訓(xùn),增加了我學(xué)習(xí)軟件技術(shù)的興趣,雖然還不明確軟件技術(shù)包

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

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

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

28、) 》北京:清華大學(xué)出版社;</p><p>  [3] 洪國(guó)勝 等編著 《C++ Builder程序設(shè)計(jì)輕松上手》北京:清華大學(xué)出版社;</p><p>  [4] 嚴(yán)蔚敏等 《數(shù)據(jù)結(jié)構(gòu)(c語(yǔ)言版)》 北京:清華大學(xué)出版社,1997年4月第1版;</p><p>  [5] 寧正元《數(shù)據(jù)結(jié)構(gòu)(c語(yǔ)言)》 南京:東南大學(xué)出版社。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、 //站序號(hào)</p><p>  char name[20];//站名稱</p><p><b>  }Stop; </b></p><p>  typedef struct busline //公交路線</p><p><b>  {</b></p><p>  int

32、 busnum; //公交車號(hào)碼</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];//站臺(tái)數(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請(qǐng)選擇...\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("您要添加公交路線還是公交站點(diǎn)?\n");</p><p>  p

49、uts("1--添加公交路線 2--添加公交站點(diǎn)\n");</p><p>  printf("請(qǐng)選擇:");</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("車牌號(hào):");</p><p>  scanf("%d",&bl[m].busnum);

51、</p><p>  printf("你要增加幾個(gè)站臺(tái)");</p><p>  scanf("%d",&z[m]);</p><p>  printf("站臺(tái):");</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("你要增加哪一路公交車的站臺(tái)");</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("輸入錯(cuò)誤,請(qǐng)重新輸入:");</p><p><b>  }</b></p><p>  printf("

65、你要增加幾站");</p><p>  scanf("%d",&n);</p><p>  printf("輸入站臺(tái)");</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("您是要?jiǎng)h除公交路線還是線路站點(diǎn):\n");</p><p>  printf("1---刪除公交路線 2---刪除站點(diǎn)

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("輸入你要?jiǎng)h除的公交路線:\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("輸入錯(cuò)誤,請(qǐng)重新輸入:");</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("輸入你要?jiǎng)h除的哪路公交路線上的站點(diǎn):\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("輸入錯(cuò)誤,請(qǐng)重新輸入:");</p><p><b>  }</b></p><p>  printf("你要?jiǎng)h除幾個(gè)站臺(tái)"); </p><p>  scanf("%d",&n);</p><

90、p>  printf("輸入要?jiǎng)h除第幾站");</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("輸入你要修改幾個(gè)站臺(tái)的信息");</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("請(qǐng)輸入要查詢的車牌號(hào)");</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("輸入錯(cuò)誤,請(qǐng)重新輸入:");</p><p><b>  }</b></p><p>  while(k!=0||l!=0)</p><p><b>  {</b></p><p>  printf("請(qǐng)

111、輸入起始站:");</p><p>  scanf("%s",Q);</p><p>  printf("請(qǐng)輸入終點(diǎn)站:");</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("輸入錯(cuò)誤,請(qǐng)重新輸入!\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("中間站臺(tái)是\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("輸入錯(cuò)誤,請(qǐng)重新輸入!\n");</p><p><b>  }</b></p><p><b>  }&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論