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

📄 phrase_check.cpp

📁 开发虚拟的被控对象及虚拟的PLC,模似PLC的工作过程进行实验。用户可根据具体的实验,确定其输入和输出的控制条件,用虚拟的连线和虚拟的PLC连接,用户利用梯形图的编程方式编写PLC程序控制被控对象的动
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='0'))
		&&(tidystr[i][2]==' '))
		return (62);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&(tidystr[i][2]==' '))
		return (63);
    else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&(tidystr[i][2]==' '))
		return (64);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&(tidystr[i][2]==' '))
		return (65);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='0')&&(tidystr[i][3]==' ')))
		return (66);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='1')&&(tidystr[i][3]==' ')))
		return (67);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='5')&&(tidystr[i][3]==' ')))
		return (68);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='6')&&(tidystr[i][3]==' ')))
		return (69);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='7')&&(tidystr[i][3]==' ')))
		return (70);        //以上为数据传输指令

	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='0')&&(tidystr[i][3]==' ')))
		return (71);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='1')&&(tidystr[i][3]==' ')))
		return (72);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='2')&&(tidystr[i][3]==' ')))
		return (73);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='3')&&(tidystr[i][3]==' ')))
		return (74);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='5')&&(tidystr[i][3]==' ')))
		return (75);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='6')&&(tidystr[i][3]==' ')))
		return (76);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='7')&&(tidystr[i][3]==' ')))
		return (77);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='2'))
		&&((tidystr[i][2]=='8')&&(tidystr[i][3]==' ')))
		return (78);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='0')&&(tidystr[i][3]==' ')))
		return (79);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='1')&&(tidystr[i][3]==' ')))
		return (80);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='2')&&(tidystr[i][3]==' ')))
		return (81);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='3')&&(tidystr[i][3]==' ')))
		return (82);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='5')&&(tidystr[i][3]==' ')))
		return (83);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='6')&&(tidystr[i][3]==' ')))
		return (84);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='7')&&(tidystr[i][3]==' ')))
		return (85);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='3'))
		&&((tidystr[i][2]=='8')&&(tidystr[i][3]==' ')))
		return (86);       //以上为算术运算指令

	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='6'))
		&&((tidystr[i][2]=='0')&&(tidystr[i][3]==' ')))
		return (87);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='6'))
		&&((tidystr[i][2]=='1')&&(tidystr[i][3]==' ')))
		return (88);       //以上为数据比较指令


	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='6'))
		&&((tidystr[i][2]=='5')&&(tidystr[i][3]==' ')))
		return (89);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='6'))
		&&((tidystr[i][2]=='6')&&(tidystr[i][3]==' ')))
		return (90);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='6'))
		&&((tidystr[i][2]=='7')&&(tidystr[i][3]==' ')))
		return (91);
	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='6'))
		&&((tidystr[i][2]=='8')&&(tidystr[i][3]==' ')))
		return (92);          //以上为逻辑运算指令

	else if(((tidystr[i][0]=='F')&&(tidystr[i][1]=='9'))
		&&((tidystr[i][2]=='0')&&(tidystr[i][3]==' ')))
		return (93);          //解码指令

    else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='0')
		&&(tidystr[i][3]=='0')))&&(tidystr[i][4]==' '))
		return (94);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='0')
		&&(tidystr[i][3]=='1')))&&(tidystr[i][4]==' '))
		return (95);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='0')
		&&(tidystr[i][3]=='5')))&&(tidystr[i][4]==' '))
		return (96);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='0')
		&&(tidystr[i][3]=='6')))&&(tidystr[i][4]==' '))
		return (97);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='1')
		&&(tidystr[i][3]=='0')))&&(tidystr[i][4]==' '))
		return (98);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='1')
		&&(tidystr[i][3]=='1')))&&(tidystr[i][4]==' '))
		return (99);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='1')
		&&(tidystr[i][3]=='2')))&&(tidystr[i][4]==' '))
		return (100);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='1')
		&&(tidystr[i][3]=='3')))&&(tidystr[i][4]==' '))
		return (101);          //以上为数据移位指令

	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='2')
		&&(tidystr[i][3]=='0')))&&(tidystr[i][4]==' '))
		return (102);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='2')
		&&(tidystr[i][3]=='1')))&&(tidystr[i][4]==' '))
		return (103);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='2')
		&&(tidystr[i][3]=='2')))&&(tidystr[i][4]==' '))
		return (104);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='2')
		&&(tidystr[i][3]=='3')))&&(tidystr[i][4]==' '))
		return (105);          //以上为数据循环移位指令

	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='3')
		&&(tidystr[i][3]=='0')))&&(tidystr[i][4]==' '))
		return (106);
	 else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='3')
		&&(tidystr[i][3]=='1')))&&(tidystr[i][4]==' '))
		return (107);
     else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='3')
		&&(tidystr[i][3]=='2')))&&(tidystr[i][4]==' '))
		return (108);
      else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='3')
		&&(tidystr[i][3]=='3')))&&(tidystr[i][4]==' '))
		return (109);
	  else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='3')
		&&(tidystr[i][3]=='5')))&&(tidystr[i][4]==' '))
		return (110);
	  else if ((((tidystr[i][0]=='F')&&(tidystr[i][1]=='1'))
		&&((tidystr[i][2]=='3')
		&&(tidystr[i][3]=='6')))&&(tidystr[i][4]==' '))
		return (111);        //以上为位操作指令

	  else if((tidystr[i][0]=='S')&&(tidystr[i][1]=='R'))
		  return(112);
	  else if ((((tidystr[i][0]=='L')&&(tidystr[i][1]=='O'))
		&&((tidystr[i][2]=='O')
		&&(tidystr[i][3]=='P')))&&(tidystr[i][4]==' '))
		return (113);
	  else if ((((tidystr[i][0]=='C')&&(tidystr[i][1]=='A'))
		&&((tidystr[i][2]=='L')
		&&(tidystr[i][3]=='L')))&&(tidystr[i][4]==' '))
		return (114);
	  else if (((tidystr[i][0]=='S')&&(tidystr[i][1]=='U'))
		&&((tidystr[i][2]=='B')
		&&(tidystr[i][3]==' ')))
		return (115);
	  else if (((tidystr[i][0]=='R')&&(tidystr[i][1]=='E'))
		&&((tidystr[i][2]=='T')
		&&(tidystr[i][3]==' ')))
		return (116);         //基本指令
	  else return(0);
}

