Saludos comunidad,
mi problema es el siguiente
en C++,
char letra;
cout<<"Introduce vocal acentuada:"<<endl;
cin>>letra;
cout<<letra;
if(letra=='á'){
cout<<" Vocal acertada ";
}
Entonces, escribo una letra y luego la comparo para ver si es la q escribi
pero no me da con letras acentuadas como la á
(si pusiera if letra=='a' e indtroduzco la a si funcionaria)
Entonces ? cual sera mi problema :-\ :-\
x tienen de especial las vocales?
o existe otra manera de compararlas ?
PD:
investigue el codigo ascci de la letra 'á' al parecer es 160 y lo comparo de esta manera
char letra=160;
cout<<letra<<endl;
if(letra==160)
{
cout<<"Vocal acertada";
}
Ni aun asi me da TRUE
jaj que es lo que pasara?
if ((unsigned char)letra == 160)
Igual tendrias que buscar algo para comparar con el locale o usar Unicode mejor.
Muchas gracias amigo, resolvi el problema con tu respuesta
me puedes explikar xq tuve q poner (unsigned char) ?
Un char ocupa - casi siempre - un byte, con signo su rango va de -128 a 127 (160 esta obviamente fuera del mismo) y sin signo va de 0 a 255.