1 、需求分析 设计一个校园导游系统程序,为来访的客人提供各种服务的信息查询
设计工商学院校园无向图,所含的景点不少于 10 个
以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息
为来访客人提供图中任意景点相关信息的查询
为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径
2 、设计思路 校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟
用图的结点代表景点,用图的边代表景点之间的路径
所以首先应设计一个图类
结点值代表景点信息,边的权值代表景点间的距离
结点值及边的权值用顺序表存储,所以需要设计一个顺序表类
本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现
计算路径长度和最短路线时可用弗洛伊德(Floyd)算法实现
最后用 switch 选择语句选择执行浏览景点信息或查询最短路径
3 算法设计 3
1 概要设计 3
1 程序中包含的模块 (1)主程序模块 主函数:void main(void) void cmd(void) cmd 修改显示框大小,字体背景颜色,初始化景点,景点信息打印菜单, MGraph InitGraph(void); // 初始化图
MGraph * CreatUDN(MGraph *G); //初始化图形接受用户输入 void Menu(void);//菜单函数 void Browser(MGraph *G);//浏览函数 void ShortestPath_DIJ(MGraph *G); void Floyd(MGraph *G);// 查询图中任意两个景点间的所有路径 void Search(MGraph *G);//查找函数 i