1、 课程设计报告 设 计 题 目 公交换乘 课 程 名 称 数据结构 姓名(学号) 联 系 电 话 专 业 名 称 所 在 班 级 指 导 教 师 教 师 职 称 起 止 时 间 评 定 成 绩 2 一、一、 课程设计的主要内容课程设计的主要内容 公交换乘在一个城市的公共交通系统设计中占据着极其重要的地位,公交换乘的过程 将直接影响居民出行时间的长短,公交换乘的过程如下:指定一起始公交站点与目的公交 站点,依据参考因素,例如:换乘路线的路径最短、耗费时间最短、所需车资最少等,经 过分析处理得到可达目的站点换乘次数最少的乘车方案,具体可分为: (1)零次换乘 起始站点和目的站点之间存在可直达的公交
2、线路,即出行居民无需转 乘就可以直接到达目的站点,这也是较为理想的方案。 (2)一次换乘 起始站点和目的站点之间没有公交车直接往返,即两站点之间不存在 可直达的公交线路,则出行居民需要在途经的某个站点下车,然后转乘另一线路公交车才 能达到目的站点。 (3)多次换乘 在起始站点和目的站点之间没有可直达的公交线路,出行居民需要经 过一次以上的转乘才能达到目的站点,则得到多次换乘方案。多次换乘方案可通过一次换 乘的递归计算得到,一般情况下,超过两次转乘的方案对于出行居民来说是难以接受的, 本课程设计只要求计算零次和一次换乘方案,对于一次以上的公交换乘不作要求。 二、功能和结构设计功能和结构设计 1
3、1、功能设计、功能设计 3 在这里通过主函数显示程序的主页版,上面是湛江的公交线路图 在这里输入出发站点的名字,回车确定! 在这里输入最终站点的名字! 输入错误会提醒重新输入! 输入要查询的起点和终点 0 次换乘,输出查询结果: 按 y 或 Y,可以继续查询! 输入出发点和终点,一次换乘的结果如下: 2、结构设计、结构设计 设计一个实现公交换乘的算法:指定任一起始站点和目的站点,依据算法得到所有可 达目的站点的的公交线路,包括中间站点的换乘方法以及该公交线路所经过的公交站点。 4 1分析公交站点和公交线路的数据属性,并依据公交换乘的功能要求,确定算法设计 方案; 2设计公交站点信息以及公交线路
4、信息的存储结构; 3设计公交换乘算法,并画出程序流程图; 4使用 C+程序设计语言编写实现公交换乘的程序; 三、三、 流程图和算法设计流程图和算法设计 开始 搜索经过起始站点的所有公交线路 和经过目的站点的所有公交线路 判断是否存在同时经过其始 站点和目的站点的公交线路 对于经过起始站点 的公交线路和经过 当前无法找到可行的换乘方 案,打印相关信息 结束 找到一次换乘的乘 车方案,打印换乘 否 否 是 是 找到零次换乘 (直达) 的乘车 5 四、四、 源程序代码源程序代码 #include #include using namespace std; const int pathlen=11; int qd,zd;/起点,终点的下标 string a4=“农垦医院站“,“广州湾站“,“霞湖医院站“,“海滨宾馆站“; class Busline public: Busline(string p,int n); void zhida(int i,string sp,string fp,string p,int l); void gj