⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zuoye.cpp

📁 交通路线最优路径寻找程序
💻 CPP
📖 第 1 页 / 共 4 页
字号:
				;
			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 + -