1、 1 本科生课程设计报告书本科生课程设计报告书 题题 目目 校园导游咨询系统 姓姓 名名 学学 号号 学学 院院 信息工程学院信息工程学院 专专 业业 计算机方向计算机方向 指导教师指导教师 XXXXXXXXXXXX 完成日期:完成日期: 2012-07-5 2 校园导游咨询系统 1 需求分析 本程序的主要目的是为了提供本学校的景点的路径咨询和来访客人以及刚 来报到的新生提供一个快捷方便的路径咨询, 快速有效的提高了用户的熟悉度。 。 满足用户查询的需要: 1、从石家庄经济学院的平面地图中选取出 10 个有代表性的景点。 2、为来访的客人提供图中任意景点相关信息的查询。当用户输入正确时,为 用
2、户输出景点的相关信息;当用户输入不合法时,提示用户输入有误并返回让用 户重新输入。 3、为来访的客人提供图中任意景点的路径查询,即查询任意两个景点之间的 最短简单路径。当用户输入正确时,为用户输出任意两景点的最短路径;当用户 输入不合法时,提示用户输入有误并返回让用户重新输入。 4、为来访客人推荐参观路线。 2 概要设计 1、抽象数据类型图的定义如下: ADT Graph 数据对象 V:V 是具有相同特性的数据元素的集合,称为顶点集。 数据关系 R: R=VR VR=(v,w)|v,wV,(v,w)表示 v 和 w 之间存在路径 基本操作 P: CreatGraph70321( /* 造图函数
3、 */ void narrate70321(); /*说明函数*/ void ShortestPath70321(int num); /*最短路径函数*/ void output70321(int sight1,int sight2); /*输出函数*/ char Menu70321(); /* 主菜单 */ void search70321(); /* 查询景点信息 */ char SearchMenu70321(); /* 查询子菜单 */ void HaMiTonian70321(int); /* 哈密尔顿图的遍历 */ void NextValue70321(int); void di
4、splay70321(); /* 显示遍历结果 */ 4 3、运行主界面: *欢 迎 使 用 校 园 导 游 程 序* *石*家*庄*经*济*学*院* 制作者:信息工程学院 410109070321 颜建学 ! ! !欢迎您的使用! ! ! 景点名称 (0)教学主楼 (1)足球场 (2)灯光篮球场 (3)惠馨园 (4)实验楼 (5)计算机实验室 (6)地球科学博物馆 (7)学术报告厅 (8)图书馆 (9)喷泉 1、查询景点路径 2、查询景点信息 3、推荐参观路线 e、退出 子界面如下: 1、按照景点编号查询 2、按照景点名称查询 e、返回 3、模块图表示如下: 5 3 详细设计 从石家庄经济学
5、院的平面地图中选取出 10 个有代表性的景点,将其抽象成 无向带权网并用邻接矩阵来表示。 以图中的顶点代表景点, 存放景点名称、 代号、 简介等信息,权值代表两地之间的距离。 1、 图的存储结构如下: #define Max 20000 #define NUM 9 typedef struct ArcCell int adj; /* 相邻接的景点之间的路程 */ ArcCell; /* 定义边的类型 */ typedef struct VertexType70321 int number; /* 景点编号 */ char *sight; /* 景点名称 */ char *description; /* 景点描述 *