校园导游咨询(图的应用)中原工数据结构课程设计

题目描述
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
(1)设计学校的校园平面图(保证各个景点之间连通),以图中顶点表示校内各景点,存放景点名称、代号、简介、编号;以边表示路径,存放路径长度等相关信息;
(2)提供基本信息的修改功能;
(3)为来访客人提供图中任意景点相关信息的查询;
(4)为来访客人提供景点的问路查询,查询两景点间的最短路径及长度。
输入
第一行输入两个整数n(1≤n≤20) 和 m(0≤m≤n*(n-1)/2);n 代表学校有 n 个景点,m 代表有 m 条路。
接下来 n 行输入景点信息:每行输入三个字符串str1,str2,str3分别表示景点名称,代号和简介。
接下来m行:每行三个整数u(1≤u≤n),v(1≤v≤n),w(1≤w≤100);u表示起点,v表示终点,w表示两景点间的距离。
接下来一行输入一个整数op(1≤op≤10)表示操作次数。
接下来op行,每行有一条命令,命令有三种形式。
1.Query 1 str:景点查询,表示查询景点str的相关信息。
2.Query 2 str1 str2:路径查询,表示查询景点str1到达景点str2的最短路径及长度。
3.Modify x str1 str2 str3:表示修改某个的景点信息 ,str1表示景点名称,str2表示景点代号,str3表示景点简介。
输出
Query 1 str:输出一行,str的景点信息。
Query 2 str1 str2:输出两行,第一行输出最短路径长度,第二行输出最短路径(具体格式见输出样例)。

#include<iostream>
#include<string.h>
#define inf 0x7f7f
#define MVNum 20
typedef int ArcType;
using namespace std;
typedef struct
{
    
	char name[10];
	char code[50];
	char intro[10];
}VerTexType;
typedef struct
{
   
	VerTexType vexs[MVNum];
	ArcType arcs[MVNum][MVNum];
	int vexnum, arcnum;
}AMGraph;
void ShortesPath_DIJ(AMGraph G);
void Query(AMGraph G)
{
   
	int n;
	char b[50];
	cin >> n;
	if (n == 1)
	{
   
		cin >> b;
		for (int i = 0; i < G.vexnum; i++)
		{
   
			if (strcmp(G.vexs[i].code, b) == 0)
			{
   
				cout << G.vexs[i].name << " " << G.vexs[i].code << " " << G.vexs[i]
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值