中国地质大学数据结构课设-全国铁路运输网最佳经由问题课程设计报告精选
数据结构
上机实习报告
实验题目:全国铁路运输网最佳经由问题
班级:
姓名:
学号:
完成日期:2017年4月25日
目录
课程设计题目 ———————————3
1.1 问题描述
1.2 基本要求
全国铁路运输网最佳经由问题————3
2.1数据结构的设计
2.2 程序设计思想
2.3 程序流程图
2.4 源程序
程序的调试与分析与使用——————54
3.1调试分析与测试数据
3.2用户使用手册
心得体会—————————————65
4.1 心得体会
第一章 课程设计题目
1.1问题描述
该题目采用我国铁路运输网的数据进行编程和运行验证。图如下(详细可在网上搜索《全国铁路局管辖线路示意图》),可以不要这么详细,只要全国的主干线就可以了。
铁路运输网络中由铁路线和火车站的两个主要概念,譬如:1号铁路线表示京广线,2号铁路线表示京沪线等。
铁路线对象包括铁路线编号,铁路线名称,起始站编号,终点站编号,该铁路线长度,通行标志(00B客货运禁行,01B货运通行专线,10B客运通行专线,11B客货运通行)。
火车站对象包括所属铁路线编号,车站代码,车站名,车站简称,离该铁路线起点站路程及终点站路程。
1.2基本要求
基本要求 查询某站所属的铁路线
要求具备新增新增
数据模型(逻辑结构): 带权无向图 。(采用2.1中所述的结构体,并且本程序采用的是文件存储数据。初次运行时需要写入站点和线路以及各方面的信息。在之后的操作中,进行的各种信息更改都会在程序运行中自动保存到文件中。)
根据6的基本功能编写6个函数,再根据各个函数所需实现的功能编写所需的嵌套的函数。逐层解决。最后进行调试运行。
2.3程序流程图
int main(); //主函数
void welcome(); //欢迎界面
void search_vex_info();//站点信息介绍
void search_rantwo_short();//查询任意两个站点之间的一条最短简单路径
void map_manage();//站点线路修改扩充
void search_two_allpath();//查询两站点间所有路径
void search_kh_path();//客货运类别路径查询
void create_map();//初始化地图
void save_map();//将程序中的图结构体写入数据文件
int input_num_check(int min,int max);//数字输入检验
void shortest_path_ota(int begin);//生成某一站点到所有其它站点的最短路径数据
void map_add_vex();//新增站点
void map_add_road();//新增道路
void map_revise_vex();//修改站点
void map_revise_road();//修改道路(引导界面)
void map_reroad_in(int vid);//修改道路(公用嵌入函数)
void map_delete_vex();//删除站点
void map_delete_road();//删除道路(引导界面)
void map_re_arc(int bid,int fid,int kind,int xid);//修改道路(模块函数) 若修改终点:调用前需确保xid(新终点)与原终点不相同
void DFS_allpath(int bid,int fid,int k);//寻找两点间所有路径并输出
void search_kh_kh(int kind);//查找所有符合类别的路径
void DFS_allpath_kh(int bid,int fid,int k,int kind);//寻找两点间所有路径并判断该路径上到道路是否全为客/货运线路
int DFS_allpath_kh_isinclude(int bz_i,int pa_k,int kind);//人客/货运线路 判断较长路径是否完全包含较短路径
int DFS_allpath_kh_test(int a_i,int b_i);//输出前检测 判断较长路径是否完全包含较短路径
2.4源程序
/****************************************
引用系统头文件
****************************************/
#include
#include
#include
#include
#include
#include
#include