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

comvertir de texo a numero en c

Estas en el tema de comvertir de texo a numero en c en el foro de C/C++ en Foros del Web. Hola estoy realizando los ejemplos de un libro llamado Programacion en C,C++,Java y UML de Luis Joyanes Aguilar. he tenido un par de problemas para ...
  #1 (permalink)  
Antiguo 26/07/2014, 12:18
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
Pregunta comvertir de texo a numero en c

Hola estoy realizando los ejemplos de un libro llamado Programacion en C,C++,Java y UML de Luis Joyanes Aguilar. he tenido un par de problemas para resolver los problemas propuestos, y he salido adelante, pero en esta ocacion por mas que les doy vuelta, no he podido obtener una respuesta cara. son dos problemas que tiene que ver algo asi, como comparacion de cadenas. bueno aqui se los anexo y aver si me puede orientar por que no he encontrado otro foro donde me ayuden, son dos problemas. gracias de antemano

Escribir un programa que acepte un numero de tres digitos escrito en palabra y acontinuacion
los visualice como un valor de tipo entero. La entrada se termina con un punto. Por ejemplo.
la entrada:

docientos veinticinco

producira la salida

225

Escribir un programa que acepte un año escrito en cifras arabigas y visualice el año escrito en
numeros romanos, dentro del rango 1000 a 2000.
Nota: recuerde que V = 5, X = 10, L = 50, C = 100, D = 500 y M = 1000.

IV = 4 XL = 40
MCM = 1900 CM = 900
MCMLX = 1960 MCML = 1950
MCMLXXXIX = 1989 MCMXL = 1940

gracias de antemano.
  #2 (permalink)  
Antiguo 26/07/2014, 22:38
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 6 meses
Puntos: 38
Respuesta: comvertir de texo a numero en c

Te puede servir algo como eso:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <windows.h>
  3. #include <string.h>
  4.  
  5. int main (){
  6.     system("MODE CON cols=70 lines=20");
  7.     char c1[30];
  8.     char c2[30];
  9.    
  10.     //Separamos cada palabre en cadenas distintas para realizar comparaciones mas facilmente
  11.     printf("Escriba docientos veinticinco: ");
  12.     scanf("%s %s", c1, c2);
  13.    
  14.     printf( "c1: %s\nc2: %s",c1,c2);
  15.    
  16.     //si docientos se escribio correcto imprimira un 2
  17.     if( !strcmp ( c1, "docientos" )  ){
  18.         printf("\n\nEl resultado es: 2");
  19.     }
  20.     //si veinticinco se escribio correcto imprimira un 25 luego despues del 2 anterior
  21.     if( !strcmp ( c2, "veinticinco" )  ){
  22.         printf("25");
  23.     }
  24.     getchar();
  25.     getchar();    
  26.     return 0;
  27. }

Debes destripar la cadena para que se haga mas fácil.
lo suyo seria dividir: docientos veinticinco en 3 variables.
c1 docientos
c2 veinti
c3 cinco

;)
  #3 (permalink)  
Antiguo 28/07/2014, 01:52
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: comvertir de texo a numero en c

Primer ejercicio:
1. Comprobar si la primera palabra es cien, o ciento, o doscientos..novecientos (es decir, si hay centenas).
Si hay centenas, las escribo, descarto esa parte de la cadena de entrada y voy al caso 2 con el resto de la cadena.

2. Comprobar si la primera palabra es diez, o comienza por veinte, o comienza por treinta..noventa (es decir, si hay decenas).
Hay que tener en cuenta los nombres especiales para los números del 11 al 15. Si es uno de éstos, lo escribo y termino, ya no necesito el paso 3.
Si hay decenas, comprobar el final, debe terminar en uno..nueve.

3. comprobar si la palabra corresponde a un dígito (cero..nueve) (unidades).

Segndo ejercicio:
1. Divide entre 1000 (división entera), guarda el cociente y el resto. Si el cociente no es nulo, ese es el número de M a poner.
2. Divide el resto anterior por 500, guarda el cociente y el resto. Si el cociente es 1, tienes una D.
3. Sigue haciendo lo propio con los valores correspondientes al resto de numerales romanos, por orden de valor.

Recuerda las reglas para numeración romana (mira, por ejemplo, en la Wikipedia).

El tema de la programación ya es cosa tuya. Si tienes problemas con ella, posteas lo que tengas y a partir de ahí veremos cómo echarte una mano.

Saludos,

Etiquetas: numero, 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 13:08.