版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)使用起來也很方便。用戶只需根據(jù)顯示的提示信息進(jìn)行選擇和輸入就可以實(shí)現(xiàn)你要求的功能查詢到你需要的信息。</p><p&
3、gt; 本系統(tǒng)具有顯示路線信息、添加線路信息、刪除線路信息、修改線路信息、查詢信息的功能。用戶們可以根據(jù)自己所需要的情況進(jìn)行相應(yīng)的功能選擇,得到自己所需要的信息。其具體功能簡(jiǎn)單描述如下:</p><p> ?。?)顯示路線信息:即將路線信息顯示到屏幕中,供用戶查看。該功能比較簡(jiǎn)單,在這里不具體說明。</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)單地說,就是用戶先選擇你要查詢的公交路線號(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)名。寫無返回值的主函數(shù)void main()和子函數(shù)void MENU()菜單函數(shù)對(duì)系統(tǒng)的功能進(jìn)行顯示,每次用戶選擇某一功能時(shí)都可以看到路線的大致信息,以便于用戶更準(zhǔn)確的選擇功能。其中利用switch條件分支語句進(jìn)行子函數(shù)功能的選擇和調(diào)用。并且使用while循環(huán)語句進(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)建無返回值的主函數(shù),主函數(shù)用來實(shí)現(xiàn)對(duì)子模塊的調(diào)用功能,用while循環(huán)語句來控制循環(huán)次數(shù),用戶可以根據(jù)自己的需求選擇任何時(shí)候退出系統(tǒng)。對(duì)子模塊的調(diào)用主要使用switch開關(guān)控制語句,根據(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ù),從而才能從文件中正確讀取出來,若文件打開不成功則會(huì)顯示“不能打開此文件!”。讀取結(jié)束后必須要關(guān)閉文件,即fclose(fp),這樣就完成了從文件中讀取信息的功能。 </p><p> 五:在窗口中顯示路線信息</p><
13、;p> 該功能以子函數(shù)的形式給出,無返回值。向窗口中讀入線路信息。</p><p><b> 六:增加線路信息。</b></p><p> 這個(gè)模塊,包括了增加線路和增加站臺(tái)數(shù)兩種情況。如果你選擇增加公交路線,你需要輸入新的公交車的車牌號(hào),和新公交車經(jīng)過的站臺(tái)。如果你增加站臺(tái),你要輸入正確的公交車的車牌號(hào),然后你就可以增加站臺(tái)了。該子函數(shù)雖然沒有用到鏈表,
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ù)雖然沒有
15、用到鏈表,但也是有著嚴(yán)謹(jǐn)?shù)慕Y(jié)構(gòu)。功能齊全。實(shí)現(xiàn)了對(duì)公交路線信息的增加。</p><p><b> 八:修改線路信息</b></p><p> 同上分析,該子函數(shù)也是一個(gè)無返回值的函數(shù),修改時(shí),先確定你要修改哪條路線,,在重新輸入新的信息即可,新輸入的信息會(huì)覆蓋原有信息,所以可以實(shí)現(xiàn)對(duì)線路進(jìn)行修改。</p><p><b> 九:
16、查詢路線信息</b></p><p> 該子函數(shù)是一個(gè)無返回值的函數(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)之后,或許要將修改過后的信息保存起來,此時(shí)用戶就可以自己選擇是否要將信息保存起
17、來,保存的位置是本系統(tǒng)實(shí)現(xiàn)設(shè)定好的,保存之后的信息在busline2.txt下,也方便用戶的查看。</p><p><b> 3、實(shí)現(xiàn)注釋:</b></p><p> 本系統(tǒng)對(duì)于菜單顯示表上的功能基本上都能實(shí)現(xiàn),但是不是很完善,很多地方我還沒有考慮到,或許是考慮的不夠周全,但是有些不足的地方,是我的能力所不能達(dá)到的,還希望老師能夠諒解,不過等以后學(xué)過新的知識(shí)用新的
18、方法或許就能將系統(tǒng)做進(jìn)一步的改進(jìn)。</p><p> 4、程序的缺點(diǎn):我覺得本系統(tǒng)很不完善,很多功能雖然能實(shí)現(xiàn),特別是鏈表沒有太多的應(yīng)用,但是實(shí)現(xiàn)的不夠完美,很多細(xì)節(jié)我都沒有考慮到,比如查詢路線時(shí),不能大致故略出起點(diǎn)站和終點(diǎn)站需要的時(shí)間;修改路線信息時(shí),重新輸入該條路線的信息時(shí),路線上站點(diǎn)的個(gè)數(shù)不能改變,要改變的話還得選擇增加或刪除功能;還有就是用戶將改動(dòng)過后的信息保存到文件中后,以后該文件中的數(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 中國科技大學(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 青陽路 11 國購廣場(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> 通過這次實(shí)訓(xùn),增加了我學(xué)習(xí)軟件技術(shù)的興趣,雖然還不明確軟件技術(shù)包
25、含的具體內(nèi)容,但從C語言這門課程開始,已發(fā)現(xiàn)程序設(shè)計(jì)的樂趣,在學(xué)習(xí)C語言的過程中也學(xué)到了許多計(jì)算機(jī)應(yīng)用基礎(chǔ)知識(shí),對(duì)計(jì)算機(jī)的機(jī)體也有了一個(gè)大體的了解。</p><p> 這次實(shí)訓(xùn)是老師給了題目,經(jīng)過自己的努力,實(shí)現(xiàn)要求。先做簡(jiǎn)單的小程序輸出和輸入,一步步的再做其它要求,在實(shí)際操作過程中犯的一些錯(cuò)誤還會(huì)有意外的收獲,感覺實(shí)訓(xùn)很有意思。在具體操作中對(duì)這學(xué)期所學(xué)的C語言的理論知識(shí)得到鞏固,達(dá)到實(shí)訓(xùn)的基本目的,也發(fā)現(xiàn)自己
26、的不足之出,在以后的上機(jī)中應(yīng)更加注意,同時(shí)體會(huì)到C語言具有的語句簡(jiǎn)潔,使用靈活,執(zhí)行效率高等特點(diǎn)。發(fā)現(xiàn)上機(jī)實(shí)訓(xùn)的重要作用,特別是對(duì)數(shù)組和循環(huán)有了深刻的理解。 </p><p> 通過實(shí)際操作,學(xué)會(huì) C語言程序編程的基本步驟、基本方法,開發(fā)了自己的邏輯思維能力,培養(yǎng)了分析問題、解決問題的能力。深刻體會(huì)到“沒有做不到的,只有想不到的”,“團(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ú)立思考問題的能力,提高實(shí)際操作水平,感謝老師的指導(dǎo)。</p><p><b> 五、參考文獻(xiàn)</b></p><p> [1] 嚴(yán)蔚敏等 《數(shù)據(jù)結(jié)構(gòu)(c語言版)》 北京:清華大學(xué)出版社,1997年4月第1版;</p><p> [2] 譚浩強(qiáng)編著《C程序設(shè)計(jì)(第3版
28、) 》北京:清華大學(xué)出版社;</p><p> [3] 洪國勝 等編著 《C++ Builder程序設(shè)計(jì)輕松上手》北京:清華大學(xué)出版社;</p><p> [4] 嚴(yán)蔚敏等 《數(shù)據(jù)結(jié)構(gòu)(c語言版)》 北京:清華大學(xué)出版社,1997年4月第1版;</p><p> [5] 寧正元《數(shù)據(jù)結(jié)構(gòu)(c語言)》 南京:東南大學(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公交路線查詢課程設(shè)計(jì)
- 公交路線
- 滁州公交路線
- c語言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c語言課程設(shè)計(jì)報(bào)告--車票管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告--成績(jī)管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告(宿舍管理系統(tǒng))
- c語言課程設(shè)計(jì)報(bào)告---銷售管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告-物資管理系統(tǒng)
- 車票管理系統(tǒng)c語言課程設(shè)計(jì)報(bào)告
- 公交路線查詢系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)論文(設(shè)計(jì))公交路線查詢系統(tǒng)
- 畢業(yè)論文(設(shè)計(jì))公交路線查詢系統(tǒng)
- c語言課程設(shè)計(jì)---職工管理系統(tǒng)設(shè)計(jì)報(bào)告
- 舟山公交路線全集
- 合肥公交路線總覽
- 順義公交路線大全
- c語言課程信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語言課程設(shè)計(jì)報(bào)告課程信息管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告~圖書管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論