Cada vez existen más programas que ayudan a la traducción
de textos entre idiomas diferentes. En este problema nos interesa implementar
la traducción de números del inglés.
Objetivo
Se trata de traducir uno o más enteros de inglés
a su representación numérica. Los números a traducir tendrán
valores entre -999.999.999 y 999.999.999.
Ésta es la lista de todas las palabras en inglés
que el programa debe tratar:
negative, zero, one, two, three, four, five, six, seven, eight,
nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen,
eighteen, nineteen, twenty, thirty, forty, fifty, sixty, seventy, eighty,
ninety, hundred, thousand, million
Entrada
La entrada del programa consiste de una secuencia de líneas,
que residen en un archivo de texto (ASCII) con nombre ING.DAT, que contendrá
una serie de líneas. Cada línea contiene un número a traducir,
formado íntegramente por las palabras listadas en el apartado anterior
y separadas por caracteres "espacio". Se supone que la secuencia de
palabras representa un número correcto. En particular, las palabras "hundred",
"thousand" y "million" siempre estarán precedidas
por una palabra que represente un número entre uno y nueve.
Salida
La salida del programa ha de grabarse en un archivo de texto
(ASCII) con nombre ING.RES, que contendrá una línea por cada número
de la entrada. La línea k-ésima de la salida será la representación
numérica del número escrito en inglés en la línea
k-ésima de la entrada. No deben escribirse ni puntos decimales ni similares;
tan solo las cifras y, si es negativo, el signo '-'.
Ejemplo de entrada
six
negative seven hundred twenty nine
one million one hundred one
five hundred twenty two
Ejemplo de salida
6
-729
1000101
522 |