文档详情

广东海洋大学公交换乘系统课程设计.doc

发布:2017-01-01约1.39万字共17页下载文档
文本预览下载声明
广东海洋大学信息学院 课程设计报告 设计题目 公交换乘系统 课程名称 数据结构 姓名(学号) 201411621146 联系电话 专业名称 计算机科学与技术 所在班级 计科1141 指导教师 谢仕义 教师职称 教授 起止时间 2015 年11月20日至 2015年12月26日 评定成绩 目录 一、课程设计主要内容………………………………………P3 1.1 概况…………………………………………………………….P3 1.2 主要内容……………………………..………………….…P4 1.3 开发环境和工具………………………………..…………….P4 二、功能和结构设计………………………………………….P4 三、流程图和算法设计……………………………………………P4 四、源程序代码………………………………………….…..P9 五、课程设计总结………………………………………….…..P17 5.1 优点……………………………………………………P17 5.2 缺点……………………………………………………P17 5.3 自我总结……………………………………………P17 六、参考资料……………………………………………….…..P18 一、课程设计主要内容 1.1 概况 名称:公交换乘系统 用途:交通运输公司、乘客 功能:实现最优路线的显示 1.2 主要内容 公交换乘在一个城市的公共交通系统设计中占据着极其重要的地位,公交换乘的过程将直接影响居民出行时间的长短,公交换乘的过程如下:指定一起始公交站点与目的公交站点,依据参考因素,例如:换乘路线的路径最短、耗费时间最短、所需车资最少等,经过分析处理得到可达目的站点换乘次数最少的乘车方案,具体可分为: (1)零次换乘 起始站点和目的站点之间存在可直达的公交线路,即出行居民无需转乘就可以直接到达目的站点,这也是较为理想的方案。 (2)一次换乘 起始站点和目的站点之间没有公交车直接往返,即两站点之间不存在可直达的公交线路,则出行居民需要在途经的某个站点下车,然后转乘另一线路公交车才能达到目的站点。 (3)多次换乘 在起始站点和目的站点之间没有可直达的公交线路,出行居民需要经过一次以上的转乘才能达到目的站点,则得到多次换乘方案。多次换乘方案可通过一次换乘的递归计算得到,一般情况下,超过两次转乘的方案对于出行居民来说是难以接受的,本课程设计只要求计算零次和一次换乘方案,对于一次以上的公交换乘不作要求。 下面以图所示的公交线路图为例,来看一下公交换乘方案的选择。 在该交通公交线路图网中共有1线、2线、3线3条公交线路,每条线路各布有若干个公交站点(与公交线路对应颜色的小圆点标示),其中黑色圆点表示换乘站点,即不同线路共同经过的公交站点。例如,某一居民在湾桥站乘车前往目的站点建新东路站,则该居民可乘坐2线公交车即可直达目的站点,即零次换乘;如果该居民前往目的站点海运集团公司站,分析该公交线路可知该居民有两种一次换乘的乘车方案:其一是该居民在湾桥站乘坐2线公车到农垦医院站,然后再换乘1线公交车直到海运集团公司站;其二是该居民在湾桥站乘坐2线公车直到霞湖医院站,再换乘1线公交车到海运集团公司站;同理,仿照一次换乘的方法可得到其他多次换乘的乘车方案,可以自分析。 2)输入终点: 3)查询结果: 三、流程图和算法设计 用户通过输入起始站点和终点站来获取公交线路信息,流程图如下: 算法: (1)首先建立3个一位数组保存各个站点。具体算法如下:{ if(npathlen) throw上溢; for(int i=0;ipathlen;i++) { bus[i]=p[i]; } } string path1[pathlen]={农垦医院站,潜水运动学校站,海滨宾馆站,海上城市站,市旅游总公司站,霞湖医院站,海运集团公司站}; string path2[pathlen]={东华站,湾桥站,农垦医院站,啤酒厂站,俱乐部站,广医附院站,国贸站,广州湾站,建新东路站,霞湖医院站,霞山汽车运输总站}; string path3[pathlen]={海滨医院站,海滨宾馆站,儿童公园站,广州湾站,建设路站,湛江汽车南站,人民大道中巴专线,世纪广场站}; Busline a(path1,7); Busline b(path2,11); Busline c(path3,8); (2)判断乘客是否需要换乘,即起点和终点是否位于同一条公交线上: 1)如果可以直达,起点和终点位于同一条公交线上,算法如下: void Busline::through(int i,strin
显示全部
相似文档