




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
#defineINFINITY10000#defineMAX_VERTEX_NUM40#defineMAX40#include<stdlib.h>#include<stdio.h>#include<conio.h>#include<string.h>typedefstructArCell{intadj;/*路徑長度*/}ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];typedefstruct/*圖中頂點表示主要景點,存放景點的編號、名稱、簡介等信息,*/{charname[30];intnum;charintroduction[100];/*簡介*/}infotype;typedefstruct{infotypevexs[MAX_VERTEX_NUM];AdjMatrixarcs;intvexnum,arcnum;}MGraph;MGraphb;voidcmd(void);MGraphInitGraph(void);voidshow1();voidlist();voidMenu(void);voidShortestPath_DIJ(MGraph*G);voidSearch(MGraph*G);intLocateVex(MGraph*G,char*v);/**********主函數(shù)************************/voidmain(void){system("color5f");/*修改控制臺的顏色信息,改為白字藍底的模式*/system("modecon:cols=140lines=130");/*設(shè)置批處理運行時窗口大小的*/cmd();}/********自定義函數(shù)***************/
/*cmd函數(shù)(根據(jù)目錄選擇要進行的項目)*/voidcmd(void){chark;b=InitGraph();show1();Menu();while(1){scanf("\n%c",&k);switch(k){case'xsystem("cls");show1();Menu();list();ShortestPath_DIJ(&b);printf("歡迎您的使用\n");printf("\n請您繼續(xù)選擇服務(wù):“);break;case'y':system("cls");Menu();list();Search(&b);printf("歡迎您的使用\n");printf("\n請您繼續(xù)選擇服務(wù):“);break;case'z':system("cls");printf("\n");printf("\n");break;case'z':system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");exit(0);I安徽建筑術(shù)大學(xué)II智能導(dǎo)航系統(tǒng)Idefault:printf("輸入信息錯誤!\n請輸入*或曠或z.\n");break;}}}/*迪杰斯特拉算法來計算出起點到各個頂點之間的最短路徑,v0為起點*/voidShortestPath_DIJ(MGraph*G){intv,w,i,min,t=0,x,flag=1,v0,v1,have[100],k;intfinal[20],D[20],p[23][23];while(flag){printf("請輸入起始景點編號:\n");scanf("%d",&v0);if(v0<0||v0>G->vexnum)printf("景點編號不存在!");printf("請輸入終止景點編號:\n");scanf("%d",&v1);if(v1<0||v1>G->vexnum)printf("景點編號不存在!");if(v0>=0&&v0<G->vexnum&&v1>=0&&v1<G->vexnum)flag=0;}for(v=0;v<G->vexnum;++v){final[v]=0;D[v]=G->arcs[v0][v].adj;for(w=0;w<G->vexnum;++w)p[v][w]=INFINITY;if(D[v]<INFINITY){p[v][v0]=1;p[v][v]=1;}}D[v0]=0;final[v0]=1;have[0]=v0;for(i=1;i<G->vexnum;++i)min=INFINITY;for(w=0;w<G->vexnum;++w)if(!final[w])if(D[w]<min){v=w;min=D[w];}final[v]=1;have[k]=v;k++;for(w=0;w<G->vexnum;++w)if(!final[w]&&((min+(G->arcs[v][w].adj))<D[w])){D[w]=min+G->arcs[v][w].adj;for(x=0;x<G->vexnum;x++)p[w][x]=p[v][x];p[w][w]=1;}}for(i=0;i<G->vexnum;i++){if(p[v1][have[i]]==1){printf("-->%s",G->vexs[have[i]].name);}}if((v1-v0)==1)printf("\n路徑長度:%d\n",G->arcs[v0][v1]);elseprintf("\n路徑長度:%d\n",D[v1]);}//ShortestPath_DIJend/*查找函數(shù)的建立*/voidSearch(MGraph*G){intk,flag=1;while(flag){printf("請輸入要查詢的景點編號:“);scanf("%d",&k);if(k<0||k>G->vexnum){printf("景點編號不存在!請重新輸入景點編號:");scanf("%d",&k);}if(k>=0&&k<G->vexnum)flag=0;)printf("?111\n");printf("|編號|景點名稱|簡介I\n");printf("|%-4d|%-16sI%-58sI\n",G->vexs[k].num,G->vexs[k].name,G->vexs[k].introduction);printf("1111\n");}//Searchendvoidshow1(){printf("\t\t★★歡迎使用安徽建筑大學(xué)智能導(dǎo)航系統(tǒng)★★%”);printf("\t\t\t安徽建筑大學(xué)南校區(qū)簡略版平面圖\n\n");printf("\t學(xué)校北門\n");printf("\tI\n");printf("\t1北食堂宿舍樓1\n")printf("\tII\n");printf("\tI宿舍樓2\n");printf("\tI一九月橋一I\n);printf("\tII\n");printf("\t主教樓I\n");printf("\tII\n");printf("\t日月廣場I\n");printf("\tII\n");printf("\t圖書館I\n");printf("\tII\n");printf("\t還在建I\n");printf("\tII\n");printf("\t南食堂—宿舍樓15\n");printf("\tII\n");printf("\tII\n");printf("\t—南苑超市\(zhòng)n");)voidlist(){printf("學(xué)校景點列表:\n");printf("0:學(xué)校北門");printf("1:宿舍樓1");printf("2:宿舍樓2");printf("3:宿舍樓15");printf("4:九月橋\n");printf("5:主教樓");printf("6:圖書館");printf("7:日月廣場");printf("8:體育場\n");printf("9:還在建");printf("10:南食堂");}/*目錄函數(shù)的構(gòu)建*/voidMenu(){printf("\n安徽建筑大學(xué)南校區(qū)導(dǎo)游圖\n");TOC\o"1-5"\h\zprintf("|1\n");printf("Ix.選擇出發(fā)點和目的地|\n");printf("Iy.查看景點信息I\n");printf("Iz.退出系統(tǒng)I\n");printf("11\n");printf("請選擇服務(wù)");}/*MGraph函數(shù)(圖的構(gòu)建)*/MGraphInitGraph(void){MGraphG;inti,j;G.vexnum=17;//頂點是17個G.arcnum=25;//弧線有25個for(i=0;i<G.vexnum;i++)G.vexs[i].num=i;strcpy(G.vexs[0].name,"學(xué)校北門");strcpy(G.vexs[0].introduction,"學(xué)校的正門,氣勢宏偉");strcpy(G.vexs[1].name,"宿舍樓1");strcpy(G.vexs[1].introduction,"睡覺的地方");strcpy(G.vexs[2].name,"宿舍樓2");strcpy(G.vexs[2].introduction,"睡覺的地方");strcpy(G.vexs[3].name,"宿舍樓15");strcpy(G.vexs[3].introduction,",,,,,,,,");strcpy(G.vexs[4].name,"九月橋");strcpy(G.vexs[4].introduction,"連接生活區(qū)和教學(xué)區(qū)的橋。");strcpy(G.vexs[5].name,"主教樓");strcpy(G.vexs[5].introduction,"教學(xué),開會");strcpy(G.vexs[6].name,"圖書館");strcpy(G.vexs[6].introduction,"安靜當(dāng)學(xué)霸的地方");strcpy(G.vexs[7].門2巾6,"日月廣場”);strcpy(G.vexs[7].introduction,"有漂亮噴泉的廣場”);strcpy(G.vexs[8].name,"體育場");strcpy(G.vexs[8].introduction,"運動健身的地方");strcpy(G.vexs[9].name,"還在建");strcpy(G.vexs[9].introduction,"學(xué)校新修的實驗樓,灰常高大上");strcpy(G.vexs[10].門2巾6,"南食堂”);strcpy(G.vexs[10].introduction,"不好吃”);for(i=0;i<G.vexnum;i++)for(j=0;j<G.vexnum;j++)G.arcs[i][j].adj=INFINITY;G.arcs[0][1].adj=50;G.arcs[1][2].adj=15;G.arcs[1][3].adj=40;G.arcs[2][3].adj=30;G.arcs[0][3].adj=90;G.arcs[3][4].adj=30;G.arcs[4][9].adj=1000;G.arcs[4][5].adj=20;G.arcs[5][6].adj=10;G.arcs[6][7].adj=8;G.arcs[6][8].adj=12;G.arcs[7][8].adj=7;G.arcs[0][9].adj=30;G.arcs[9][10].adj=500;G.arcs[10][11].adj=25;G.arcs[11][12].adj=8;G.arcs[12][13].adj=5;G.arcs[13
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 展覽場地設(shè)備租賃合同(14篇)
- 廣東科學(xué)技術(shù)職業(yè)學(xué)院《微機原理與應(yīng)用A》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南工業(yè)職業(yè)技術(shù)學(xué)院《種子質(zhì)量檢驗理論與技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 青海民族大學(xué)《用戶研究與體驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 揚州中瑞酒店職業(yè)學(xué)院《競技武術(shù)套路5》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年遼寧省建筑安全員B證考試題庫
- 蘇州大學(xué)應(yīng)用技術(shù)學(xué)院《色譜學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年江西省安全員C證(專職安全員)考試題庫
- 山西財貿(mào)職業(yè)技術(shù)學(xué)院《工程信息學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱幼兒師范高等??茖W(xué)?!队⒄Z課程標準解析與教材研究》2023-2024學(xué)年第二學(xué)期期末試卷
- Q∕GDW 11612.2-2018 低壓電力線高速載波通信互聯(lián)互通技術(shù)規(guī)范 第2部分:技術(shù)要求
- 公司辦公室5S管理規(guī)定(實用含圖片)
- (完整版)餐飲員工入職登記表
- 智能化工程施工工藝圖片講解
- 人教版小學(xué)五年級數(shù)學(xué)下冊教材解讀
- 2022年最新蘇教版五年級下冊科學(xué)全冊教案
- 咳嗽與咳痰課件
- 小學(xué)四年級數(shù)學(xué)奧數(shù)應(yīng)用題100題
- 綜合布線驗收報告材料
- 《初三心理健康教育》ppt課件
- 重慶鐵塔公司配套設(shè)備安裝施工服務(wù)技術(shù)規(guī)范書
評論
0/150
提交評論