Pascal/Turbo Pascal - transformar un numero en letra

 
Vista:

transformar un numero en letra

Publicado por Pablo (18 intervenciones) el 26/12/2002 19:31:30
Tengo un problema q no soy capaz de resolver a pesar d q no parece demasiado complejo. Necesito hacer un programa en el que tengo que coger un numero dado cualquiera y escribirlo en letra. Debo hacerlo desde el 0 al 20.000.000 Mi problema es que para determinados numeros como el "dieciseis, diecisiete, dieciocho..." tengo que hacer una funcion o algo similiar que me pase cualquier numero similar a su expresion correspondiente en caracteres.
Una forma en la que había pensado sería:

write( 'dieci' ,unidad);
write(' treinta y 'unidad);
etc...
(* siendo ese "unidad" los numeros 6, 7, 8 ... correspondientes al 16,17, 28, 36, 79....*)

En un pricipio no tenía pensado emplear ARRAYS, sino que hacerlo todo con CASE's y con IF (tal vez con alguna otra estructura mas).

¿Alguien me podría ayudar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:transformar un numero en letra

Publicado por Yopsi (182 intervenciones) el 03/01/2003 17:50:18
Lo idóneo es utilizar diagramas de estados, en donde para no romperte el coco llevas un conteo de si te encuentras en las unidades, los miles o los millones mara añadir el posfijo, el problema del "dieci" lo resuelves así "24" procesas el cuatro y lo almacenas en la variable ultimo_dígito, si el último dígito en las decenas no fue cero escribes "veinti" si fue un cero escribes "veinte"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar