用图论实现校园游咨询 [文档在线提供].docVIP

  • 2
  • 0
  • 约 13页
  • 2016-10-19 发布于贵州
  • 举报

用图论实现校园游咨询 [文档在线提供].doc

用图论实现校园游咨询 [文档在线提供]

校园导游咨询 一:需求分析 【基本要求】 1、设计某大学校区的校园平面图(不在程序中画图),包含你熟悉的至少10个景点。以图中顶点表示校内各景点,存放景点名称、简介等信息;以边表示路径,存放路径长度等相关信息。 2、为来访客人提供图中任意景点相关信息的查询。 3、为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 【测试数据】 根据自己对学校熟悉情况自定。 二:概要设计 1. 抽象数据类型图的定义如下: ADT Graph{数据对象V:V是具有相同特性的数据元素的集合,成为顶点集。 数据关系:Graph = (V , R )。其中,R={v,w| v,w∈V且P(v,w) , v,w表示从v到w的一条弧} 基本操作P: }// ADT Graph 2.本程序包含三个模块: 主程序模块: void main() {/*主函数*/ 初始化; while(1){ 显示界面; 接受命令; 处理命令; 键入E或e退出; } }//main实现人机界面和命令处理 景点查询模块: void introduce() { 输入景点编号; Switch() { case 1; printf(查询信息); …… }//景点介绍 最短距离模块; int shortestdistance() { 初始化; 输入要查询的两个景点的编号 if(输入数字10 or 0) 重新输入; else {floyed(); display(i,j);} }//使用floyed算法设计最短路径 (4)void floyed()//计算最短路径 void display(int a,int b)//显示最短路径 3: 程序调用关系: 模块间调用关系: 主程序模块: ↙ ↘ 景点查询模块 最短距离模块 三:详细设计 (1)定义顶点,边,图,路径类型以及基本的相关操作 ①/*定义全局变量*/ int cost[n][n];/* 边的值*/ int shortest[n][n];/* 两点间的最短距离*/ int path[n][n];/* 经过的景点*/ ②/*自定义函数原型说明*/ void introduce(); int shortestdistance(); void floyed(); void display(int i,int j); (2)景点介绍: void introduce() {/*景点介绍*/ int a; printf(“您想查询哪个景点的详细信息?请输入景点编号:”); scanf(“%d”,a); getchar(); printf(“\n”); switch(a) { case 1: printf(“1:学校南门\n\n  学校的正门,气势宏伟。\n\n”);break; case 2: printf(“2:一号教学楼\n\n  学校主楼,一到四楼为教室,五楼为计算机中心\n\n”);break; case 3: printf(“3:体育馆\n\n  我校篮球馆。\n\n”);break; case 4: printf(“4:大学生活动中心\n\n  学校各种活动的举办场地,大学生的娱乐和休闲的中心。\n\n”);break; case 5: printf(“5:带河\n\n  学校横贯东西的小河,河水清澈,两岸绿柳成荫。\n\n”);break; case 6: printf(“6:后山\n\n  学校东边的小山,风景秀丽!\n\n”);break; case 7: printf(“7:自由广场\n\n  学校的主教学楼前广场,大型活动的举办地。\n\n”);break; case 8: printf(“8:风雨操场\n\n  体育场所在地,设有足球场、单杠、双杠等体育设施。\n\n”);break; case 9: printf(“9:图书馆\n\n  学校信息资源中心。\n\n\n”);break; case 10: printf(“10: 竹园\n\n  绿竹如荫。\n\n”);break; default: printf(“景点编号输入错误!请输入1-10的数字编号!\n\n”); break; } }/* introduce */ (3)要查找的两景点的最短距离: int shortestdistance() {/*要查找的两景点的最短距离*/ int i,j; printf(“请输入要查询的两个景点的编号(1-10的数字编号并用’,’间隔):”); scanf(“%d,%d”,i,j); if(in||i=0||jn||j0) {printf(“输入信息错

文档评论(0)

1亿VIP精品文档

相关文档