Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Ivancamilo en 2 Octubre 2016, 16:47 PM

Título: Ayuda! Como pasar un numero a letras
Publicado por: Ivancamilo en 2 Octubre 2016, 16:47 PM
Hola que tal! Estoy buscando alguna idea o ayuda para hacer un programa en c++ que lea un número de 1 a 10.000.000 y que me escriba  ese mismo número en letras ejemplo
Numero leído: 34945
Resultado: treinta y cuatro mil novecientos cuarenta y cinco
Numero leído: 3.657.291
Resultado: tres millones seiscientos cincuenta y siete mil  doscientos noventa y uno

Título: Re: Ayuda! Como pasar un numero a letras
Publicado por: dato000 en 2 Octubre 2016, 17:32 PM
Cita de: Ivancamilo en  2 Octubre 2016, 16:47 PM
Hola que tal! Estoy buscando alguna idea o ayuda para hacer un programa en c++ que lea un número de 1 a 10.000.000 y que me escriba  ese mismo número en letras ejemplo
Numero leído: 34945
Resultado: treinta y cuatro mil novecientos cuarenta y cinco
Numero leído: 3.657.291
Resultado: tres millones seiscientos cincuenta y siete mil  doscientos noventa y uno



Claro que se puede, solo tienes que crear una condición en la que por cada numero, decena, centena y millar cambie cada texto.


if( numero == 1)
   printf("uno");
else if( numero == 2)
   print("dos");

...
..
.


suerte con eso amigo, cuando tengas los 10.000.000 de casos nos dejas el código para ver como te fue, sigue con ese impetú amigo. :D :D
Título: Re: Ayuda! Como pasar un numero a letras
Publicado por: _TTFH_3500 en 2 Octubre 2016, 18:01 PM
Solo debes separar los digitos de a 3 (dividiendo por 1000 o hallando el resto de la division entera) y luego volver a separarlos segun la posicion ignorando los ceros (es decir, si el 4 esta al comienzo sería cuatrocientos, cuarenta o cuatro) y continuando con el resto, por ejemplo:

cuarenta y cero
cuarenta y uno
cuarenta y dos


18446744073709551615
dieciocho trillones cuatrocientos cuarenta y seis mil setecientos cuarenta y cuatro billones setenta y tres mil setecientos nueve millones quinientos cincuenta y un mil seiscientos quince