SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: efornes en Jueves 12 de Noviembre de 2009, 14:48

Título: Como pasar de numeros a letras
Publicado por: efornes en Jueves 12 de Noviembre de 2009, 14:48
Hola gente... Como estan...
En mi primer post me gustaria que me ayuden a ver como hago para pasar de numeros a letras...
En realidad el tema es asi, es un programa de facturacion y en la factura dice por ejemplo:


Total $58,88

y lo que yo tengo que hacer es que mas abajo me diga

Son Pesos: Cincuenta y ocho con 88 centavos            (esto es moneda argentina por lo que veran, no se donde sera la mayoria de la gente que entra a este foro muy interesante por cierto)

El profesor me dijo que el total maximo que puede haber es de 9999 pesos =S

Bueno me gustaria que me ayuden con ese algoritmo, gracias
Saludos
Título: Re: Como pasar de numeros a letras
Publicado por: diego.martinez en Jueves 12 de Noviembre de 2009, 16:23
primero puedes usar sscanf para separar el texto del numero que representa la cantidad.


despues, iteras el array caracter por caracter, lo conviertes a digito (pista, todos los numeros estan ordenados en la tabla ascii a partir de un cierto valor), te haces una tabla con los valores verbales de cada valor y comparas cada valor digito con la tabla segun su posicion en el array.
Título: Re: Como pasar de numeros a letras
Publicado por: Claudisimo en Jueves 12 de Noviembre de 2009, 18:24
Es una lata, no hay alguna librería o algo así que te facilite la vida, tienes que programar numero por numero. Al llegar al 16, le tienes que poner que si el numero es mayor a quince te escriba "dieci" y el último dígito. Al llegar  a 100 lo mismo, y así hasta que te aburras.

Bueno, aquí hay un programa que encontré en otra página al googlear (buscando en google como "leer numeros como letras". Primer resultado):

http://www.mygnet.net/codigos/cplusplus ... etras.1509 (http://www.mygnet.net/codigos/cplusplus/calculoyconversiones/numeros_a_letras.1509" onclick="window.open(this.href);return false;)