C语言如何实现旅游景点咨询系统
这篇文章主要介绍C语言如何实现旅游景点咨询系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
C语言课程设计之旅游景点咨询系统
1.问题描述:创建一个至少有15个点的有向网表示的某个旅游景点的导游图。顶点代表景点,类型为字符串(例如,泰山导游图:“天地广场门”,“十八盘”,“冯玉祥墓”,“桃花峪门”,“中天门”,“南天门”,“玉皇顶”等),弧表示两个景点之间可以直达,弧上的权值表示两个景点之间的路程(公里数),弧上还有到达方法的信息(有步行和索道两种)。建立一个游客咨询系统。
2.基本要求
(1)创建图的存储结构。(2)输入两个景点名,就可以得到从一个景点到达另一个景点的所有简单路径、相应路径的路程公里数、行走的方法(每一段是步行,还是坐索道);(3)输入两个景点名,就可以得到其最短路径,即:路程最短的行进方法;如果两者无路径可通,就得出“两景点不可达的信息”。(4)按照题意要求独立进行设计,设计结束后按要求写出设计报告。
一、代码块:
#include/*#include #include #include #include */ usingnamespacestd; constintMAXVEX=50; constintINF=0x3fffffff; //s表示索道w表示步行 typedefstruct{//边的结构 intwei;//权值 charway;//到达方式 }EdgeType; typedefstruct{ stringvexs[MAXVEX];//顶点信息,string类型 EdgeTypearc[MAXVEX][MAXVEX];//边的信息 intnumVertexes,numEdges;//顶点数和边数 }MGraph; voidCreateMGraph(MGraph*G) { FILE*fp; fp=fopen("read.txt","r"); inti,j,k,w; cout<<"请输入顶点数和边数"< >G->numVertexes>>G->numEdges; fscanf(fp,"%d%d",&G->numVertexes,&G->numEdges); cout<<"请输入"< numVertexes<<"个景点名"< numVertexes;++i){ fscanf(fp,"%s",temp);//cin>>G->vexs[i]; G->vexs[i]=temp; } //初始化邻接矩阵 for(i=0;i numVertexes;++i) for(j=0;j numVertexes;++j) G->arc[i][j].wei=INF; cout<<"请输入"< numEdges<<"条边,包括起点下标、终点下标、路程(KM)和到达方式(s表示索道w表示步行)"< numEdges;++k){ charch; fscanf(fp,"%d%d%d%c",&i,&j,&w,&ch);//cin>>i>>j>>w>>ch; G->arc[i][j].wei=w; G->arc[i][j].way=ch; } cout< numVertexes;++i){ cout<<"编号"<vexs[i]< "<<"(索道)"< "<<"(步行)"< xiang;//辅助栈 voidslove_ShortestPath(MGraphG,ints,inte)//查找最短路径 { inttempe=e; if(D[s][e]==INF)cout<<"无可行路径!"< "<<"(索道)"< "<<"(步行)"< >s>>e&&(s+e)>=0) { if(s==e){ cout<<"您已在该景点"< 二、运行:
1.读入景点信息文件:
2.查找:
以上是“C语言如何实现旅游景点咨询系统”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡编程网行业资讯频道!
推荐阅读
-
windows安装touble c
近期有些网友想要了解windows?安装touble的相关情况,小编通过整理给您分享一下。为什么现在还需要TurboC?在当今V...
-
C/C++如何获取CAN信号
C/C++如何获取CAN信号本篇内容主要讲解“C/C++如何获取C...
-
C语言怎么通过二分查找实现猜数字游戏
C语言怎么通过二分查找实现猜数字游戏本文小编为大家详细介绍“C语言...
-
C语言数据结构中的线性表怎么使用
C语言数据结构中的线性表怎么使用这篇文章主要介绍“C语言数据结构中...
-
C语言的数据结构怎么理解
C语言的数据结构怎么理解这篇文章主要介绍了C语言的数据结构怎么理解...
-
C语言与C++中内存管理的方法
C语言与C++中内存管理的方法这篇文章主要介绍了C语言与C++中内...
-
C语言链式队列与循环队列怎么实现
C语言链式队列与循环队列怎么实现这篇文章主要介绍了C语言链式队列与...
-
C语言冒泡排序怎么实现
C语言冒泡排序怎么实现这篇文章主要介绍了C语言冒泡排序怎么实现的相...
-
C语言如何实现斐波那契数列
C语言如何实现斐波那契数列这篇文章主要介绍了C语言如何实现斐波那契...
-
C语言如何实现无符号数和有符号数间的运算
C语言如何实现无符号数和有符号数间的运算本篇内容主要讲解“C语言如...