📄 zuoye.cpp
字号:
;
strcpy(outcity[e].city,oneminute5.city);
fifth[0].sum=0;
}
else if(flag==5)
{
int u,e;
for(u=1;strcmp(sixth[u].city,"");u++)
;
sixth[u]=oneminute6;
begin=oneminute6.city;
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute6.city);
sixth[0].sum=0;
}
else if(flag==6)
{
int u,e;
for(u=1;strcmp(seventh[u].city,"");u++)
;
seventh[u]=oneminute7;
begin=oneminute7.city;
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute7.city);
seventh[0].sum=0;
}
else if(flag==7)
{
int u,e;
for(u=1;strcmp(eighth[u].city,"");u++)
;
eighth[u]=oneminute8;
begin=oneminute8.city;
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute8.city);
eighth[0].sum=0;
}
else if(flag==8)
{
int u,e;
for(u=1;strcmp(ninth[u].city,"");u++)
;
ninth[u]=oneminute9;
begin=oneminute9.city;
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute9.city);
ninth[0].sum=0;
}
}//the first if
else
if(!strcmp(welike,"time"))
{
if(!empty(first))
{
strcpy(next1,lastcity(first).city);
oneminute1=searchsmalltime(next1);
linksum[0]=oneminute1.sum+lastcity(first).sum;
}
else
{
oneminute1=searchsmallmoney(last);
linksum[0]=oneminute1.sum;
goto line2;
}
if(!empty(second))
{
strcpy(next2,lastcity(second).city);
oneminute2=searchsmalltime(next2);
linksum[1]=oneminute2.sum+lastcity(second).sum;
}
else
{
oneminute2=searchsmallmoney(last);
linksum[1]=oneminute2.sum;
goto line2;
}
if(!empty(third))
{
strcpy(next3,lastcity(third).city);
oneminute3=searchsmalltime(next3);
linksum[2]=oneminute3.sum+lastcity(third).sum;
}
else
{
oneminute3=searchsmalltime(last);
linksum[2]=oneminute3.sum;
goto line2;
}
if(!empty(forth))
{
strcpy(next4,lastcity(forth).city);
oneminute4=searchsmalltime(next4);
linksum[3]=oneminute4.sum+lastcity(forth).sum;
}
else
{
oneminute4=searchsmallmoney(last);
linksum[3]=oneminute4.sum;
goto line2;
}
if(!empty(fifth))
{
strcpy(next5,lastcity(fifth).city);
oneminute5=searchsmalltime(next5);
linksum[4]=oneminute5.sum+lastcity(fifth).sum;
}
else
{
oneminute5=searchsmalltime(last);
linksum[4]=oneminute5.sum;
goto line2;
}
if(!empty(sixth))
{
strcpy(next6,lastcity(sixth).city);
oneminute6=searchsmalltime(next6);
linksum[5]=oneminute6.sum+lastcity(sixth).sum;
}
else
{
oneminute6=searchsmalltime(last);
linksum[5]=oneminute6.sum;
goto line2;
}
if(!empty(seventh))
{
strcpy(next7,lastcity(seventh).city);
oneminute7=searchsmalltime(next7);
linksum[6]=oneminute7.sum+lastcity(seventh).sum;
}
else
{
oneminute7=searchsmalltime(last);
linksum[6]=oneminute7.sum;
goto line2;
}
if(!empty(eighth))
{
strcpy(next8,lastcity(eighth).city);
oneminute8=searchsmalltime(next8);
linksum[7]=oneminute8.sum+lastcity(eighth).sum;
}
else
{
oneminute8=searchsmalltime(last);
linksum[7]=oneminute8.sum;
goto line2;
}
if(!empty(ninth))
{
strcpy(next9,lastcity(ninth).city);
oneminute9=searchsmalltime(next9);
linksum[8]=oneminute9.sum+lastcity(ninth).sum;
}
else
{
oneminute9=searchsmalltime(last);
linksum[8]=oneminute9.sum;
goto line2;
}
line2:
double min=1000000;
int flag=-1;
for(int s=0;s<9;s++)
if(min>linksum[s])
{
min=linksum[s];
flag=s;
}
if(flag==0)
{
int u,e;
for(u=1;strcmp(first[u].city,"");u++)
;
first[u]=oneminute1;
strcpy(begin,oneminute1.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute1.city); //标记已经走过了
first[0].sum=0; //表明存储链已经非空了
}
else if(flag==1)
{
int u,e;
for(u=1;strcmp(second[u].city,"");u++)
;
second[u]=oneminute2;
strcpy(begin,oneminute2.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute2.city);
second[0].sum=0;
}
else if(flag==2)
{
int u,e;
for( u=1;strcmp(third[u].city,"");u++)
;
third[u]=oneminute3;
strcpy(begin,oneminute3.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute3.city);
third[0].sum=0;
}
else if(flag==3)
{
int u,e;
for( u=1;strcmp(forth[u].city,"");u++)
;
forth[u]=oneminute4;
strcpy(begin,oneminute4.city);
for( e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute4.city);
forth[0].sum=0;
}
else if(flag==4)
{
int u,e;
for(u=1;strcmp(fifth[u].city,"");u++)
;
fifth[u]=oneminute5;
strcpy(begin,oneminute5.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute5.city);
fifth[0].sum=0;
}
else if(flag==5)
{
int u,e;
for(u=1;strcmp(sixth[u].city,"");u++)
;
sixth[u]=oneminute6;
strcpy(begin,oneminute6.city);
for( e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute6.city);
sixth[0].sum=0;
}
else if(flag==6)
{
int u,e;
for(u=1;strcmp(seventh[u].city,"");u++)
;
seventh[u]=oneminute7;
strcpy(begin,oneminute7.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute7.city);
seventh[0].sum=0;
}
else if(flag==7)
{
int u,e;
for(u=1;strcmp(eighth[u].city,"");u++)
;
eighth[u]=oneminute8;
strcpy(begin,oneminute8.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute8.city);
eighth[0].sum=0;
}
else if(flag==8)
{
int u,e;
for(u=1;strcmp(ninth[u].city,"");u++)
;
ninth[u]=oneminute9;
strcpy(begin,oneminute9.city);
for(e=0;strcmp(outcity[e].city,"");e++)
;
strcpy(outcity[e].city,oneminute9.city);
ninth[0].sum=0;
}
}//hen second if
else
;
}//while
//输出路线部分
cout<<begin;
if(find(first,begin)) //找出该目的节点所在存储数组,并打印该数组
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(first);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(second,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(second);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(third,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(third);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(forth,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(forth);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(fifth,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(fifth);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(sixth,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(sixth);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(seventh,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(seventh);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(eighth,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(eighth);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
if(find(ninth,begin))
{
cout<<"途经城市及交通工具如下:"<<endl;
cout<<"开始城市:"<<last<<endl;
print(ninth);
cout<<endl<<"目的城市:"<<begin;
cout<<endl;
}
else
cout<<"Wrong,find no way!"<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -