¿Escribir un programa de CA para convertir un número en palabras de moneda?

Aquí hay un programa Java que encontré en StackOverflow.com. Este código funciona con precisión. Sin embargo, espero que pueda convertir esto al código C que solicitó en su pregunta.

Enlace: code.geeksforgeeks.org

Código

clase pública IntToEnglish {
Cadena estática [] a_19 = {“cero”, “uno”, “dos”, “tres”, “cuatro”, “cinco”, “seis”,
“siete”, “ocho”, “nueve”, “diez”, “once”, “doce”, “trece”,
“catorce”, “quince”, “dieciseis”, “diecisiete”, “dieciocho”, “diecinueve”};
Cadena estática [] decenas = {“veinte”, “treinta”, “cuarenta”, “cincuenta”, “sesenta”, “setenta”, “ochenta”, “noventa”};
Cadena estática [] denom = {“”, “mil”, “millones”, “mil millones”, “billones”, “cuatrillones”,
“quintillion”, “sextillion”, “septillion”, “octillion”, “nonillion”, “decillion”, “undecillion”, “duodecillion”, “tredecillion”, “quattuordecillion”,
“sexdecillion”, “septendecillion”, “octodecillion”, “novemdecillion”, “vigintillion”};

public static void main (String [] argv) lanza Exception {
int tstValue = 21345;
IntToEnglish itoe = nuevo IntToEnglish ();
System.out.println (itoe.english_number (tstValue));

}
// convierte un valor <100 a inglés.
La cadena privada convert_nn (int val) genera una excepción {
si (val <20)
volver a_19 [val];
para (int v = 0; v <longitud de decenas; v ++) {
Cadena dcap = decenas [v];
int dval = 20 + 10 * v;
if (dval + 10> val) {
if ((val% 10)! = 0)
return dcap + “-” + to_19 [val% 10];
devolver dcap;
}
}
lanzar una nueva Excepción (“Nunca debería llegar aquí, menos de 100 fallas”);
}
// convierte un valor <1000 a inglés, en mayúsculas especiales porque es el nivel que patea
// fuera del caso especial <100. El resto son más generales. Esto también te permite
// obtener cadenas en forma de “cuarenta y quinientos” si se llama directamente.
La cadena privada convert_nnn (int val) genera una excepción {
Palabra de cadena = “”;
int rem = val / 100;
int mod = val% 100;
if (rem> 0) {
palabra = to_19 [rem] + “cien”;
if (mod> 0) {
palabra = palabra + “”;
}
}
if (mod> 0) {
palabra = palabra + convert_nn (mod);
}
palabra de retorno;
}
public String english_number (int val) lanza Exception {
si (val <100) {
devuelve convert_nn (val);
}
si (val <1000) {
devuelve convert_nnn (val);
}
for (int v = 0; v <denom.length; v ++) {
int didx = v – 1;
int dval = new Double (Math.pow (1000, v)). intValue ();
if (dval> val) {
int mod = new Double (Math.pow (1000, didx)). intValue ();
int l = val / mod;
int r = val – (l * mod);
Cadena ret = convert_nnn (l) + “” + denom [didx];
si (r> 0) {
ret = ret + “,” + número_en inglés (r);
}
volver ret;
}
}
lanzar una nueva Excepción (“Nunca debería llegar aquí, tocado fondo en inglés_number”);
}
}

¡Espero que esto ayude! 🙂

Es simple, aquí hay un código que he escrito para convertir números a palabras (hasta cuatro mil millones) -> improsoft / n2w (github), los lenguajes actualmente disponibles son C ++ y Java al momento de escribir esto .

Estoy planeando también escribirlo en otros idiomas diferentes y actualmente lo implementé en una aplicación de Android aquí N2W – Number to Word Converter – Aplicaciones de Android en Google Play. Happy Coding 🙂

More Interesting

¿Cuáles son las diferentes formas en que puede obtener la longitud de una matriz en C ++?

Cómo resolver un problema de puente colgante utilizando circuitos y dónde una persona puede cruzar el puente a la vez

¿Cuáles son los algoritmos que se pueden usar en aplicaciones web del mundo real además de ordenar o buscar?

¿Qué algoritmos se utilizan para el proceso de aprendizaje automático de Yandex?

¿Cómo pruebo que no existen estados recurrentes nulos en un estado finito DTMC (cadena de Markov de tiempo discreto)?

¿Podría alguien ayudarme con el problema del algoritmo 'Intervalo casi ordenado'?

¿Cuál es el número total de comparaciones en un tipo de burbuja?

Además de la programación competitiva, ¿cómo aprender algoritmos?

¿Qué libro debo comprar para aprender sobre algoritmos: estructuras de datos y algoritmos simplificados por Narsimha Karumanchi o Introducción a los algoritmos (CLRS)?

¿Puede enumerar algunos de los libros más importantes / definitivos sobre informática, algoritmos, diseño de software, estructuras de datos, redes?

¿Cómo podría un algoritmo que crea un cambio en el comportamiento del consumidor crear valor?

¿Qué es una estructura de datos dinámicos de pila?

¿Cómo funciona el algoritmo de Youtube en términos de tendencias de un video?

¿Cuáles son los beneficios de usar la recursividad de la cola? ¿Es siempre posible?

¿Existe algún algoritmo que realice el reconocimiento de entidades con nombre insensible a mayúsculas y minúsculas de oraciones cortas?