亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? new_file.cpp

?? 本程序實現的是南京的公交線路查詢
?? CPP
?? 第 1 頁 / 共 5 頁
字號:

#include<iostream.h>
#include<fstream.h>
#include<string.h>
#include<math.h>
///* change 是用于轉一次車的情況  *///
struct change/////標記中轉一次時由起點到終點的所有屬性
{
	char round[20];////中轉點名稱
	char begin_line[20];////起始到中轉點要坐的車號
	int begin_id;/////起點到中轉的id號
	char end_line[20];///記錄中轉到終點的車號
	int end_id;////中轉到終點的id號
	int lu_cheng;/////要經過的路程數
	
};

struct two_to_out
{
	int my_id;////記錄實現起點到終點的方案的ID號

	char begin_to_zhongzhuan1[20];/////起點到中轉1所要經過的公交路線
//	int begin_to_zhongzhuan1_id;/////起點到中轉1所要經過的公交路線的ID號
	int begin_to_zhongzhuan1_begin_num;/////在起點到中轉1的公交線路中,起點站在這個公交線路中的位置
	int begin_to_zhongzhuan1_end_num;/////在起點到中轉1的公交線路中,中轉1在這個公交線路中的位置
//	char begin_to_zhongzhuan1_stage[50][20];//////起點到中轉線路所要經過的公交站點的名字
	int begin_to_zhongzhuan1_stage_flag;/////記錄實際上從起點到中轉1有多少公交站臺
	
	char zhongzhuan1_to_zhongzhuan2[20];/////中轉1到中轉2的公交路線
//	int zhongzhuan1_to_zhongzhuan2_id;//////中轉1到中轉2的公交路線的ID號
	int zhongzhuan1_to_zhongzhuan2_begin_num;/////在中轉1到中轉2的路線中,中轉1在整個中間路線中的位置
	int zhongzhuan1_to_zhongzhuan2_end_num;/////在中轉1到中轉2的路線中,中轉2在整個公交線路中的位置
//	char zhongzhuan1_to_zhongzhuan2_stage[50][20];////中轉1到中轉2所要經過的站點的名字
	int zhongzhuan1_to_zhongzhuan2_stage_flag;/////中轉1到中轉2實際上要經過的站點的數目
	
	char zhongzhuan2_to_end[20];////中轉2到終點的公交路線的名字	
//	int zhongzhuan2_to_end_id;/////中轉2到終點的公交路線的ID號
	int zhongzhuan2_to_end_begin_num;////在中轉2到終點的公交路線中,中轉2所處的位置
	int zhongzhuan2_to_end_end_num;////在中轉2到終點的公交路線中,終點所處的位置
//	char zhongzhuan2_to_end_stage[50][20];/////中轉2到終點所經過的公交站點的名字
	int zhongzhuan2_to_end_stage_flag;//////中轉2到終點實際上經過的站點的數目
	
	char zhongzhuan1_stage[20];///////中轉1的站臺名字
		
	char zhongzhuan2_stage[20];/////中轉2的展臺名字
	
	int begin_to_end_distance;/////起點到終點所要經過的站臺總數目
	
};


two_to_out final_out[600];///////用于最后的數據的輸出,存放的是起點到終點需要轉兩次車的所有方案,假設最多兩百種
int final_out_flag=0;/////記錄實際上輸出的方案的數目,和上面的數組是相對應的


////***以下的結構體的定義是為了轉車兩次的情況服務**///
struct station_change_bus
{
	int change_line_num;//////記錄從起點或終點到站臺change_round[20]的所有可能的公交路線的數量
	char change_line_name[30][20];/////由起點或終點到中轉的公交路線名字/*和下面的change_line_id 是一一對應的*/
	int change_line_id[30];////由起點或者終點到中轉的公交路線ID號	   /*和上面的change_line_name 是一一對應的*/
	char change_round[20];////中轉站的名字
	
	int qidian_stage_num[30];////起點在當前公交線路中的位置,即num    /*和上面的一一對應,由于同一個起點或終點站在不同的公交線路中所對應的站號也不同*/
	int zhongdian_stage_num[30];//////中轉1在當前公交線路中的位置   /*和上面的相對應,由于同一個中轉在不同的公交線路中所對應的站號不同*/


	int change_round_id;////對應于上面的中轉站的ID號
	int distance[20];////由到中轉所要的距離								/*和上面的相對應*/
};

///*  change_twice 是用于轉兩次車的情況  *///
struct change_twice
{
	int my_id;////記錄在轉兩次的線路選擇中的id號,通過輸入id號就可以得到轉兩次車的乘車方案
	
	station_change_bus begin_to_change1[500];//////假設從起點到中轉1的方案總數至多為500個,此時中轉1的站臺還沒有確定
	int begin_to_change1_flag;////標記實際上從起點到中轉1的方案數目,初始值為0
	
	char change_line2[20];////由第一道中轉站到第二道中轉所要的公交路線的名字,為最早得到的值
	int change_id2;/////第一道中轉到第二段中轉的公交車的ID號,即change_line2[20]的id號
	
	station_change_bus end_to_change2[500];///////從終點到中轉2的方案,至多為500個,此時中轉2的站臺還沒確定
	int end_to_change2_flag;////標記實際上從終點到中轉2的方案數目,初始值為0
	
	int lu_cheng[500];/////總共要經過的站臺的數目
	
};
change_twice change_two[600];///// 支持最多的轉兩路車的情況有六百種方案
int change_two_flag=0;/////標記實際的中轉路線的條數
struct together
{
	char way[20];////標記是哪一路車
	int num;////標記著一路車在整個路線的位置
};

char input1[20];////
char input2[20];////兩個字符數組,用于存放兩個輸入的字符

struct station
{
	char name[20];////站點的名字
	together biaoji[100];///包括車號和站點的排序
	int num;////標記已經有了多少個站臺庫,相當于ID號
	int line_in;////標記有了多少條線路入棧
	int quan;/////比較在模糊算法中的比較權值
	//	int way[100];////經過站點的車的車號
	//	int biaoji[200];////biaoji數組的作用是標明當前站臺是某一條公交線的正向第幾站
	//	station *next;///指向下一個站點
};

struct bus
{
	
	char name[20];////公交車的車號
	char line[100][20];///////記錄這一條公交線所經過的車站的名字
	int geshu;////記錄這一條線共有多少條站
	int id;/////用于記錄本站在bus_line數組中的標號
	
};
station stage[3000];
bus bus_line[600];
int stage_num=0;////record tmpe stage
int bus_num=0;///record temp bus

///*以下函數的作用是根據輸入的公交線路的名字來確定此公交線路的id號*///
int return_bus_id(char *p)
{
	for(int light0=0;light0<=bus_num;light0++)
	{
		int tmp_light1;
		tmp_light1=strcmp(bus_line[light0].name,p);
		if(tmp_light1==0)
		{
			return bus_line[light0].id;
			
		}
		
	}
}

///** 以下函數的作用是根據輸入的站臺的名字來返回站臺的ID號    **///
int return_stage_id(char *p)
{

	for(int tmp_use=0;tmp_use<=stage_num;tmp_use++)////遍歷所有的站點
	{
		int tmp_me;
		tmp_me=strcmp(stage[tmp_use].name,p);
		if(tmp_me==0)
		{
		
		return stage[tmp_use].num;///////返回ID號
		
		}
	
	
	}
	return -1;
}

///***以下函數的作用是根據一條公交線路中的起始位置和終了位置,輸出處于期間的公交站點的名字**////
void output_stage_with_line(int start_num,int end_num,int bus_in_id)
{	
	if(start_num>end_num)/////如果起始的站牌號大于終了的站牌號
	{
		int out_enter_here=0;

		for(int wjs0=start_num;wjs0>=end_num;wjs0--)
		{
			out_enter_here++;
			if(out_enter_here%6==0)cout<<endl;///每6個站點一行輸出一個回車
			cout<<bus_line[bus_in_id].line[wjs0]<<" ->";
		}		
		
	}
	else/////如果起始的站牌號小于終了站點的站牌號
	{
		int out_enter_here1=0;
		for(int wjs1=start_num;wjs1<=end_num;wjs1++)
		{
			out_enter_here1++;
			if(out_enter_here1%6==0)cout<<endl;/////每六個站點輸出一個回車
			cout<<bus_line[bus_in_id].line[wjs1]<<"-> ";			
		}		
	}	
}

