/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:王敏
*完成日期:2015年12月24日
*版本号:v1.0
*
*问题描述:创建一个校园导航系统,能进行简单的景点间最短距离的查询及景点的介绍
1.将程序用多文件组织的形式保存
2.讲景点信息存入文本文件
*输入描述:要进行的功能序号
*程序输出: 执行的相应功能
*/
map.h
#include<stdio.h>
#include<stdlib.h>//调用system函数
#include<conio.h>
#include<string.h>
#define maxsize 600
#define INF 32767//两景点不可到距离长度
int visited[maxsize];//全局变量
int path[maxsize][maxsize];//经过景点
int shortest[maxsize][maxsize];//最短路径
typedef struct//定义对各个景点信息存储的结构体类型
{
int top;//景点序号
char info[maxsize];//景点名称
char introduce[maxsize];//景点介绍
} data;//定义顶点类型
typedef struct node
{
int adj;//相邻接的景点间的距离
} node;//定义边的类型
typedef struct
{
data vertex[maxsize];//景点、顶点
node arcs[maxsize][maxsize];//景点间距离
int vexnum,arcnum;//景点数、边数
} adjmatrix;//定义图的类型
void Browser();/*校园地图*/
void PlaceList();/*已存景点阅览*/
void creatvisited(adjmatrix *g);/*访问标志数组初始化*/
void DFS(adjmatrix *g,int v);/*深度遍历*/
void search(adjmatrix *g);/*遍历*/
void vernumfile(adjmatrix *g);/*已存景点信息文本*/
void arcnumfile(adjmatrix *g);/*已存景点间路径文本*/
void readvernum(adjmatrix *g);/*读取景点信息*/
void readarcnum(adjmatrix *g);/*读取路径信息*/
void findvernum(adjmatrix *g);/*查询景点信息*/
void floyd(adjmatrix *g);/*弗洛伊德算法*/
void shortload(adjmatrix *g);/*最短路径*/
int meun();/*菜单栏*/
map.c
#include"map.h"
/*校园地图*/
void Browser()
{
system ("color 00");
printf(" 烟台大学校园平面图");
printf("\n");
printf(" 南门 ");
printf("\n");
printf(" // || \\ \\ ");
printf("\n");
printf(" // || \\ \\ ");
printf("\n");
printf(" // 逸夫图书馆===综合楼======大学生活动中心");
printf("\n");
printf(" // || ");
prin