Foros del Web » Programación para mayores de 30 ;) » C/C++ »

convertir letra á,é,í,ó,ú en a,e,i,o,u ??

Estas en el tema de convertir letra á,é,í,ó,ú en a,e,i,o,u ?? en el foro de C/C++ en Foros del Web. saludos a la comunidad!! pues quería saber como puedo convertir las letras con asentó en letras normales, es decir: si tengo: á é í ó ...
  #1 (permalink)  
Antiguo 26/04/2011, 14:44
 
Fecha de Ingreso: abril-2011
Mensajes: 31
Antigüedad: 13 años
Puntos: 2
convertir letra á,é,í,ó,ú en a,e,i,o,u ??

saludos a la comunidad!!
pues quería saber como puedo convertir las letras con asentó en letras normales, es decir: si tengo: á é í ó ú quiero convertirlo en a e i o u... me dijeron que la hiciera con la tabla ascii pero no me sirve de nada...
  #2 (permalink)  
Antiguo 26/04/2011, 14:57
 
Fecha de Ingreso: abril-2011
Mensajes: 88
Antigüedad: 13 años
Puntos: 24
Respuesta: convertir letra á,é,í,ó,ú en a,e,i,o,u ??

En la tabla ascii
http://www.cpptutor.com/ascii.htm
á, é, í, ó, ú tienen valores 160,130,161,162, 163
a, e, i, o, u tienen valores 97, 101, 105, 111, 117
tendrás que intercambiar estos valores.
__________________
Foros Desarrollo de Juegos
  #3 (permalink)  
Antiguo 26/04/2011, 15:28
 
Fecha de Ingreso: abril-2011
Mensajes: 31
Antigüedad: 13 años
Puntos: 2
Respuesta: convertir letra á,é,í,ó,ú en a,e,i,o,u ??

fijate lo que hice:

Código C++:
Ver original
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    char letra[5];
  9.    char aux[5];
  10.    int i=0;
  11.    fstream leer("letras.txt");
  12.    while( !leer.eof() )
  13.     {
  14.      leer >> letra[i];
  15.      i++;
  16.     }
  17.  
  18.    for( int i=0; i<5; i++ )
  19.    {
  20.         if(letra[i] == 160)
  21.             aux[i] = 97;
  22.  
  23.         if( letra[i] == 130 )
  24.             aux[i] = 101;
  25.  
  26.         if( letra[i] == 161 )
  27.             aux[i] = 105;
  28.  
  29.         if( letra[i] == 162 )
  30.             aux[i] = 111;
  31.  
  32.         if( letra[i] == 163 )
  33.             aux[i] = 117;
  34.    }
  35.  
  36.    for( int i=0; i<5; i++ )
  37.        cout << aux[i] << " ";
  38.  
  39. return 0;
  40. }

pero no me lo convierte me imprime como basura....
ves algo mal en este codigo??
  #4 (permalink)  
Antiguo 29/04/2011, 16:56
 
Fecha de Ingreso: abril-2011
Ubicación: Guadalajara, Jalisco, Mexico
Mensajes: 27
Antigüedad: 13 años
Puntos: 4
De acuerdo Respuesta: convertir letra á,é,í,ó,ú en a,e,i,o,u ??

pues vi este mensaje que aun no se ah respondido por completo, que te parece si en vez de guadar las variables en un auxiliar lo imprimes ahi mismo?

ejemplo:
Código C++:
Ver original
  1. for(int i = 0; letra[i] != 0;++i){
  2.         cout<<" ";
  3.         switch (letra[i])
  4.         {
  5.             case 160:
  6.                 cout << "a";//para la letra á
  7.                 break;
  8.             ....
  9.          }

Asi le haces con los demas y funciona muy bien
espero te aya servido

Etiquetas: letra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 06:01.