int switchint(char mm)
{
   switch(mm)
		{
		case'0':return(0);break;
	    case'1':return(1);break;
        case'2':return(2);break;
		case'3':return(3);break;
		case'4':return(4);break;
		case'5':return(5);break;
		case'6':return(6);break;
		case'7':return(7);break;
		case'8':return(8);break;
		case'9':return(9);break;
		default:return(10);
		}
}
int countnumber(int i,int k)
{
	while(tidystr[i][k]!='\0')
		k++;
	return(k);
}
int accountnumber(int i,int l,int k)
{
	int m=0;
	for(int n=k;n<l;n++)
	{
		switch(tidystr[i][n])
		{
		case '0':m=m*10+0;break;
		case '1':m=m*10+1;break;
		case '2':m=m*10+2;break;
		case '3':m=m*10+3;break;
		case '4':m=m*10+4;break;
		case '5':m=m*10+5;break;
		case '6':m=m*10+6;break;
		case '7':m=m*10+7;break;
		case '8':m=m*10+8;break;
		case '9':m=m*10+9;break;
		default:return(-1);
		}
	}
	return(m);
}
int countregisternumber(int i,int k)
{
	while((tidystr[i][k]!='\0')&&(tidystr[i][k]!=' '))
		k++;
	return(k);
}
int differ1register(int i,int k)
{
	if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='X'))
		instructionstore[i].register1='1';
	else if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='Y'))
		instructionstore[i].register1='2';
	else if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='R'))
		instructionstore[i].register1='3';
	else if ((tidystr[i][k]=='D')&&(tidystr[i][k+1]=='T'))
		instructionstore[i].register1='4';
    else  if (tidystr[i][k]=='K')
		instructionstore[i].register1='5';
	else  return(0);
	int place;
	if 	(instructionstore[i].register1=='5')
		k=k+1;
	else k=k+2;
	place=countregisternumber(i,k);
	if (place==k)
		return(0);
	if(tidystr[i][place]=='\0')
		return(0);
	else
	{
		int m;
		m=accountnumber(i,place,k);
		if (m==-1)
			return(0);
        instructionstore[i].register1number=m;
	}
	place=place+1;
	if ((tidystr[i][place]=='W')&&(tidystr[i][place+1]=='X'))
		instructionstore[i].register2='1';
	else if ((tidystr[i][place]=='W')&&(tidystr[i][place+1]=='Y'))
		instructionstore[i].register2='2';
	else if ((tidystr[i][place]=='W')&&(tidystr[i][place+1]=='R'))
		instructionstore[i].register2='3';
	else if ((tidystr[i][place]=='D')&&(tidystr[i][place+1]=='T'))
		instructionstore[i].register2='4';
    else  if (tidystr[i][place]=='K')
		instructionstore[i].register2='5';
	else return(0);
	int place1;
	if(instructionstore[i].register2=='5')
	   place=place+1;
	else place=place+2;
	place1=countregisternumber(i,place);
	if (place1==place)
		return(0);
	if(tidystr[i][place1]!='\0')
		return(0);
	else
	{
		int m;
		m=accountnumber(i,place1,place);
		if (m==-1)
			return(0);
        instructionstore[i].register2number=m;
	}
    return(1);
}
int differ2register(int i,int k)
{
	if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='X'))
		instructionstore[i].register1='1';
	else if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='Y'))
		instructionstore[i].register1='2';
	else if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='R'))
		instructionstore[i].register1='3';
	else if ((tidystr[i][k]=='D')&&(tidystr[i][k+1]=='T'))
		instructionstore[i].register1='4';
    else  if (tidystr[i][k]=='K')
		instructionstore[i].register1='5';
	else  return(0);
	int place;
	if 	(instructionstore[i].register1=='5')
		k=k+1;
	else k=k+2;
	place=countregisternumber(i,k);
	if (place==k)
		return(0);
	if(tidystr[i][place]=='\0')
		return(0);
	else
	{
		int m;
		m=accountnumber(i,place,k);
		if (m==-1)
			return(0);
        instructionstore[i].register1number=m;
	}
	place=place+1;
	if ((tidystr[i][place]=='W')&&(tidystr[i][place+1]=='X'))
		instructionstore[i].register2='1';
	else if ((tidystr[i][place]=='W')&&(tidystr[i][place+1]=='Y'))
		instructionstore[i].register2='2';
	else if ((tidystr[i][place]=='W')&&(tidystr[i][place+1]=='R'))
		instructionstore[i].register2='3';
	else if ((tidystr[i][place]=='D')&&(tidystr[i][place+1]=='T'))
		instructionstore[i].register2='4';
    else  if (tidystr[i][place]=='K')
		instructionstore[i].register2='5';
	else return(0);
	int place1;
	if(instructionstore[i].register2=='5')
	   place=place+1;
	else place=place+2;
	place1=countregisternumber(i,place);
	if (place1==place)
		return(0);
	if(tidystr[i][place1]!=' ')
		return(0);
	else
	{
		int m;
		m=accountnumber(i,place1,place);
		if (m==-1)
			return(0);
        instructionstore[i].register2number=m;
	}
	place1=place1+1;
		if ((tidystr[i][place1]=='W')&&(tidystr[i][place1+1]=='X'))
		instructionstore[i].register3='1';
	else if ((tidystr[i][place1]=='W')&&(tidystr[i][place1+1]=='Y'))
		instructionstore[i].register3='2';
	else if ((tidystr[i][place1]=='W')&&(tidystr[i][place1+1]=='R'))
		instructionstore[i].register3='3';
	else if ((tidystr[i][place1]=='D')&&(tidystr[i][place1+1]=='T'))
		instructionstore[i].register3='4';
    else  if (tidystr[i][place1]=='K')
		instructionstore[i].register3='5';
	else return(0);
	int place2;
	if(instructionstore[i].register3=='5')
	   place1=place1+1;
	else place1=place1+2;
	place2=countregisternumber(i,place1);
	if (place2==place1)
		return(0);
	if(tidystr[i][place2]!='\0')
		return(0);
	else
	{
		int m;
		m=accountnumber(i,place2,place1);
		if (m==-1)
			return(0);
        instructionstore[i].register3number=m;
	}	
    return(1);
}
int differ3register(int i,int k)
{
	if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='X'))
		instructionstore[i].register1='1';
	else if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='Y'))
		instructionstore[i].register1='2';
	else if ((tidystr[i][k]=='W')&&(tidystr[i][k+1]=='R'))
		instructionstore[i].register1='3';
	else if ((tidystr[i][k]=='D')&&(tidystr[i][k+1]=='T'))
		instructionstore[i].register1='4';
    else  if (tidystr[i][k]=='K')
		instructionstore[i].register1='5';
	else  return(0);
	int place;
	if 	(instructionstore[i].register1=='5')
		k=k+1;
	else k=k+2;
	place=countregisternumber(i,k);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -