Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: adan-2994 en 1 Diciembre 2011, 18:15 PM

Título: Ayuda en C++ vocales con acento
Publicado por: adan-2994 en 1 Diciembre 2011, 18:15 PM
Saludos comunidad,
mi problema es el siguiente
en C++,

 
Código (cpp) [Seleccionar]
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

Código (cpp) [Seleccionar]
char letra=160;
            cout<<letra<<endl;
       
           if(letra==160)
           {
                         cout<<"Vocal acertada";
                         }


Ni aun asi me da TRUE
jaj que es lo que pasara?


         
Título: Re: Ayuda en C++ vocales con acento
Publicado por: Eternal Idol en 1 Diciembre 2011, 19:35 PM
Código (cpp) [Seleccionar]
if ((unsigned char)letra == 160)

Igual tendrias que buscar algo para comparar con el locale o usar Unicode mejor.
Título: Re: Ayuda en C++ vocales con acento
Publicado por: adan-2994 en 1 Diciembre 2011, 22:31 PM
Muchas gracias amigo, resolvi el problema con tu respuesta
me puedes explikar xq tuve q poner (unsigned char) ?
Título: Re: Ayuda en C++ vocales con acento
Publicado por: Eternal Idol en 1 Diciembre 2011, 22:48 PM
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.