资源简介
[主要内容]
用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。
[基本要求]
(1) 查询各景点的相关信息;
(2) 查询图中任意两个景点间的最短路径。
(3) 查询图中任意两个景点间的所有路径。
(4) 增加、删除、更新有关景点和道路的信息。
[选作内容]
(1) 求多个景点的最佳(最短)游览路径。
(2) 区分机动车道和人行道。
(3) 实现导游图的仿真界面。
代码片段和文件信息
#include “test.h“
#include “conio.h“
int p[MAX_VERTEX_NUM];
bool visited[MAX_VERTEX_NUM];
void search(mgraph gint vint lastvexint cost);
void lookingforway(mgraph gint firstvexint lastvex)//罗列两个景点的所有路径
{
p[0]=1;
for(int v=1;v<=g.vexnum;v++)
{
for (int i=1;i<=g.vexnum; i++)
visited[i]=false;
visited[firstvex]=true;
if(g.distance[firstvex][v].dis {
visited[v]=true;
printf(“%s->“g.vexs[firstvex].name);
search(gvlastvexg.distance[firstvex][v].dis);
}
}
}
void search(mgraph g int vint lastvexint cost)//深度优先遍历搜索所有路径
{
visited[v]=true;
if(v==lastvex)
{
visited[lastvex]=false;
for(int i=1;i {
printf(“%s->“g.vexs[locatevex(gp[i])].name);
}
printf(“%s “g.vexs[lastvex].name);
printf(“路径总长:%d\n“cost);
return;
}
p[p[0]++] = v;
for(int w=1;w<=g.vexnum;w++)
if(g.distance[v][w].dis {
cost+=g.distance[v][w].dis;
search(gwlastvexcost);
p[0]--;//去掉j
cost-=g.distance[v][w].dis;//恢复
}
}
void main()
{
mgraph info;
int choice;
int temp1temp2temp3temp4;
sqlist pathx[MAX_VERTEX_NUM];
initinfo(info);
do
{
printf(“*****************欢迎使用学校导游系统******************\n“);
printf(“\n 1.添加景点及路径信息 2.查询景点信息\n“);
printf(“\n 3.获取两景点最佳路径 4.查询景点所有最佳路径\n“);
printf(“\n 5.更新景点及路径信息 6.删除景点及路径信息\n“);
printf(“\n 7.清除所有景点及路径信息 8.所有信息初始化\n“);
printf(“\n 9.查询两景点所有路径 0.退出系统\n“);
printf(“\n 10.输出所有路径信息 11.所有景点信息\n“);
printf(“********************************************************\n“);
printf(“\n请选择操作!\n“);
scanf(“%d“&choice);
switch(choice)
{
case 1:{
addinfo(info);
break;
}
case 2:{
printvexinfo(info);
break;
}
case 3:{
printf(“请输入要查询的两景点(编号)\n“);
printf(“景点1 景点2:\n“);
scanf(“%d%d“&temp1&temp2);
twoshortpath(infotemp1temp2);
break;
}
case 4:{
int v0j;
printf(“请输入要查询景点\n“);
scanf(“%d“&temp1);
v0=locatevex(infotemp1);
shortestpath(infotemp1pathx);
for(int i=1;i<=info.vexnum;i++)//存放从v1到其他点的所有最短路径
if(pathx[i].length>1)
{
int distance=0;
int temp;
for (int m=0;m {
j=locatevex(infopathx[i].elem[m]);
if(m>0&&info.distance[temp][j].dis {
distance+=info.distance[temp][j].dis;
}
temp=j;
printf(“%s “info.vexs[j].name);
}
printf(“路径长度为:%d\n“distance);
printf(“\n“);
}
break;
}
case 5:{
changeinfo(info);
break;
}
case 6:{
printf(“请输入要删除的景点编号“);
scanf(“%d“&temp2);
deleinfo(infotemp2);
printf(“删除景点成功“);
break;
}
case 7:{
system(“del vexinfo arcinfo“);
printf(“是否重新录入景点信息?(1.是 2.否)“);
scanf(“%d“&temp2);
if(temp2==1)
initinfo(info);
else
choice=0;
break;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 869 2009-06-04 21:47 校园导游系统\sqlist.h
文件 4380 2009-06-04 22:18 校园导游系统\test.dsp
文件 531 2009-06-04 21:38 校园导游系统\test.dsw
文件 58368 2009-06-05 12:36 校园导游系统\test.ncb
文件 839 2009-06-05 09:43 校园导游系统\test.plg
文件 217158 2009-06-05 09:43 校园导游系统\Debug\test.exe
文件 574464 2009-06-05 09:43 校园导游系统\Debug\test.pdb
文件 50176 2009-06-05 09:43 校园导游系统\Debug\vc60.idb
文件 53248 2009-06-05 09:43 校园导游系统\Debug\vc60.pdb
文件 247800 2009-06-05 08:03 校园导游系统\Debug\test.pch
文件 39944 2009-06-05 09:43 校园导游系统\Debug\test.obj
文件 241164 2009-06-05 09:43 校园导游系统\Debug\test.ilk
文件 7868 2009-06-05 08:03 校园导游系统\test.h
文件 98 2009-06-05 09:38 校园导游系统\vexinfo
文件 213 2009-06-05 09:38 校园导游系统\arcinfo
文件 3916 2009-06-05 09:43 校园导游系统\test.cpp
文件 48640 2009-06-05 12:36 校园导游系统\test.opt
文件 201 2009-06-08 21:53 校园导游系统\说明.txt
目录 0 2009-06-04 22:18 校园导游系统\Debug
目录 0 2009-06-04 22:18 校园导游系统
----------- --------- ---------- ----- ----
1549877 20
相关资源
- 东北大学EDA数字钟课程设计报告
- 数据结构课程设计-校园导游
- 华中科技大学 MIPS_CPU 实现了动态分支
- 数据库系统概论课程设计实验报告 山
- 数电-密码电子锁-Multisim密码电子锁的
- 顺序表表示集合,实现集合的交、并
- 5、校园导游程序源程序+文档+说明+总
- 《数据结构及算法经典》源代码.
- 数据库课程设计报告薪资管理
- 数电课程设计 四路智能抢答器.
- 空调模拟控制器程序设计
- DT数据结构代码 DTlib.rar
- 数据结构动画演示
- 企业网络构建,企业网络设计与实施
- 课程设计题七:交通灯控制器.zip
- 编译原理课程设计.docx
- 微机原理与接口技术课程设计——汽
- 操作系统实验.rar
- 利用Qt实现的N皇后算法
- 东北大学数据结构实验1打印机fifo
- 机械课程设计展开式二级圆柱齿轮减
- 东北大学计算机学院 计算机组成原理
- 拓扑排序------打印输出计算机本科专
- 微机课程设计---电子琴报告包含完整
- 基于VHDL的交通灯设计EDA课程设计报告
- 计算机网络课程设计 校园网规划设计
- 计算机网络课程设计编写UDP客户/服务
- 基本分页存储管理系统设计 课程设计
- 邻接表图遍历的演示注释比较详尽,
- 微机接口电子钟课程设计报告
评论
共有 条评论