- 2
- 0
- 约 13页
- 2016-10-19 发布于贵州
- 举报
用图论实现校园游咨询 [文档在线提供]
校园导游咨询
一:需求分析
【基本要求】
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(“输入信息错
您可能关注的文档
最近下载
- 卧式储罐体积容积计算(带公式).xls VIP
- 深度解析(2026)《SYT 5661-2019钻井液用增粘剂 丙烯酰胺类聚合物》.pptx VIP
- SY_T 5061-2020 钻井液用石灰石粉.docx VIP
- 深度解析(2026)《SYT 5677-2019钻井液用滤纸》.pptx VIP
- ICU常用药物中英文对照一览表.doc VIP
- 心血管常用名词缩写和心血管常用药物英汉对照.pdf VIP
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套).doc VIP
- 深度解析(2026)SYT 5794-2010《钻井液用沥青类评价方法》:从标准解读到未来油田化学智能化应用的战略前瞻.pptx VIP
- 2025-2030中国化学镀镍行业市场发展趋势与前景展望战略研究报告.docx
- 深度解析(2026)《SYT 7377-2017钻井液设计规范》.pptx VIP
原创力文档

文档评论(0)