版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)選題名稱:系(院):連云港市景點(diǎn)導(dǎo)游咨詢計(jì)算機(jī)工程學(xué)院設(shè)計(jì)時(shí)間:2012。 12。 242013。 1.4設(shè)計(jì)地點(diǎn):軟件工程實(shí)驗(yàn)室、教室成績:指導(dǎo)教師評(píng)語:簽名: 1 .課程設(shè)計(jì)目的1、訓(xùn)練學(xué)生靈活應(yīng)用所學(xué)數(shù)據(jù)結(jié)構(gòu)知識(shí),獨(dú)立完成問題分析,結(jié)合數(shù)據(jù)結(jié)構(gòu)理論知識(shí),編寫程序求解指定問題2. 初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測試等基本方法和技能;3. 提高綜合運(yùn)用所學(xué)的理論知識(shí)和方法獨(dú)立分析和解決問題的能力;4. 訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),鞏固、深化學(xué)生的理論知識(shí),提高編 程水平,并在此過程中培養(yǎng)他們嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度和良好的
2、工作作風(fēng)。2. 課程設(shè)計(jì)任務(wù)與要求:任務(wù)根據(jù)教材數(shù)據(jù)結(jié)構(gòu)一C語言描述(耿國華主編)和參考書數(shù)據(jù)結(jié)構(gòu)題集(C語言版)(嚴(yán)蔚敏、吳偉民主編)選擇課程設(shè)計(jì)題目,要求通過設(shè)計(jì),在數(shù)據(jù)結(jié)構(gòu)的邏輯特性和物理表示、數(shù)據(jù)結(jié)構(gòu) 的選擇應(yīng)用、算法的設(shè)計(jì)及其實(shí)現(xiàn)等方面加深對(duì)課程基本內(nèi)容的理解和綜合運(yùn)用。設(shè)計(jì)題目從任務(wù)書所列選題表中選取,每班每題不得超過2人.學(xué)生自選課題學(xué)生原則上可以結(jié)合個(gè)人愛好自選課題,要求課題有一定的深度與難度,有一定的算法復(fù)雜性,能夠鞏固數(shù)據(jù)結(jié)構(gòu)課程所學(xué)的知識(shí)。學(xué)生自選課題需在18周前報(bào)課程設(shè)計(jì)指導(dǎo)教師批準(zhǔn)方可生效要求:1、在處理每個(gè)題目時(shí),要求從分析題目的需求入手,按設(shè)計(jì)抽象數(shù)據(jù)類型、構(gòu)思算
3、法、通過設(shè)計(jì)實(shí)現(xiàn)抽象數(shù)據(jù)類型、編制上機(jī)程序和上機(jī)調(diào)試等若干步驟完成題目,最終寫出完整的分析報(bào)告。前期準(zhǔn)備工作完備與否直接影響到后序上機(jī)調(diào)試工作的效率在程序設(shè)計(jì)階段應(yīng)盡量利用已有的標(biāo)準(zhǔn)函數(shù),加大代碼的重用率。2、.設(shè)計(jì)的題目要求達(dá)到一定工作量 (300行以上代碼),并具有一定的深度和難度。3、程序設(shè)計(jì)語言推薦使用 C/C+,程序書寫規(guī)范,源程序需加必要的注釋;4、 每位同學(xué)需提交可獨(dú)立運(yùn)行的程序;5、 每位同學(xué)需獨(dú)立提交設(shè)計(jì)報(bào)告書(每人一份),要求編排格式統(tǒng)一、規(guī)范、內(nèi)容充實(shí),不少 于10頁(代碼不算);6、課程設(shè)計(jì)實(shí)踐作為培養(yǎng)學(xué)生動(dòng)手能力的一種手段,單獨(dú)考核3. 課程設(shè)計(jì)說明書*” awe y
4、 pyTF !a we*ey !>t!IF b!i awe*e! awe*eb!i awe*e w riiHiiTRHa b!ia vb*fb!ia ve*eb!ia ve*ef b!is»hf b!ia vb一需求分析連云港作為一個(gè)著名的旅游城市,每年都有大量的國內(nèi)外游客來港城旅游,大多數(shù)外地游客對(duì)連云港的旅游景點(diǎn)的相關(guān)信息不是非常了解,所以我們可以為他們?cè)O(shè)計(jì)一個(gè)方便在連云港外出旅游的咨詢程序,即連云港市景點(diǎn)導(dǎo)游咨詢程序。連云港市導(dǎo)游咨詢程序需要把連云港市的主要景點(diǎn),都包括在一個(gè)平面圖內(nèi)。(1) 以圖中各頂點(diǎn)存放連云港的各景點(diǎn)名稱,代號(hào),簡介等相關(guān)信息(2) 程序中,以各個(gè)旅
5、游景點(diǎn)名稱為圖的頂點(diǎn),各個(gè)頂點(diǎn)的信息是景點(diǎn)的簡要描述,權(quán)值就是任意 兩個(gè)景點(diǎn)間的路徑長度。(3) 以邊存放路徑及路徑長度等相關(guān)信息,游客可根據(jù)圖所提供的景點(diǎn)來查詢各個(gè)景點(diǎn)的相關(guān)信息 及各景點(diǎn)的路徑查詢。(4) 提供兩個(gè)景點(diǎn)間的所有路徑并提示最短路徑,為游客的旅游帶來方便,游客可根據(jù)實(shí)際情況選 擇最佳的游覽路線。二概要設(shè)計(jì)1、抽象數(shù)據(jù)類型圖的定義如下:ADT Graph數(shù)據(jù)對(duì)象V : V是具有相同特性的數(shù)據(jù)元素的集合,稱為頂點(diǎn)集。數(shù)據(jù)關(guān)系R:R=VR VR= (v, w) |v, w V, (v, w)表示v和w之間存在路徑基本操作P:path(MGraph g , int i,int j,in
6、t k)初始條件:要查詢的起點(diǎn)i與終點(diǎn)j , k初始值為0操作結(jié)果:確定路徑上第k+1個(gè)頂點(diǎn)的序號(hào),找到從vi到vj的所有路徑disppath ( MGraph g,int i,int j)初始條件:定義一個(gè)圖與起點(diǎn)i終點(diǎn)j操作結(jié)果:初始化訪問標(biāo)志與路徑條數(shù),并調(diào)用path ()函數(shù)ppath (MGraph g,int path1 , int i,int v0)初始條件:定義一個(gè)圖,path1i :存放頂點(diǎn)i的當(dāng)前最短路徑上該點(diǎn)的前趨頂點(diǎn),i為終點(diǎn),v0為起占八、操作結(jié)果:輸出最短路徑dispath ( MGraph g,i nt dist , i nt path1 ,int s , int
7、 n,i nt v0 , int i )初始條件:定義一個(gè)圖,用disti 存放頂點(diǎn)i的當(dāng)前最短路徑長度,path1 : i存放頂點(diǎn)i的當(dāng)前 最短路徑上該點(diǎn)的前趨頂點(diǎn),n為景點(diǎn)個(gè)數(shù),v0與i分別為起點(diǎn)與終點(diǎn)操作結(jié)果:由path1計(jì)算出從v0到i的最短路徑Dijkstra ( MGraph g,int v0,int p)初始條件:定義圖與起點(diǎn)與終點(diǎn)操作結(jié)果:采用迪杰斯特拉算法求從頂點(diǎn)V0到頂點(diǎn)p的最短路徑Search name( MGraph g)初始條件:定義一個(gè)圖操作結(jié)果:查詢景點(diǎn)的信息Searchpath1(MGraph g )初始條件:定義一個(gè)圖操作結(jié)果:查詢兩個(gè)景點(diǎn)間的所有路徑Sear
8、chpath2(MGraph g )初始條件:定義一個(gè)圖操作結(jié)果:查詢兩個(gè)景點(diǎn)間的最短路徑 ADT Graph2、系統(tǒng)中子程序及功能要求: path (MGraph g,int i,int j , int k):確定路徑上第 k+1個(gè)頂點(diǎn)的序號(hào),k初始值為0 disppath(MGraph g , int i , int j):初始化訪問標(biāo)志與路徑條數(shù),并調(diào)用path ()函數(shù) ppath(MGraph g , int path1 , int i , int v0 ):輸出最短路徑 dispath ( MGraph g,int dist,int path1 ,int s , int n , i
9、nt v0 , int i ):由 path1 計(jì)算從 v0 到 i的最短路徑 Dijkstra(MGraph g , int v0,int p):采用迪杰斯特拉算法求從頂點(diǎn)v0到頂點(diǎn)p的最短路徑 Search name (MGraph g):查詢景點(diǎn)的信息 Searchpath1(MGraph g):查詢兩個(gè)景點(diǎn)間的所有路徑 Searchpath2(MGraph g):查詢兩個(gè)景點(diǎn)間的最短路徑 Searchpath3(MGraph g):添加動(dòng)態(tài)景點(diǎn) 3、各程序模塊之間的調(diào)用關(guān)系函數(shù)的調(diào)用關(guān)系圖mainSearch name Searchpath1Searchpath2 Searchpath
10、2 disppathDijkstrapathdispathIpathppath;Ppath主函數(shù)調(diào)用可調(diào)用可調(diào)用 可調(diào)用可調(diào)用可調(diào)用 可調(diào)用可調(diào)用三詳細(xì)設(shè)計(jì)頂點(diǎn)、邊和圖的類型:typedef structint num ; / *頂點(diǎn)編號(hào)* /char nameMAXSIZE;/*頂點(diǎn)名稱* /char discriptionMAXLEN: ;/ *頂點(diǎn)信息描述* /VertexType ;typedef structint edgesMAXV : MAXV;int vexnum , arcnum;VertexType vexs MAXV; MGraph;int visited: MAXV ;
11、in t pMAXV;創(chuàng)建連云港市景點(diǎn)地圖:int i , j;int b11: =1 , 2, 3, 4,5 , 6,7,8 , 9,10,11;char *c11: =/ *各個(gè)景點(diǎn)名稱* /;char *d : 11= /*字符串指針數(shù)組,用來給每個(gè)頂點(diǎn)的簡介信息進(jìn)行賦值*/ ;MGraph g; /*創(chuàng)建一個(gè)無向網(wǎng)* /int A 11: 11 : = / *景點(diǎn)的相關(guān)簡介進(jìn)行賦值*/ ;g。vexnum=頂點(diǎn)個(gè)數(shù);g。玄切口口=頂點(diǎn)邊數(shù);/ *建立無向網(wǎng)的鄰接矩陣 */for(i=0 ; i圖的頂點(diǎn)個(gè)數(shù);i+ )/*給每個(gè)頂點(diǎn)一個(gè)編號(hào)*/ *通過字符串復(fù)制函數(shù)給每個(gè)頂點(diǎn)一個(gè)名稱*/
12、*通過字符串復(fù)制函數(shù)給每個(gè)頂點(diǎn)加上信息,即作為景點(diǎn)的簡介信息*/查詢景點(diǎn)的信息:int i ;char s;while (1)/ *可提供循環(huán)查詢,當(dāng)輸入為N或'n'時(shí),結(jié)束循環(huán)*/printf( ” ttt請(qǐng)輸入你要查詢的景點(diǎn):”);seanf (” d",& i );for(int j=0; j 圖的頂點(diǎn)個(gè)數(shù);j+)/ *輸出信息*/printf(”繼續(xù)查詢?(y 或 n):");scanf(” % s”,& s);if(s= ' N' | | s='n')break ;查詢景點(diǎn)間的游覽路徑:void Se
13、archpath1 ( MGraph g)int i ,j;char s ;while(1 )/*可提供循環(huán)查詢,當(dāng)輸入為'N '或n'時(shí),結(jié)束循環(huán)*/ *輸入起點(diǎn)與終點(diǎn)*/;disppath ( g,i , j ) ;/ *調(diào)用disppath函數(shù),用來輸出兩個(gè)景點(diǎn)間的所有路徑*/printf(”繼續(xù)查詢? ( y 或 n):");scanf (” %s",&s);if(s= ' N' | | s=' n')break ;查詢最短路徑:int i , j ;char s;while(1)/*可提供循環(huán)查詢,當(dāng)
14、輸入為N'或'n'時(shí),結(jié)束循環(huán)* /*輸入起點(diǎn)與終點(diǎn)* /Dijkstra ( g,i,j) ; /*調(diào)用Dijkstra 函數(shù),用來輸出兩個(gè)景點(diǎn)間的最短路徑*/printf("繼續(xù)查詢? ( y 或 n): ”);scanf (” s" , &s);if (s=' N' | |s= ' n')break ;(6)添加動(dòng)態(tài)景點(diǎn):(7 )主函數(shù):int select;/*定義一個(gè)整型變量,用來輸入不同的選擇*/do/ *可提供循環(huán)輸入選擇,當(dāng)輸入的選擇為4時(shí),退出循環(huán)*/switch(select)/*判斷sel
15、ect的值,根據(jù)其值跳轉(zhuǎn)到相應(yīng)的子模塊繼續(xù)執(zhí)行*/case 1/*查詢景點(diǎn)的信息*/break ;case 2:;/*查詢景點(diǎn)間的游覽路徑*/break ;case 3/*查詢景點(diǎn)間的最短游覽路徑*/Case 4/*添加動(dòng)態(tài)景點(diǎn)* /break;case 5:/* 退出程序* /break;while(select!=5) ; / *當(dāng)select的值不為5時(shí),繼續(xù)循環(huán)*/四設(shè)計(jì)與調(diào)試分析1。菜單項(xiàng)運(yùn)行主函數(shù)時(shí)菜單項(xiàng)完整輸出結(jié)果正確2. 查詢景點(diǎn)選出系統(tǒng)給出的景點(diǎn)名稱如:1、錦屏山系統(tǒng)輸出信息如下:名稱:錦屏山簡介:因山色錦繡,美如畫屏,而被康熙皇帝命名為錦屏山票價(jià):10結(jié)果正確。3. 查詢最
16、短路徑如:選擇出發(fā)地:古城目的地:玉女峰系統(tǒng)輸出如下:古城-> 孔子忘角一-玉女峰路徑長度:25公里4. 查詢所有路徑女口:選出出發(fā)地:孔望山目的地:連島系統(tǒng)輸出如下:孔望山-連島孔望山- >前三島一-楓樹灣連島孔望山前三島- >楓樹灣-> 桃花澗一-連島孔望山-> -前三島 楓樹灣> 桃花澗一-> 東海溫泉一- >連島結(jié)果正確5. 動(dòng)態(tài)添加景點(diǎn)動(dòng)態(tài)添加,目前只能添加進(jìn)信息,方便查詢,還未實(shí)現(xiàn)求路徑的功能。五用戶手冊(cè)本程序界面如下:按序號(hào)進(jìn)行操作!六測試成果1、查詢景點(diǎn)最止:山崖望峰山公 屏軍城于女嶺杲囉 喘嗨:±汛:3曲廉鴻1 :?:
17、3:|:5:6:7:8:k査詢景點(diǎn)的信息2. 査詢景點(diǎn)間的褲隨路各3. 査詢最點(diǎn)間的最短游覽路徑4. 輸入您要添加的景點(diǎn).5. 退出諳輸入您的選擇,諸輸入你更査詢的景瓠1 錦屏山簡介:稱介價(jià)名簡票園聽錦藉 美如畫屏,而被康鯉帝離為鎬屏山10ITF2、查詢所有路徑回*G:2222sfDebug3 .exeF1;錦屏山2:將軍崖巖畫3:舌城4:孔子望角5;玉女峰6:江嶺7:花果山8:猴囉公園選擇出發(fā)景點(diǎn):1選擇目地景點(diǎn):3從錦屏山到古城的所有游覽路徑有:I第1條:錦屏山T將軍崖巖畫古城第2條:鞘屏山O將軍崖薯畫-江峻O玉女峰孔子璽角- 古城第3條:錦屏山-將軍崖巖畫-江嶺-玉女峰-花果山-古城第4
18、條:錦屏山將軍崖巖畫-江嶺猴嘴公園孔子更角古城宙5條:錦屏山-將軍崖巖畫-江嶺-猴嘴公園-孔子里角-玉女峰-花果山-古 第E條:錦抹山將軍產(chǎn)巖畫,江峻濰嘴公朋花杲山古城I第7條:錦屏山將軍崖巖畫心花果Llj-t城第8條:錦屏山-將軍塵巖畫-花果山-江嶺玉女峰孔子古城 第9條:錦屏山將軍崖窘畫-花果山江嶺騏嘴公園-禮子里角 古城 第10條期屏山-猴嘴公園-孔子望角-古城第11條:錦屏猴囉公園 孔子望角玨女峰"江嶺。將軍崖巖畫f古城|第12條:錦屏山-濰嘴公園-孔子里角玉女峰江片將軍庠巖畫- 花果山吹 第13條:錦屏山-猴嘴公園 孔子璽角-玉女峰-范果山古庾第1條:錦屏山- 猴嘴公園孔子
19、望角玨女峰花果'江嶺將軍崖巖畫 第15釜錦屏山-鴻璐公園-江峻-滯軍崖巖臥古威第16條灌屏山-猴嘴公園乍江嶺o將軍崖巖臥花果山古城第1 了條:鐫屏山猴嘴公園亠江幘玉女峰孔子里角古城 第旳條:錦屏山猴嘴公園V江嶺Q玉女峰J花果A古城I第19條:錦屏山-鴻嘴公園花果山咅城I第20條:錦屏山-猴嘴公園-花果山江嶺-將軍崖晉畫-古城 第21條:錦屏山心猴嘴公園-花lU-江嶺。玉女峰 孔子望弟古城3、查詢最短路徑山崖望峰山公 屏軍城子女峻果嘴 錦將古孔玉江花猴 9 I 123456了8e2辺爆霆交件夾d吐屈匕職y|謹(jǐn)云港市導(dǎo)源咨詢程序本程序能夠;k査詢最點(diǎn)的信息2、査詢景點(diǎn)間的瞬鱉路輕3. 資詢
20、最點(diǎn)間的最短瞬覽路経4. 輸入您要添加的景點(diǎn)5、退出請(qǐng)輸入您的逸擇:3 I景占:選釋出發(fā)景札5 選擇目地最點(diǎn);4 從玉女峰到孔子里角的最短游覽路輕是: 玉女峰-孔子璽角路輕長度:10公里継綻査詢? 或7:4、添加景點(diǎn)r P:2222新逢文件夾Debug3 .exe -回S3請(qǐng)輸入你想添加的景點(diǎn):謂輸入您的選菇'4景點(diǎn)名稱;桃花河景點(diǎn)商介:桃花澗位于錦屏山桃花澗南麓,距連云港市區(qū)9公里。繼續(xù)查詢?(yn):n加了該新景點(diǎn)后的信息為:若稱:錦屏山簡介:因山色錦繞,美如畫屏,而被康婆皇帝俞名為錦屏山票價(jià):10將軍崖巖畫名稱:將軍崖巖畫簡介:這是我國迄今發(fā)現(xiàn)的最古老時(shí)代巖畫,是東南沿海地區(qū)首次
21、發(fā)現(xiàn)的巖畫 票價(jià);20古城名稱:古城簡介:古城為黃土夯成,肖年建筑時(shí)留下來的孔穴和層層夯印,現(xiàn)在仍歷歷在目 票價(jià);30IIIr G:2222新建文件裘 Debug3 .exe -名禰:孔于望角簡介;這座由花崗巖、片麻巖構(gòu)成的古老體,距今己有18億年的歷史票價(jià):40 玉女峰 名禰;玉女峰 簡介:巖壁秀潤光潔,宛如玉石雕就,乘坐竹筏從水上望去,儼然是一位秀美絕 票價(jià):50 江嶺名稱;江嶺簡介:河邊聚集的三、四個(gè)村莊,四周園繞著育山,構(gòu)成了一副極美的婺源衣村 票你60花果山名禰:花果山簡介:景區(qū)內(nèi)哨壁懸崖,層巒SW,颯峨壯觀,且植被豐富,景色秀麗,一年四票價(jià):70猴嘴公園名稱:猴嘴公園簡介:街道巷閭
22、,縱橫交錯(cuò),高樓廣廈,鱗次櫛比,令人心曠神怡票價(jià);80樋枕麗桃花間位于錦屏山桃花澗南麓,距連云港市區(qū)9公里。Press any key to cord inue七附錄(源程序清單)# include<stdio。h>#include<string 。 h># in elude stdlib.h ># define MAXV 11/*最多頂點(diǎn)個(gè)數(shù)* /#define MAXSIZE 20/ *字符串成員 name的最大長度* /# define MAXLEN 500/* 字符串成員 content的最大長度* /#define INF 32768/* 用 32768
23、 表示/int a=0 ; /*全局變量,用來記錄每對(duì)頂點(diǎn)之間的所有路徑的條數(shù)*/static n=8;typedef structint num;char nameMAXSIZE;char discription MAXLEN;VertexType ; /*頂點(diǎn)的結(jié)構(gòu)定義*/typedef structint edges : MAXV : MAXV :;int vexnu m,arc num;VertexType vexsMAXV;MGraph;/*網(wǎng)的結(jié)構(gòu)定義*/int visited MAXV ;/*全局?jǐn)?shù)組,用來記錄各頂點(diǎn)被訪問的情況*/int p : MAXV ; / *全局?jǐn)?shù)組,用
24、來存放路徑上的各頂點(diǎn)*/void path(MGraph g,int i,int j,int k) /*i為要查詢是起始點(diǎn),j為要查詢的終點(diǎn),相當(dāng)于深度優(yōu)先遍歷* /int s;if (pk: =j)a+;printf ("第%d 條:” ,a);for (s=0; s<=k-1;s+ )printf( ” s >”,g.vexs p s .name);printf (" % sn", );s=0;while (s < g。vex num)if (s! =i)/*保證找到的是簡單路徑,保證沒有回路* /if(g.edge
25、sp :k : s!=INF&&visited:s=0)visited s =1;p k+1 =s;path(g, i,j,k+1);visiteds=0 ;s+;void disppath (MGraph g , int i , int j)int k;p 0=i ;for(k=0 ; k < g.vexnum;k+)visitedi =0;a=0;path(g,i,j , 0)void ppath(MGraph g , int pathl ,int i,int v0)int k;k=path1i;if (k=v0)return;ppath(g,path1,k, v0)
26、;printf (” s”,g.vexs );/*輸出最短路徑* /void dispath(MGraph g,intdist ,int path1,int s ,int n, int v0,int i)if (si =1 & & i! =v0)printf(”從 s 到% s 的最短游覽路徑是:n",g.vexsvO 。name, );printf (” s->”,g.vexs );ppath(g,path1, i, v0);printf( ” s ", );printf(”
27、 路徑長度:%d 公里 n",disti :);/*由path1計(jì)算從v0到i的最短路徑* /void Dijkstra(MGraph g,int vO , int p) /*采用迪杰斯特拉算法求從頂點(diǎn)v0到頂點(diǎn)p的最短路徑* /int dist : MAXV :, path1 : MAXV;int sMAXV;int mindis,i,j , u, n=g。 vexnum;for (i=0 ; i<n;i+ )dist i=g.edges vOi ;si=O ;if(g。 edgesv0 i<INF )path1i =v0;elsepath1i = 1;sv0 =1;
28、path1vO=O;for(i=0 ; i<n ; i+)mindis=INF ;u=-1 ;for (j=0 ; j n;j+ )if(s j=0& & distj<mindis)u=j;mindis=distj ;s : u: =1;for(j=0 ; j<n ; j+)if(s : j: =0)if (g.edges u j <INF && distu +g.edgesu j <distj)dist j =dist u +g。edgesu j;path1j=u ;dispath(g,dist, path1, s, n, vO,
29、 p) ;/*輸出最短路徑* /void Searchname(MGraph g)/* 查詢景點(diǎn)的信息* /printf ("景點(diǎn):n");printf( ” -一 一 n")printf(” tt1:錦屏山 ntt2 :將軍崖巖畫 n”);printf ("tt3 :古城 ntt4 :孔子望角 ntt5 :玉女峰 ntt6 :江嶺 ntt7 :花果山 n"); printf( ” tt8:猴嘴公園 n”);printf (” - n ”);int i ;char s;while(1)/*可提供循環(huán)查詢,當(dāng)輸入為N'或n'時(shí),結(jié)
30、束循環(huán)*/printf ("ttt請(qǐng)輸入你要查詢的景點(diǎn):”);scanf(” % d ”,& i);for(int j=0 ; j g。vexnum ; j+)if (i=g.vexsj.num )printf ("%s 簡介:n”, );printf( ” -n”);printf ("%s” ,g。 vexs j .discription);printf("n");printf (" n ” ) xi 1 / ?printf ("繼續(xù)查詢?(y 或 n): ” );scanf(” % s”,
31、 &s);if (s='N ' | s=' n')break;void Searchpathl ( MGraph g)/*查詢兩個(gè)景點(diǎn)間的所有路徑*/printf ("景點(diǎn):n ”;printf (”一 一 一 n";printf(” tt1:錦屏山 ntt2 :將軍崖巖畫 n”);printf("tt3:古城 ntt4 :孔子望角 ntt5:玉女峰 ntt6 :江嶺 ntt7:花果山 n”);printf (” tt8 :猴嘴公園 n");prin tf(" -n");int i,j;char
32、 s;while(1)printf ("ttt選擇出發(fā)景點(diǎn):”);fflush(stdin);scanf ("% d" , &i);printf (” ttt選擇目地景點(diǎn):”);fflush (stdin);scanf ("% d", &j);for(int k=O;k<g。vexnum;k+ )if(i=g.vexsk 。num)i=k;for (int l=0;l g.vexnum ; l+)if(j=g。vexs I .num) j=l ;printf (” 從% s 到%s 的所有游覽路徑有:n", g。
33、vexs i .name, g。vexsj .name); disppath (g, i,j);prjntf (” 一-一 -一 -一 -n");printf ("繼續(xù)查詢? ( y 或 n):');scanf(” % s", &s);if (s=' N'|s='n')break;void Searchpath2(MGraph g)/ *查詢兩個(gè)景點(diǎn)間的最短路徑*/printf("景點(diǎn):n”);printf (” 一-n ”);計(jì)I ?printf (” tt1:錦屏山 ntt2:將軍崖巖畫 n”);pri
34、ntf (” tt3:古城 ntt4 :孔子望角 ntt5:玉女峰 ntt6 :江嶺 ntt7:花果山 n");printf( ” tt8:猴嘴公園 n");printf (”n")int i,j;char s;while(1)printf(” ttt選擇出發(fā)景點(diǎn):”);fflush(stdin );scanf (” d”,& i);printf(” ttt 選擇目地景點(diǎn):");fflush (stdin);scanf (" % d ”,& j);for (int k=0;k g.vexnum; k+)if(i=g。vexs k
35、.num) i=k;for (int l=0;l g。 vex num ; I+)if (j=g.vexs I。num) j=l;Dijkstra(g,i , j);printf( ”- 一 _ 一 _ 一 _ 一一 _一 一 _n")-U I丿, printf (”繼續(xù)查詢? ( y 或 n): ”); scanf (” s”,& s);if (s=' N ' | |s=' n')break;/動(dòng)態(tài)添加景點(diǎn)void Searchpath3(MGraph g , char * c , char *d )printf("請(qǐng)輸入你想添加的
36、景點(diǎn):n");printf( ”一 - 一 一 -n ” )char s;while (1)printf (” 景點(diǎn)名稱:n");int i=0;while (i n 1)i+ ;scanf(” s”,& (g。vexs i。 name);c i =;printf (” 景點(diǎn)簡介:n");scanf (” %s", &(g.vexs i .discription);di=g。 vexsi.discription ;seanf (” s”,& s);if (s='N' |s=' n
37、39;)break;void main()/*主函數(shù)* /int i , j ;int b : 11 = 1,2, 3,4,5,6,7,8;char衣c : 11="錦屏山",”將軍崖巖畫”,"古城",”孔子望角","玉女峰","江嶺”,”花果山”,” 猴嘴公園"char 衣 d : 11 ="名稱:錦屏山n簡介:因山色錦繡,美如畫屏,而被康熙皇帝命名為錦屏山n票價(jià):10” ,"名稱:將軍崖巖畫n簡介:這是我國迄今發(fā)現(xiàn)的最古老時(shí)代巖畫,是東南沿海地區(qū)首次發(fā)現(xiàn)的巖畫n票價(jià):20"
38、;,"名稱:古城n簡介:古城為黃土夯成,當(dāng)年建筑時(shí)留下來的孔穴和層層夯印,現(xiàn)在仍歷歷在目n票價(jià):30","名稱:孔子望角n簡介:這座由花崗巖、片麻巖構(gòu)成的古老體,距今已有18億年的歷史n票價(jià):40","名稱:玉女峰n簡介:巖壁秀潤光潔,宛如玉石雕就,乘坐竹筏從水上望去,儼然是一位秀美絕倫的少女n票價(jià):50” ,"名稱:江嶺n簡介:河邊聚集的三、四個(gè)村莊,四周圍繞著青山,構(gòu)成了一副極美的婺源農(nóng)村風(fēng)光畫卷n票價(jià):60","名稱:花果山n簡介:景區(qū)內(nèi)峭壁懸崖,層巒疊嶂,巍峨壯觀,且植被豐富,景色秀麗,一年四季皆有特色n票
39、價(jià):70",”名稱:猴嘴公園n簡介:街道巷閭,縱橫交錯(cuò),高樓廣廈,鱗次櫛比,令人心曠神怡n票價(jià):80"MGraph g ;int A : 11 : 11 = INF , 13,INF , INF , INF,INF,INF,15,13,INF,5,INF,INF,15,12,INF,INF,5,INF , 15, INF , INF,INF , 5,INF,INF , 15, INF,10,INF,INF,INF,INF,INF,INF,10,INF , 10, 8, INF,INF,15,INF,INF,10 , INF , INF , 12,INF,INF , 8,IN
40、F,INF , 18 , INF , INF ,INF , INF , INF , 18 , INF,10, 15 , INF;g。vexnum=n;g.arc num=14;for (i=0 ; ivg.vexnum ; i+)for (j=O;j<g。vexnum;j+ )g。edgesi j=Ai :j ;/ *建立無向網(wǎng)的鄰接矩陣*/for(i=0;i g.vexnum ; i+)g.vexsi.num=bi;strcpy (g.vexsi。 name, c i);strcpy(g.vexsi 。 discription,d i);int select;dosystem(” ci
41、s");printf(" -連云港市導(dǎo)游咨詢程序-n ” );printf(”本程序能夠:n ”);printf ("n,1n”);printf ("| n");printf(”11、查詢景點(diǎn)的信息1 n”);printf (”12、查詢景點(diǎn)間的游覽路徑1 n");printf(”13、查詢景點(diǎn)間的最短游覽路徑1 n");printf (”14、輸入您要添加的景點(diǎn)1 n");printf ("15、退出1 n");printf(”11 n");printf (”1 1n");printf (" n ”);- 一 一n y ?prin tf(”請(qǐng)輸入您的選擇:”);seanf(” d”,& select);switch(sele
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火材料訂購協(xié)議
- 門戶服務(wù)合同的履行管理
- 石子供應(yīng)協(xié)議
- 農(nóng)資采購合同范本
- 碎石原料采購合同
- 版鋼材采購合同
- 綠化托管服務(wù)合作策略
- 全文翻譯服務(wù)合同格式
- 泰康協(xié)議存款操作指南
- 外債借款合同的格式化
- 中職生家訪記錄內(nèi)容
- Q∕GDW 10250-2021 輸變電工程建設(shè)安全文明施工規(guī)程
- 客運(yùn)企業(yè)雙重預(yù)防體系培訓(xùn)(57頁)
- 新概念 二 Lesson 75 SOS
- 鋁合金壓鑄件的標(biāo)準(zhǔn)
- 吹風(fēng)機(jī)成品過程質(zhì)量控制檢查指引
- 固定資產(chǎn)情況表
- 瀝青路面施工監(jiān)理工作細(xì)則
- 《彩色的中國》音樂教學(xué)設(shè)計(jì)
- 人教版八年級(jí)上冊(cè)英語單詞表默寫版(直接打印)
- 4.初中物理儀器配備目錄清單
評(píng)論
0/150
提交評(píng)論