//////////***函數的作用是產生字符串比較的權值,看他們的相似程度***////////////
int mohu(char *mohu_in,char *have)
{
	
	int tmp_num=0;
	int ret_num=0;
	int max;////數組中長度比較長的那一個的長度
	int min;////數組中長度比較短的那一個
	if(strlen(mohu_in)>=strlen(have))
	{
		
		max=strlen(mohu_in);
		min=strlen(have);
		
	}
	else
	{
		
		max=strlen(have);
		min=strlen(mohu_in);
		
		
	}
	
	for(int wife0=0;wife0<=(max-min);wife0++)////總共要比較的次數
	{
		for(int wife1=0;wife1<min;wife1++)///對于每一次比較而言所要比較的字符的數目
		{
			if(strlen(mohu_in)>=strlen(have))//////字符char0的長度大于字符串char1的情況
			{
				
				if(have[wife1]==mohu_in[wife1+wife0])
					tmp_num++;
				
			}
			else
			{
				if(mohu_in[wife1]==have[wife1+wife0])
					tmp_num++;				
			}
			
		}
		if(tmp_num>=ret_num)
			ret_num=tmp_num;
		tmp_num=0;
		
	}
	return ret_num;
	
}
///////////////////////****以上函數是模糊搜索要用到的函數*****///////////////////////////

