数据结构实践项目之校园导航系统

本文通过一个数据结构实践项目——校园导航系统,展示了如何使用数据结构来实现地图的存储与查询。项目包含`map.h`头文件,`map.c`实现文件以及`main.c`主程序,实现了地图数据的高效管理。
摘要由CSDN通过智能技术生成
/*  
*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
【摘要】西南科技大学抓住西部大开发和绵阳科技城建设的历史机遇,践行“厚德、博学、笃行、创新”校训,建设出一座美丽的校园。为此通过对《数据结构》这一课程的应用,用图的模型对学校景点抽象。用邻接矩阵存储方法和狄克斯特拉算法及图的遍历实现对校园导游系统的模拟。此系统七个功能:浏览学校景点、查看单个景点信息、查看校园地图、导游推荐、查两景点最短路线、查两景点所有景点、退出系统。 目 录 一、问题描述及设计思路..............................................3 二、详细设计过程....................................................3 2.1设计校园平面图...............................................3 2.1.1景点分析.......................................................4 2.1.2平面图.........................................................4 2.2实现景点信息查询.............................................4 2.2.1景点存储.......................................................5 2.2.2景点信息查询功能实现...........................................5 2.3图实现路径查询...............................................5 2.3.1图的建立.......................................................5 2.3.2最短路径实现...................................................6 2.3.3两点间所有路径.................................................8 2.3.4路径查找设计结果...............................................8 三、结论体会.......................................................11 四、附录...........................................................12 4.1.1Mai.cpp.......................................................124.1.3Sight.h.......................................................13 4.1.2G.h...........................................................15 五、参考文献.......................................................20
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值