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

Convertir letras a numeros

Estas en el tema de Convertir letras a numeros en el foro de C/C++ en Foros del Web. Buenas a todos. Me gustaria que me ayudaran con un problema que me han dejado (voy en la segunda semana de clase).Debo hacer un programa ...
  #1 (permalink)  
Antiguo 20/04/2013, 19:04
 
Fecha de Ingreso: abril-2013
Mensajes: 8
Antigüedad: 11 años
Puntos: 0
Exclamación Convertir letras a numeros

Buenas a todos.
Me gustaria que me ayudaran con un problema que me han dejado (voy en la segunda semana de clase).Debo hacer un programa que transforme de letras a numeros:
por ejemplo ingreso "trescientos veinticinco" y el programa debe botarme el numero : "325".
Estoy en esto desde unas horas y tengo muy pocas ideas al respecto. Solo me piden numeros de 3 cifras.

Ademas debe terminarse la entrada con un punto... de esto si no tengo la menor idea. por favor lo tengo que presentar el lunes!!

pd. aca les el link con la foto del problema que me han dejado es el numero 4.6 :http://i37.tinypic.com/jj5pqh.jpg
  #2 (permalink)  
Antiguo 20/04/2013, 20:12
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Convertir letras a numeros

Directamente puedes reemplazar todo con alguna función replace.

"tres" por 3
"cinco" por 5
"veinti" por 20
"trescientos" por 300

Por lo que si tienes "trescientos veinticinco", vas a ir reemplazando: 300, 20, 5. Luego lo sumas, 300 + 20 + 5 = 325.

Debes tener cuidado, por ejemplo, buscar siempre primero "ciento", luego "cien"; "doscientos", luego "dos", etc.

Lo del punto es sencillo:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6.     char input[50];
  7.    
  8.     while (1)
  9.     {
  10.         printf("Numero: ");
  11.         scanf("%s", input);
  12.          
  13.         if (strcmp(input, ".") == 0)
  14.         {
  15.             break;
  16.         }
  17.         else
  18.         {
  19.             /* ... */
  20.         }
  21.        
  22.         printf("\n");
  23.     }
  24.    
  25.     return 0;
  26. }

Espero que te sirva de algo.


Última edición por carbon; 20/04/2013 a las 20:23
  #3 (permalink)  
Antiguo 20/04/2013, 20:26
 
Fecha de Ingreso: abril-2013
Mensajes: 8
Antigüedad: 11 años
Puntos: 0
Respuesta: Convertir letras a numeros

muchas gracias carbon.

pero como haria para separar las palabras... como el tresientos, el veinti y el cinco
y que el programa los identifique..??
ademas no puedo escribir las palabras separadas..

Última edición por punky72; 20/04/2013 a las 21:11
  #4 (permalink)  
Antiguo 21/04/2013, 03:47
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Convertir letras a numeros

Si detecta algun espacio, que lo elimine primero.
  #5 (permalink)  
Antiguo 21/04/2013, 07:55
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Convertir letras a numeros

Claro. Ahí te dejé un link a una función replace. Reemplazas los espacios por "". Luego, en lugar de ir sumando como te comenté anteriormente, directamente, suponiendo que tienes "trescientosveinticinco", reemplazas:

trescientos -> 3
veinti -> 2
cinco -> 5

Y listo.

  #6 (permalink)  
Antiguo 21/04/2013, 10:43
 
Fecha de Ingreso: abril-2013
Mensajes: 8
Antigüedad: 11 años
Puntos: 0
Respuesta: Convertir letras a numeros

ahora que leo bien la hoja de problemas dice que estos deben ser resueltos con la funcion "switch" ... ¿? como lo haria en este caso?....
mucas gracias por sus respuestas...
  #7 (permalink)  
Antiguo 21/04/2013, 10:54
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 3 meses
Puntos: 94
Respuesta: Convertir letras a numeros

Hola! no veo q en el ejercicio 4.6 diga "utilizar switch"(tampoco veo util usarlo); en todo caso por que no intentas codificar primero algo de lo que ya te dijeron


Saludos
  #8 (permalink)  
Antiguo 21/04/2013, 10:58
 
Fecha de Ingreso: abril-2013
Mensajes: 8
Antigüedad: 11 años
Puntos: 0
Respuesta: Convertir letras a numeros

ok...
en el ejercicio no lo dice... lo dice en el principio de la hoja...

Etiquetas: letras, numeros, programa
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




La zona horaria es GMT -6. Ahora son las 22:09.