




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东海洋大学信息学院课程设计报告设计题目公交换乘课程名称数据结构姓名(学号)联系电话专业名称所在班级指导教师 教师职称起止时间评定成绩一、 课程设计的主要内容公交换乘在一个城市的公共交通系统设计中占据着极其重要的地位,公交换乘的过程将直接影响居民出行时间的长短,公交换乘的过程如下:指定一起始公交站点与目的公交站点,依据参考因素,例如:换乘路线的路径最短、耗费时间最短、所需车资最少等,经过分析处理得到可达目的站点换乘次数最少的乘车方案,具体可分为:(1)零次换乘 起始站点和目的站点之间存在可直达的公交线路,即出行居民无需转乘就可以直接到达目的站点,这也是较为理想的方案。(2)一次换乘 起始站点和目的站点之间没有公交车直接往返,即两站点之间不存在可直达的公交线路,则出行居民需要在途经的某个站点下车,然后转乘另一线路公交车才能达到目的站点。(3)多次换乘 在起始站点和目的站点之间没有可直达的公交线路,出行居民需要经过一次以上的转乘才能达到目的站点,则得到多次换乘方案。多次换乘方案可通过一次换乘的递归计算得到,一般情况下,超过两次转乘的方案对于出行居民来说是难以接受的,本课程设计只要求计算零次和一次换乘方案,对于一次以上的公交换乘不作要求。二、 功能和结构设计1、功能设计在这里通过主函数显示程序的主页版,上面是湛江的公交线路图在这里输入出发站点的名字,回车确定!在这里输入最终站点的名字! 输入错误会提醒重新输入!输入要查询的起点和终点0次换乘,输出查询结果:按y或Y,可以继续查询!输入出发点和终点,一次换乘的结果如下:2、结构设计设计一个实现公交换乘的算法:指定任一起始站点和目的站点,依据算法得到所有可达目的站点的的公交线路,包括中间站点的换乘方法以及该公交线路所经过的公交站点。1 分析公交站点和公交线路的数据属性,并依据公交换乘的功能要求,确定算法设计方案;2 设计公交站点信息以及公交线路信息的存储结构;3 设计公交换乘算法,并画出程序流程图;4 使用C+程序设计语言编写实现公交换乘的程序;三、 流程图和算法设计开始搜索经过起始站点的所有公交线路和经过目的站点的所有公交线路判断是否存在同时经过其始站点和目的站点的公交线路对于经过起始站点的公交线路和经过目的站点的公交线路的每对数据结构中,是否经过相同的公交站点当前无法找到可行的换乘方案,打印相关信息结束找到一次换乘的乘车方案,打印换乘方案以及换乘路线所覆盖的站点信息否否是是找到零次换乘(直达)的乘车方案,打印直达路线所覆盖的站点信息四、 源程序代码#include#includeusing 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 gjhc(int i,int j,string sp,string fp,string p1,string p2);void tu();private:string buspathlen;Busline:Busline(string p,int n)if(npathlen) throw上溢;for(int i=0;ipathlen;i+)busi=pi;void Busline:zhida(int i,string sp,string fp,string p,int l) qd=i;for(int j=0;jpathlen;j+)if(fp=pj)cout可以直达,乘坐l号车!endl;if(ij)cout该路线为:endl;for(int k=i;k=j;k+)coutpk ; elsecout该路线为:=j;k-)coutpk ;void Busline:gjhc(int i,int j,string sp,string fp,string p1,string p2) qd=i;zd=j;for(int k=0;kpathlen;k+)for(int h=0;hpathlen;h+)if(fp=p1h&sp=p2k) for(int x=0;x4;x+) for(int l=0;lpathlen;l+) for(int l1=0;l1pathlen;l1+) if(ax=p2l&ax=p1l1)if(il)for(int y=i;yl;y+)cout经p2y ;if(jl1)cout在ax转程,=j;z-)cout经p1z ;cout到fpl1)cout在ax转程, ;for(int z=l1;z=j;z+)cout经p1z ;cout到fpl)cout在ax转程,l;y-)cout经p2y ;cout到fpendl;if(j=j;z-)cout转p1zl1)cout在ax转程, ;for(int z=l1;z=j;z+)cout转p1z ;cout到fpendl; void Busline:tu() cout 湛江公交路线图 endl; cout 2线 endl; cout endl; cout 东华站 endl; cout endl; cout 湾桥站 潜水运动 海滨医院站 endl; cout 学校站 海上城市站 endl; cout农垦医院站海滨宾馆站 endl; cout endl; cout 啤酒厂站 儿童公园站 市旅游总公司站 endl; cout endl; cout 俱乐部站 endl; cout 广州湾站 霞湖医院站 endl; cout endl; cout 广医附院站 国贸站 建新东路站 霞山汽车运输总站 endl; cout endl; cout 3线 endl; cout 建设路站 海运集团公司站 endl; cout世纪广场站 人民大道 湛江汽车南站 endl; cout 中巴专线 1线 endl; cout (为换乘站点,为普通站点) endl; coutendl;void main() string path1pathlen=农垦医院站,潜水运动学校站,海滨宾馆站,海上城市站,市旅游总公司站,霞湖医院站,海运集团公司站; string path2pathlen=东华站,湾桥站,农垦医院站,啤酒厂站,俱乐部站,广医附院站,国贸站,广州湾站,建新东路站,霞湖医院站,霞山汽车运输总站; string path3pathlen=海滨医院站,海滨宾馆站,儿童公园站,广州湾站,建设路站,湛江汽车南站,人民大道中巴专线,世纪广场站;Busline a(path1,7);Busline b(path2,11);Busline c(path3,8);a.tu();string sp,fp;begin: cout请输入出发点:sp;begin1:cout请输入终点:fp;int j1=1,jj=1;for(int d=0;d7;d+)if(sp=path1d)j1=2;if(fp=path1d)jj=2;for( d=0;d11;d+)if(sp=path2d)j1=2;if(fp=path2d)jj=2;for( d=0;d8;d+)if(sp=path3d)j1=2;if(fp=path3d)jj=2;if(j1=1)cout输入的出发点有错,请重新输入:endl;goto begin;if(jj=1)cout输入的终点点有错,请重新输入:endl;goto begin1;elsefor(int i=0;ipathlen;i+) for(int k1=0;k1pathlen;k1+)if(fp=path1k1) if(sp=path1i)a.zhida(i,sp,fp,path1,1);else if(sp!=path1i) if(sp=path2i)cout需要换乘,转程方式为:2路转1路线endl;a.gjhc(i,k1,sp,fp,path1,path2);if(sp=path3i)cout需要换乘,转程方式:3路转1路线endl;a.gjhc(i,k1,sp,fp,path1,path3);else if(fp=path2k1) if(sp=path2i)b.zhida(i,sp,fp,path2,2);else if(sp!=path2i)if(sp=path1i)cout需要换乘,转程方式:1路转2路线endl;b.gjhc(i,k1,sp,fp,path2,path1);else if(sp=path3i)cout需要换乘,转程方式:3路转2路线endl;b.gjhc(i,k1,sp,fp,path2,path3);else if(fp=path3k1) if(sp=path3i)c.zhida(i,sp,fp,path3,3);else if(sp!=path3i)if(sp=path1i)cout转程方式:1路转3路线endl;c.gjhc(i,k1,sp,fp,path3,path1);else if(sp=path2i)cout转程方式:2路转3路线endl;c.gjhc(i,k1,sp,fp,path3,path2); coutn是否继续?继续请输入y或者Y!t;if(t=y|t=Y)goto begin;else exit(1);五、 课程设计总结 在这次关于公交换乘的课程设计中,我了解到了我的不足,如算法的不完善、不细心和耐心不是很好等等。不细心的我在调试程序时,老是因为某个书写错误导致很多错误;对这些错误,我不得不花大量的时间去更正,并且还要重复检查是否出现雷同的错误而导致程序不能运行。但是通过这次课程设计,我的这些缺点有些改善。我在写新的程序时,首先要考虑的深入一点、仔细一点,这样修改程序的时间就会少很多。并且也不会因为自己不细心而导致浪费时间的情况出现。 通过这次数据结构的课程设计,加强了我的动手能力,以及提升了局部和统一考虑问题的思维方式。回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,可以说既辛苦,又受益匪浅,学到很多很多的东西,同时不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南省血吸虫病防治所(湖南省第三人民医院)高层次人才公开招聘12人模拟试卷完整参考答案详解
- 2025年报刊出版项目提案报告
- 2025湖南张家界市医疗保障局聘用公益性岗位人员考前自测高频考点模拟试题及完整答案详解
- 数据守秘与合规承诺书范本7篇范文
- 2025湖北武汉设计工程学院博士人才招聘考前自测高频考点模拟试题附答案详解(模拟题)
- 人工智能技术应用领域合规经营保证承诺书(9篇)
- 介绍我的新朋友写人作文7篇
- 2025江苏省规划设计院校招模拟试卷及答案详解(必刷)
- 2025广西百色靖西市人民医院招聘导诊分诊员1人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年泉州德化阳山铁矿有限责任公司招聘劳务派遣人员考前自测高频考点模拟试题完整参考答案详解
- 2025年银行从业资格考试公共基础真题及答案
- 2025年辅警考试真题及答案
- 2025-2026学年统编版五年级上册语文第二单元过关试卷附答案(三套)
- 2025年上海公务员录用考试《行测》真题及答案解析(记忆版)
- 2025年农村土地租赁协议(合同样本)
- 铁路礼仪培训课件
- 海上安全培训课课件
- 神经外科重症管理临床指南
- 铁路客运防寒过冬课件
- 2025年三力测试题试题及答案
- 小学竖笛社团活动计划及活动总结
评论
0/150
提交评论