上海电机学院课程设计报告课设课题:数据结构━━交通咨询系统学院:电子信息学院1 专业: 网络工程 1 姓名: 唐章武 1 班级: BX1213 指导老师: 张艳 1 报告日期: 2013 年 12月 11日年月制 1 目录一、需求分析: ........................................................................................................................ 1 二、总体结构设计: ................................................................................................................ 1 三、各子模块设计: ................................................................................................................ 2 四、编程实现: ........................................................................................................................ 3 五、测试结果: ........................................................................................................................ 6 六、总结: ................................................................................................................................ 9 七、参考文献: ........................................................................................................................ 9 九、附录源代码: .................................................................................................................. 101 一、需求分析: 设计一程序,完成交通咨询系统的设计。旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低费用或最少时间等问题。对于不同咨询要求, 可以输入城市间的路程或所需要时间或所需费用。可用实例来验证迪杰斯特拉算法。要求“建立交通网络图的存储结构; 解决单源最短路径问题; 实现两个城市顶点之间的最短路径问题。要求: 根据以上功能说明,设计程序完成功能。二、总体结构设计: 输入不同数字, 来控制程序执行不同的子模块并实现相应功能。图 主菜单总体设计结构 2 三、各子模块设计: 子模块新建城市网, 按要求输入城市名字、边数以及各边权值图 新建城市网流程图 3 子模块输入出发地和目的地,咨询权值分别为路程、时间、费用的最短路径图 求最短路径流程图四、编程实现: 鉴于实际生活中交通网络的双向性,特建立无向网来说明各城市间的交通关系。#include<> #include<> #include<> #define MAXLEN 100 #define INFINITY 99999 // 定义一个很大的数, 邻接矩阵边的初始权值// 图的邻接矩阵存储结构如下: typedef struct { 4 char vexs[MAXLEN][MAXLEN]; float edges_path[MAXLEN][MAXLEN]; // 以路径为边的权值 float edges_money[MAXLEN][MAXLEN]; // 以费用为边的权值 float edges_time[MAXLEN][MAXLEN]; // 以时间为边的权值 int n,e; }MGraph; // 建立一个无向图的邻接矩阵存储的算法简略如下: MGraph *CreateMGraph() { int i,j,k; float weight_path,weight_money,weight_time; char ch1[M
数据结构课程设计课程设计报告 来自淘豆网www.taodocs.com转载请标明出处.