一 问题描述:
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
二 基本要求:
1)设计你所在学校的校园平面图,所含景点不少于10个.以图中顶点表示校内各景点,存放景点名称、代号、简介 等信息;以边表示路径,存放路径长度等相关信息。
2) 为来访客人提供图中任意景点相关信息的查询。
3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
三 问题分析:
1.数据结构的选取
使用无向图作为该项目的数据结构。图的顶点分别为学校的景点并包括景点的名称,代号,简介等信息;以无向图的边表示两个景点之间连通,并以边的权重表示两个景点之间的路径长度。
2.结构体的定义
校园平面为无向网,网图中的每个结点代表校园内的一个景点,该结构体中包含该景点的详细信息——String类型的景点名称,int类型的景点代号,String类型的景点简介等。
3.功能分析
1)用户可以通过输入景点代号或者景点名称来查询对应景点的详细信息。
2)用户通过输入景点名称查询两个景点的最短路径
4限制条件
考虑校园道路为双向通行
四 逻辑设计:
1.数据类型
struct学校
string景点名称
int景点代号
string景点简介
int景点间的最短距离
2.模块划分以及调用关系图
五 物理设计:
伪代码:
1主函数
1)定义景点数n
2)将n中存储相关信息
3)设计用户选择景点和定义最短路径
2景点信息
1)将景点详细信息存入设置为结点
2)用户交互选择景点或得信息
3景点路径
1)选取两个景点的结点
2)计算最短路径
3)返回值并反馈给用户