1、0次换乘,输出查询结果:按y或Y,可以继续查询!输入出发点和终点,一次换乘的结果如下:四:设计要求 认真参阅本课程设计的相关参考资料、数据,了解公交换乘的原理要求,设计一个实现公交换乘的算法:指定任一起始站点和目的站点,依据算法得到所有可达目的站点的的公交线路,包括中间站点的换乘方法以及该公交线路所经过的公交站点。1 分析公交站点和公交线路的数据属性,并依据公交换乘的功能要求,确定算法设计方案;2 设计公交站点信息以及公交线路信息的存储结构;3 设计公交换乘算法,并画出程序流程图;4 使用C或C+程序设计语言编写实现公交换乘的程序;五:实验总结通过一个星期的编写和不断的调试,公交换乘终于完成了
2、。完成一个课程设计,首先你必须了解那些功能是怎样实现的及其原理。再者,一些细节问题,有时要一不小心,整个程序都会出现问题。写这个程序,我学到很多以前课本没有学到的知识,而且也认识到程序设计并不只是看看就能学会,还要自己不断的动手才能不断的进步,在这个过程中,我也感受到编程成功的喜悦。通过完成本次公交换乘系统设计的任务,使我们熟练和掌握了c+中的一些主要知识点和应用点,。可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。也体现出同学之间的团结精神。我们小组四个人分工合作所遇种种难以解
3、决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。 附件:(程序代码)#includestringusing 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
4、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;jj+) if(fp=pj) cout可以直达,乘坐l号车!endl; if(ij) cout该路线为: for(int
5、k=i;k=j;k+) pk else coutk-)gjhc(int i,int j,string sp,string fp,string p1,string p2) zd=j; for(int k=0; for(int h=0;hh+) if(fp=p1h&sp=p2k) for(int x=0;x4;x+) for(int l=0;l+) for(int l1=0;l1l1+) if(ax=p2l&ax=p1l1) if(il) for(int y=i;yl;y+) cout经p2y if(jl1)在axz-) coutp1z 到fpz couty-)转 tu() coutsp;begi
6、n1:请输入终点: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;11; if(sp=path2d) if(fp=path2d)8; if(sp=path3d) if(fp=path3d) if(j1=1)输入的出发点有错,请重新输入: goto begin; if(jj=1) 输入的终点点有错,请重新输入: goto begin1; else for(int i=0; for(int k1=0;k1k1+) if(fp=path1k1) if(sp=path1i) a
7、.zhida(i,sp,fp,path1,1); else if(sp!=path1i) if(sp=path2i)需要换乘,转程方式为:2路转1路线 a.gjhc(i,k1,sp,fp,path1,path2); if(sp=path3i)需要换乘,转程方式:3路转1路线 a.gjhc(i,k1,sp,fp,path1,path3); else if(fp=path2k1) if(sp=path2i) b.zhida(i,sp,fp,path2,2);=path2i) if(sp=path1i)1路转2路线 b.gjhc(i,k1,sp,fp,path2,path1); else if(sp=path3i) cout3路转2路线 b.gjhc(i,k1,sp,fp,path2,path3); else if(fp=path3k1) if(sp=path3i) c.zhida(i,sp,fp,path3,3);=path3i)转程方式:1路转3路线 c.gjhc(i,k1,sp,fp,path3,path1); else if(sp=path2i)2路转3路线 c.gjhc(i,k1,sp,fp,path3,path2); coutt;if(t=y|t=Y)goto begin;else exit(1);日期
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1