参考《数据结构实践教程》P56,所有功能如教程所示,并附加文件存储功能,即站点消息、公交线路信息等数据不得写入程序中,要求保存在文件中。
具体说明如下:
1、用文件一,例如文本文件,文件名stations.txt,保存站点信息,格式可以自行设计,例如:编号 站名
……
2、用文件二,例如文本文件,文件名buses.txt,保存公交信息,格式可以自行设计,例如:编号 线路名 起点站编号 终点站编号
1 539上行 1 20
2 539下行 20 1
……
3、用文件三,例如文本文件,文件名routes.txt,保存线路信息,格式可以自行设计,例如:线路编号 站点编号 站点编号 距离
1 1 2 650
1 2 3 400
……
……
4、设计公交线路所需的存储结构,将文件中的数据读入内存。
5、提供用户操作的菜单和界面实现添加、删除、修改公交、站点、线路信息,注意数据间的关联性。
6、将修改后的信息保存回文件。
7、其他查询操作参见教程。
1、数据格式
用多个文件存储数据,每个文件中存储哪些数据,数据格式是什么。
一定要将文件中的数据格式描述清楚,可以对文件中的数据进行截图后解释。
2、数据结构(读文件创建图)
将文件中的数据读入内存,建立图的存储结构,可以选择邻接矩阵或邻接表,给出存储结构的C语言定义。
3、查询公交线路和站点信息
为验证公交线路图是否创建成功,程序需实现查询公交线路和站点信息功能。
(1) 查询公交线路
输入公交线路编号,系统通过公交线路编号查找到该线路途经的所有站点并输出。
(2) 查询站点信息
输入站点编号,系统通过站点编号查找到所有经过该站点的公交线路并输出。
截图给出程序运行效果。
4、查询两站点之间的路线,找到至多换乘1次的路线,并输出结果。
用户输入要查询的起点和终点,程序将先判断两个站点之间是否有一条路径(即两个顶点之间是否连通)。若两个站点之间有路线,则找到所有最多换乘1次的路线,然后依次输出。
描述算法,可使用自然语言、流程图、伪码、带注解的源码等方式,根据算法描述的清晰程度评定成绩。
截图给出程序运行效果。
5、修改公交线路和站点信息,保存文件
提供用户操作的菜单和界面实现添加、删除、修改公交、站点、线路信息,注意数据间的关联性。
截图给出程序运行效果。
6、设计总结
可以包括调试过程中遇到的问题是如何解决的以及对设计与实现的回顾和分析、经验和体会等。
1