全国铁路最短路径经由问题.doc

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国铁路最短路径经由问题

中南大学数据结构 课程设计报告 题 目 全国铁路最短路径经由问题 学生姓名 任秋峥 指导教师 李登 学 院 信息科学与工程学院 学 号 0909090711 专业班级 电子信息专业0901班 完成时间 2011年6月30号 目录 第一章、课程设计题目 3 1、问题描述 3 2、基本要求 3 3、实现提示 4 第二章、全国铁路最短路径经由问题的具体实现 6 2.1 需求分析 6 2.2 概要设计 6 1、设计思路 6 2、设计方案 7 2.3详细设计 10 1、定义结构体 10 2、输出车站信息 10 3、输出铁路信息 11 4、输出道路的信息 11 5、查询车站的功能 11 6、增加车站信息 12 7、增加铁路信息 12 8、最短路径的实现 12 9、实现所有函数功能 13 2.4 测试分析 13 1、测试数据 13 2、测试过程 14 3、测试结果 14 2.5用户使用说明 14 1 程序运行环境 14 2 主界面 14 2.6小结 17 1 调试过程中遇到的主要问题及解决过程 17 2.7总结和体会 17 2.8 附录 18 1、源程序代码 18 2、参考文献 29 第一章、课程设计题目 1、问题描述 题目为全国铁路最短路径经由问题 该题目采用我国铁路运输网的数据进行编程和运行验证。 铁路运输网络中由铁路线和火车站的两个主要概念,譬如:1号铁路线表示京广线,2号铁路线表示京沪线等。铁路线对象包括铁路线编号,铁路线名称,起始站编号,终点站编号,该铁路线长度,通行标志(00B客货运禁行,01B货运通行专线,10B客运通行专线,11B客货运通行)。 火车站对象包括所属铁路线编号,车站代码,车站名,车站简称,离该铁路线起点站路程及终点站路程。 2、基本要求 (1) 查询某站所属的铁路线 (2) 要求具备新增铁路线的管理功能 (3) 要求具备新增车站的管理功能 (4) 针对客运,货运情况能计算任何一个起始车站到任何一个终点站之间的最短路径。并且要求能够显示出该最短路径的各个火车站的经由顺序 3、实现提示 要在计算机上建立一个交通咨询系统则主要采取图的结构来表示实际的交通网路。我们可以将其转换为一个源点到另一个源点的最短路径,这里我应用了Floyd的算法。下图为简单交通线路 程序分别采用三个结构体来存储信息。views存储车站信息 车站身份编号 车站名 车站编码 车站简称 车站所属铁路线 line存储铁路信息 铁路编码 铁路名字 起始站编码 终点站编码 通行标志 ways存储道路信息 车站1 车站2 两站间距离 也可以将以上信息也存入三个文件夹中,在程序中利用fread函数把信息从文件中读出赋给三个结构体。 在实现查找车站功能时,首先利用fread函数从文件中读取数据,再调用strcmp函数比较输入车站名与文件存贮的车站名,如果相同,就输出该车站名的相关信息。 实现最短路径时,利用Floyd的算法。 在实现增加信息功能时可以利用fprintf函数和fscanf函数向文件中输入信息,同时文件中记录个数增加1. 第二章、全国铁路最短路径经由问题的具体实现 2.1 需求分析 1、可以直接向客户输出所有铁路和城市的信息 2、可以为客户提供查询车站的功能 3、可以为客户提供查询从一个车站到另一个车站的最短路径的功能 4、可以及时增加新的铁路和车站信息。 2.2 概要设计 1、设计思路 用文件存储信息,从文件中读取信息存储在views、lines、ways三个结构体中。再构造函数,分别实现输出、查询、最短路径、增加信息等功能。在用switch和while的循环语句来调用上述函数来实现功能,属于模块化实现功能。 2、设计方案 ①readviews ()、readlines、readways()函数分别实现输出车站、铁路、道路信息。从文件中读取信息赋给结构体,循环输出。 ②search()实现查询车站功能。利用fread函数把文件中的信息赋给结构体后,调用strcmp函数比较输入车站名,如果相同,就输出该车站的相关信息。 ③add views ()函数实现增加车站信息,可以调用fwrite或者fprintf函数向文件中写入信息。 Floyd()函数实现最短路径的查询 addllines()函数实现增加铁路线的信

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档