////////****下面函數的作用是建立stage結構體和bus結構體*****////////////
void read_file(void)
{
	char ch;
	int tmp1=0;////用于記錄站牌的數字
	int tmp2=0;////用于記錄在一條公交線上的站牌數量
	int tmp3=0;////用于記錄一個站牌的字符到了第幾個
	int enable_add_line=1;////允許現在是加入到公交線路中
	
	ifstream infile;
	infile.open("公交線路.txt");
	
	while(infile>>ch)
	{	
		
		if(ch==' ')continue;/////不考慮空格在其中的作用
		if(ch==':')///////當遇到':'時表示公交線路名字的輸入結束,把輸入字符只當作字符來看
		{
			enable_add_line=0;
			continue;
		}
		
		if(enable_add_line==1)
		{
			bus_line[bus_num].name[tmp1]=ch;
			tmp1++;
			//		if(tmp1==3)tmp1=0;
			//////****首先得到站牌的號碼***/////
		}
		else
		{
			
			if(ch==',')////tmp2記錄在每一條線上的站點
			{
				tmp2++;
				tmp3=0;
			}
			else
			{
				if(ch==';')
				{
					enable_add_line=1;//////當遇到';'時表示一條公交線路的錄入結束了,允許加入到公交線的名字
					bus_line[bus_num].id=bus_num;
					
					//曹金燦改	bus_line[bus_num].num=convert(bus_line[bus_num].name);
					bus_line[bus_num].geshu=tmp2;
					bus_num++;////;為每一條線路的結束標志
					
					tmp1=0;
					tmp2=0;
					tmp3=0;
					///////***重新初始化等待下一次**//////
				}
				else
				{
					bus_line[bus_num].line[tmp2][tmp3]=ch;
					//		cout<<tmp2;
					tmp3++;
				}
				
			}
			
			
			
			

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品一区二区三区 | 欧美高清性hdvideosex| 成人综合激情网| 国产成人超碰人人澡人人澡| 国产成人啪午夜精品网站男同| 国产一区在线精品| 国产91丝袜在线播放九色| 国产伦精品一区二区三区免费迷| 国产成人亚洲综合a∨婷婷图片| 国产精品正在播放| 成人ar影院免费观看视频| 菠萝蜜视频在线观看一区| 91女厕偷拍女厕偷拍高清| 欧美性感一区二区三区| 日韩一区二区三区四区| 久久久影院官网| 国产精品美女久久久久久久| 一区二区三区在线观看国产| 同产精品九九九| 国产在线播放一区| 91一区在线观看| 欧美一区二区日韩一区二区| 精品国产91洋老外米糕| 中文字幕乱码一区二区免费| 亚洲乱码一区二区三区在线观看| 亚洲一二三四在线观看| 秋霞午夜鲁丝一区二区老狼| 国产成人av电影| 色先锋aa成人| 欧美精品一区二区三区一线天视频| 国产亲近乱来精品视频| 亚洲制服丝袜av| 精品综合免费视频观看| 99久久精品国产一区| 精品视频色一区| www成人在线观看| 亚洲高清免费视频| 国产成人综合在线播放| 欧美日本视频在线| 国产精品免费视频网站| 日本aⅴ免费视频一区二区三区| 成人国产一区二区三区精品| 欧美人动与zoxxxx乱| 久久香蕉国产线看观看99| 一区二区免费视频| 国产精品系列在线观看| 欧美高清精品3d| |精品福利一区二区三区| 蜜臀久久99精品久久久久宅男| 成人激情综合网站| 欧美精品一区二区蜜臀亚洲| 亚洲一级电影视频| 99vv1com这只有精品| 久久久不卡网国产精品二区 | 欧美变态口味重另类| 亚洲综合成人在线| 99精品一区二区三区| 国产精品网曝门| 国产在线不卡一卡二卡三卡四卡| 91精品国产欧美日韩| 亚洲成人动漫在线免费观看| 在线影院国内精品| 亚洲精品久久嫩草网站秘色| 99国内精品久久| 国产精品国产馆在线真实露脸| 国产一区二区毛片| 精品国免费一区二区三区| 日本视频在线一区| 欧美日韩国产另类一区| 亚洲成人动漫在线免费观看| 91久久精品一区二区| 亚洲精品国产无天堂网2021| 波波电影院一区二区三区| 国产亚洲综合在线| 成人午夜看片网址| 欧美激情自拍偷拍| 不卡的av在线| 亚洲三级久久久| 在线免费一区三区| 午夜精品一区二区三区免费视频| 91久久免费观看| 三级不卡在线观看| 91精品蜜臀在线一区尤物| 日韩中文字幕区一区有砖一区| 9191成人精品久久| 久久99久久99| 国产精品色在线观看| 在线观看亚洲成人| 丝袜诱惑制服诱惑色一区在线观看| 欧美欧美欧美欧美| 九色|91porny| 亚洲欧美色图小说| 欧美日本在线播放| 国产激情一区二区三区| 综合久久国产九一剧情麻豆| 欧美亚洲动漫制服丝袜| 另类小说图片综合网| 国产亚洲精久久久久久| 一本色道久久综合亚洲91| 亚洲国产一区视频| 久久久三级国产网站| 色诱视频网站一区| 蜜臀av一区二区三区| 中文字幕综合网| 在线播放亚洲一区| 不卡视频免费播放| 午夜久久电影网| 中文字幕成人网| 精品视频免费在线| 国产98色在线|日韩| 樱花影视一区二区| 精品日韩成人av| 91香蕉视频黄| 日本成人在线电影网| ...av二区三区久久精品| 日韩一区二区在线免费观看| 99久久精品免费| 国产精品影视在线| 午夜欧美大尺度福利影院在线看| 欧美国产精品中文字幕| 欧美一卡二卡三卡| 色欧美乱欧美15图片| 国产91在线观看| 久久精品国产免费看久久精品| 亚洲欧美色一区| 中文字幕的久久| 日韩精品中午字幕| 欧美年轻男男videosbes| 国产69精品久久久久毛片 | 成人黄色电影在线 | 亚洲色图20p| 国产亚洲视频系列| 亚洲精品一区二区三区四区高清| 欧美色老头old∨ideo| 91一区二区三区在线观看| 国产福利不卡视频| 黄页网站大全一区二区| 午夜视频在线观看一区| 亚洲地区一二三色| 一区二区三区中文在线观看| 国产精品久久久久婷婷| 中文字幕成人网| 国产欧美久久久精品影院| 久久精品人人做人人爽人人| 精品福利一区二区三区| 精品日韩在线观看| 精品日韩99亚洲| 久久奇米777| 国产女同性恋一区二区| 国产欧美一区视频| 国产精品污www在线观看| 中文字幕免费不卡在线| 自拍偷拍亚洲欧美日韩| 亚洲精选视频在线| 亚洲欧美二区三区| 亚洲国产综合91精品麻豆| 一级中文字幕一区二区| 亚洲一级二级三级在线免费观看| 亚洲成a人片综合在线| 肉丝袜脚交视频一区二区| 久久精品国产久精国产爱| 国产在线日韩欧美| 成人午夜精品在线| 91久久精品一区二区| 欧美日韩一区视频| 日韩一卡二卡三卡国产欧美| 欧美精品一区二区三区高清aⅴ | 99国产精品久久久| 91极品视觉盛宴| 欧美一区二区精品在线| 久久久国产综合精品女国产盗摄| 中文字幕国产精品一区二区| 亚洲精品乱码久久久久久黑人 | 欧美国产精品久久| 亚洲三级视频在线观看| 奇米影视一区二区三区小说| 国产在线播精品第三| 色视频成人在线观看免| 日韩欧美一级在线播放| 日本一区二区成人| 亚洲黄色性网站| 精品综合久久久久久8888| 色综合天天做天天爱| 日韩一区二区三区免费看| 国产精品卡一卡二| 日韩在线一区二区三区| 成人app软件下载大全免费| 制服丝袜一区二区三区| 国产视频一区不卡| 天天综合网天天综合色| 成人av网站免费观看| 久久网站热最新地址| 亚洲专区一二三| 高清国产一区二区| 欧美日韩亚洲不卡| 中文字幕一区二区三中文字幕| 人人精品人人爱| 91香蕉视频污在线| 日本一区二区三区视频视频| 亚洲福利一二三区|