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;inumVertexes;++i)
for(j=0;jnumVertexes;++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语言如何实现旅游景点咨询系统”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注恰卡编程网行业资讯频道!

发布于 2021-05-30 14:07:46
分享
海报
176
上一篇:C语言如何实现停车场管理 下一篇:C语言如何实现飞机订票系统
目录

    忘记密码?

    图形验证码