欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    广东海洋大学数据结构课程设计——公交换乘系统(C++)(共12页).doc

    • 资源ID:13646844       资源大小:160KB        全文页数:12页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    广东海洋大学数据结构课程设计——公交换乘系统(C++)(共12页).doc

    精选优质文档-倾情为你奉上广东海洋大学信息学院课程设计报告设计题目公交换乘课程名称数据结构姓名(学号)联系电话专业名称所在班级指导教师 教师职称起止时间评定成绩一、 课程设计的主要内容公交换乘在一个城市的公共交通系统设计中占据着极其重要的地位,公交换乘的过程将直接影响居民出行时间的长短,公交换乘的过程如下:指定一起始公交站点与目的公交站点,依据参考因素,例如:换乘路线的路径最短、耗费时间最短、所需车资最少等,经过分析处理得到可达目的站点换乘次数最少的乘车方案,具体可分为:(1)零次换乘 起始站点和目的站点之间存在可直达的公交线路,即出行居民无需转乘就可以直接到达目的站点,这也是较为理想的方案。(2)一次换乘 起始站点和目的站点之间没有公交车直接往返,即两站点之间不存在可直达的公交线路,则出行居民需要在途经的某个站点下车,然后转乘另一线路公交车才能达到目的站点。(3)多次换乘 在起始站点和目的站点之间没有可直达的公交线路,出行居民需要经过一次以上的转乘才能达到目的站点,则得到多次换乘方案。多次换乘方案可通过一次换乘的递归计算得到,一般情况下,超过两次转乘的方案对于出行居民来说是难以接受的,本课程设计只要求计算零次和一次换乘方案,对于一次以上的公交换乘不作要求。二、 功能和结构设计1、功能设计在这里通过主函数显示程序的主页版,上面是湛江的公交线路图在这里输入出发站点的名字,回车确定!在这里输入最终站点的名字! 输入错误会提醒重新输入!输入要查询的起点和终点0次换乘,输出查询结果:按y或Y,可以继续查询!输入出发点和终点,一次换乘的结果如下:2、结构设计设计一个实现公交换乘的算法:指定任一起始站点和目的站点,依据算法得到所有可达目的站点的的公交线路,包括中间站点的换乘方法以及该公交线路所经过的公交站点。1 分析公交站点和公交线路的数据属性,并依据公交换乘的功能要求,确定算法设计方案;2 设计公交站点信息以及公交线路信息的存储结构;3 设计公交换乘算法,并画出程序流程图;4 使用C+程序设计语言编写实现公交换乘的程序;三、 流程图和算法设计开始搜索经过起始站点的所有公交线路和经过目的站点的所有公交线路判断是否存在同时经过其始站点和目的站点的公交线路对于经过起始站点的公交线路和经过目的站点的公交线路的每对数据结构中,是否经过相同的公交站点当前无法找到可行的换乘方案,打印相关信息结束找到一次换乘的乘车方案,打印换乘方案以及换乘路线所覆盖的站点信息否否是是找到零次换乘(直达)的乘车方案,打印直达路线所覆盖的站点信息四、 源程序代码#include<iostream>#include<string>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 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(n>pathlen) throw"上溢"for(int i=0;i<pathlen;i+)busi=pi;void Busline:zhida(int i,string sp,string fp,string p,int l) qd=i;for(int j=0;j<pathlen;j+)if(fp=pj)cout<<"可以直达,乘坐"<<l<<"号车!"<<endl;if(i<j)cout<<"该路线为:"<<endl;for(int k=i;k<=j;k+)cout<<pk<<" " elsecout<<"该路线为:"<<endl;for(int k=i;k>=j;k-)cout<<pk<<" "void Busline:gjhc(int i,int j,string sp,string fp,string p1,string p2) qd=i;zd=j;for(int k=0;k<pathlen;k+)for(int h=0;h<pathlen;h+)if(fp=p1h&&sp=p2k) for(int x=0;x<4;x+) for(int l=0;l<pathlen;l+) for(int l1=0;l1<pathlen;l1+) if(ax=p2l&&ax=p1l1)if(i<l)for(int y=i;y<l;y+)cout<<"经"<<p2y<<" "if(j<l1)cout<<"在"<<ax<<"转程,"<<" "for(int z=l1;z>=j;z-)cout<<"经"<<p1z<<" "cout<<"到"<<fp<<endl;else if(j>l1)cout<<"在"<<ax<<"转程,"<<" "for(int z=l1;z<=j;z+)cout<<"经"<<p1z<<" "cout<<"到"<<fp<<endl;else if(i>l)cout<<"在"<<ax<<"转程,"<<" "for(int y=i;y>l;y-)cout<<"经"<<p2y<<" "cout<<"到"<<fp<<endl;if(j<l1)for(int z=l1;z>=j;z-)cout<<"转"<<p1z<<" "else if(j>l1)cout<<"在"<<ax<<"转程,"<<" "for(int z=l1;z<=j;z+)cout<<"转"<<p1z<<" "cout<<"到"<<fp<<endl; 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; cout<<endl;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<<"请输入出发点:"<<endl;cin>>sp;begin1:cout<<"请输入终点:"<<endl;cin>>fp;int j1=1,jj=1;for(int d=0;d<7;d+)if(sp=path1d)j1=2;if(fp=path1d)jj=2;for( d=0;d<11;d+)if(sp=path2d)j1=2;if(fp=path2d)jj=2;for( d=0;d<8;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;i<pathlen;i+) for(int k1=0;k1<pathlen;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); cout<<"n"<<"是否继续?继续请输入y或者Y!"<<endl;char t;cin>>t;if(t='y'|t='Y')goto begin;else exit(1);五、 课程设计总结 在这次关于公交换乘的课程设计中,我了解到了我的不足,如算法的不完善、不细心和耐心不是很好等等。不细心的我在调试程序时,老是因为某个书写错误导致很多错误;对这些错误,我不得不花大量的时间去更正,并且还要重复检查是否出现雷同的错误而导致程序不能运行。但是通过这次课程设计,我的这些缺点有些改善。我在写新的程序时,首先要考虑的深入一点、仔细一点,这样修改程序的时间就会少很多。并且也不会因为自己不细心而导致浪费时间的情况出现。 通过这次数据结构的课程设计,加强了我的动手能力,以及提升了局部和统一考虑问题的思维方式。回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,可以说既辛苦,又受益匪浅,学到很多很多的东西,同时不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到很多问题,可以说是困难重重,毕竟是第一次做,难免会遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,等等。总的来说,这次公交换乘的课程设计虽然困难重重,但是在百度,老师,同学的帮助下让我学会了很多东西,收获很大。 六、 参考资料王红梅,胡明,王涛.数据结构(C+版)M,清华大学出版社,2013.专心-专注-专业

    注意事项

    本文(广东海洋大学数据结构课程设计——公交换乘系统(C++)(共12页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开