C++公交换乘系统Word格式.docx
- 文档编号:22197430
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:118.66KB
C++公交换乘系统Word格式.docx
《C++公交换乘系统Word格式.docx》由会员分享,可在线阅读,更多相关《C++公交换乘系统Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
0次换乘,输出查询结果:
按y或Y,可以继续查询!
输入出发点和终点,一次换乘的结果如下:
四:
设计要求
认真参阅本课程设计的相关参考资料、数据,了解公交换乘的原理要求,设计一个实现公交换乘的算法:
指定任一起始站点和目的站点,依据算法得到所有可达目的站点的的公交线路,包括中间站点的换乘方法以及该公交线路所经过的公交站点。
1.分析公交站点和公交线路的数据属性,并依据公交换乘的功能要求,确定算法设计方案;
2.设计公交站点信息以及公交线路信息的存储结构;
3.设计公交换乘算法,并画出程序流程图;
4.使用C或C++程序设计语言编写实现公交换乘的程序;
五:
实验总结
通过一个星期的编写和不断的调试,公交换乘终于完成了。
完成一个课程设计,首先你必须了解那些功能是怎样实现的及其原理。
再者,一些细节问题,有时要一不小心,整个程序都会出现问题。
写这个程序,我学到很多以前课本没有学到的知识,而且也认识到程序设计并不只是看看就能学会,还要自己不断的动手才能不断的进步,在这个过程中,我也感受到编程成功的喜悦。
通过完成本次公交换乘系统设计的任务,使我们熟练和掌握了c++中的一些主要知识点和应用点,。
可以所学有所学,所有所用,不至于自己所学知识由于没有经历可用过程,而放弃对它的兴趣。
锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。
也体现出同学之间的团结精神。
我们小组四个人分工合作所遇种种难以解决的问题,大家都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。
附件:
(程序代码)
#include<
iostream>
string>
usingnamespacestd;
constintpathlen=11;
intqd,zd;
//起点,终点的下标
stringa[4]={"
农垦医院站"
"
广州湾站"
霞湖医院站"
海滨宾馆站"
};
classBusline
{
public:
Busline(stringp[],intn);
voidzhida(inti,stringsp,stringfp,stringp[],intl);
voidgjhc(inti,intj,stringsp,stringfp,stringp1[],stringp2[]);
voidtu();
private:
stringbus[pathlen];
Busline:
:
Busline(stringp[],intn)
{
if(n>
pathlen)throw"
上溢"
;
for(inti=0;
i<
pathlen;
i++)
{
bus[i]=p[i];
}
}
voidBusline:
zhida(inti,stringsp,stringfp,stringp[],intl)
qd=i;
for(intj=0;
j<
j++)
if(fp==p[j])
cout<
<
"
可以直达,乘坐"
l<
号车!
endl;
if(i<
j)
{
cout<
该路线为:
for(intk=i;
k<
=j;
k++)
{
p[k]<
"
}
}
else
cout<
for(intk=i;
k>
k--)
gjhc(inti,intj,stringsp,stringfp,stringp1[],stringp2[])
zd=j;
for(intk=0;
for(inth=0;
h<
h++)
if(fp==p1[h]&
&
sp==p2[k])
{
for(intx=0;
x<
4;
x++)
for(intl=0;
l++)
for(intl1=0;
l1<
l1++)
if(a[x]==p2[l]&
a[x]==p1[l1])
if(i<
l)
{
for(inty=i;
y<
l;
y++)
{
cout<
经"
p2[y]<
}
if(j<
l1)
在"
a[x]<
转程,"
for(intz=l1;
z>
z--)
{
cout<
p1[z]<
}
到"
fp<
elseif(j>
z<
z++)
}
elseif(i>
cout<
y>
y--)
转"
tu()
cout<
湛江公交路线图"
2线|"
|"
东华站○"
||"
湾桥站○潜水运动○海滨医院站"
|学校站|海上城市站"
 ̄农垦医院站● ̄ ̄○ ̄ ̄ ̄●海滨宾馆站 ̄ ̄ ̄○ ̄ ̄ ̄|"
|||"
啤酒厂站○○儿童公园站○市旅游总公司站"
俱乐部站○||"
|广州湾站||霞湖医院站"
 ̄○ ̄○ ̄ ̄● ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄● ̄ ̄○ ̄ ̄"
广医附院站国贸站|建新东路站|霞山汽车运输总站"
3线||"
 ̄ ̄○ ̄ ̄○ ̄ ̄ ̄○ ̄○建设路站○海运集团公司站"
世纪广场站人民大道湛江汽车南站|"
中巴专线|1线"
(●为换乘站点,○为普通站点)"
voidmain()
stringpath1[pathlen]={"
潜水运动学校站"
海上城市站"
市旅游总公司站"
海运集团公司站"
stringpath2[pathlen]={"
东华站"
湾桥站"
啤酒厂站"
俱乐部站"
广医附院站"
国贸站"
建新东路站"
霞山汽车运输总站"
stringpath3[pathlen]={"
海滨医院站"
儿童公园站"
建设路站"
湛江汽车南站"
人民大道中巴专线"
世纪广场站"
Buslinea(path1,7);
Buslineb(path2,11);
Buslinec(path3,8);
a.tu();
stringsp,fp;
begin:
请输入出发点:
cin>
>
sp;
begin1:
请输入终点:
fp;
intj1=1,jj=1;
for(intd=0;
d<
7;
d++)
if(sp==path1[d])
j1=2;
if(fp==path1[d])
jj=2;
for(d=0;
11;
if(sp==path2[d])
if(fp==path2[d])
8;
if(sp==path3[d])
if(fp==path3[d])
if(j1==1)
输入的出发点有错,请重新输入:
gotobegin;
if(jj==1)
{
输入的终点点有错,请重新输入:
gotobegin1;
}
else
for(inti=0;
for(intk1=0;
k1<
k1++)
if(fp==path1[k1])
{
if(sp==path1[i])
a.zhida(i,sp,fp,path1,1);
elseif(sp!
=path1[i])
{
if(sp==path2[i])
需要换乘,转程方式为:
2路转1路线"
a.gjhc(i,k1,sp,fp,path1,path2);
if(sp==path3[i])
需要换乘,转程方式:
3路转1路线"
a.gjhc(i,k1,sp,fp,path1,path3);
elseif(fp==path2[k1])
if(sp==path2[i])
b.zhida(i,sp,fp,path2,2);
=path2[i])
if(sp==path1[i])
1路转2路线"
b.gjhc(i,k1,sp,fp,path2,path1);
elseif(sp==path3[i])
{
cout<
3路转2路线"
b.gjhc(i,k1,sp,fp,path2,path3);
}
elseif(fp==path3[k1])
if(sp==path3[i])
c.zhida(i,sp,fp,path3,3);
=path3[i])
转程方式:
1路转3路线"
c.gjhc(i,k1,sp,fp,path3,path1);
elseif(sp==path2[i])
2路转3路线"
c.gjhc(i,k1,sp,fp,path3,path2);
}
cout<
\n"
是否继续?
继续请输入y或者Y!
!
chart;
cin>
t;
if(t=='
y'
||t=='
Y'
)
gotobegin;
else
exit
(1);
日期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 公交 换乘 系统