if(frase[patron]=='e' && frase[patron+1]=='l' && frase[patron+2]=='s' && frase[patron+3]=='e' )
justo cunando ingreso 1aelse;
me deve de salir en pantalla:
identidicador entero else
else e if son palabras reservdas que de a cuerdo al analisis que le doy me deve ingresar a la comparacion pero no se porqeu no entra en ese ejemplo me sale
identidicador / entero /identificador
no entiendo orque a que se deve a ver denle una ojeada
Código
#include <iostream> #include <cstring> using namespace std; int patron=0; int i=0,j=0,factor=0; char frase[100]; //------------------------------------------------------// void entero(); void identificador(); void entero_identificador(); //------------------------------------------------------// int main() { cout<<"ingrese frase "<<endl; cin>>frase; int n=strlen(frase); cout<<endl; while(n!= patron) { if(frase[patron]==';') { if(i!=0) { cout<<"entero "<<"/"; } if(j!=0) { cout<<"identificador"<<"/"; } cin.ignore(); cin.get (); } if(frase[patron]=='i' && frase[patron+1]=='f') { if(j!=0) { cout<<"identificador"<<"/"; i=0; j=0; } if(i!=0) { cout<<"entero"<<"/"; i=0; j=0; } cout<<"if"<<" /"; patron=patron+2; continue; } if(frase[patron]=='e' && frase[patron+1]=='l' && frase[patron+2]=='s' && frase[patron+3]=='e' ) { if(j!=0) { cout<<"identificador "<<"/"; i=0; j=0; } if(i!=0) { cout<<"entero "<<"/"; i=0; j=0; } cout<<"else"<<" /"; patron=patron+4; continue; } if(isdigit(frase[patron])!=0) { identificador(); patron++; } if(isdigit(frase[patron])==0) { entero(); patron++; } } } //------------------------------------------------------// //------------------------------------------------------// void identificador() { if(j==0) { i++; } if(j!=0) { cout<<"identificador "<<"/"; j=0; i++; } } //------------------------------------------------------// //------------------------------------------------------// void entero() { if(i==0) { j++; } if(i!=0) { cout<<"entero "<<"/"; i=0; j++; } }