// Codificado por: Beastieux
// Convierte a números a letras
#include <iostream>
using namespace std;
int main() {
int x;
cout << "Ingrese un numero: " << endl;
cin >> x;
if (x < 1 || x > 999) {
cout << "INGRESA UN NUMERO DEL 1 AL 999" << endl;
} else {
if (x >= 900) {
cout << "NOVECIENTOS ";
x = x - 900;
} else if (x >= 800) {
cout << "OCHOCIENTOS ";
x = x - 800;
} else if (x >= 700) {
cout << "SETECIENTOS ";
x = x - 700;
} else if (x >= 600) {
cout << "SEISCIENTOS ";
x = x - 600;
} else if (x >= 500) {
cout << "QUINIENTOS ";
x = x - 500;
} else if (x >= 400) {
cout << "CUATROCIENTOS ";
x = x - 400;
} else if (x >= 300) {
cout << "TRESCIENTOS ";
x = x - 300;
} else if (x >= 200) {
cout << "DOSCIENTOS ";
x = x - 200;
} else if (x > 100) {
cout << "CIENTO ";
x = x - 100;
} else if (x == 100) {
cout << "CIEN";
x = x - 100;
}
if (x > 90) {
cout << "NOVENTA Y ";
x = x - 90;
} else if (x == 90) {
cout << "NOVENTA";
x = x - 90;
}
// Repite el patrón para otros números (80, 70, 60, etc.)
if (x == 1) {
cout << "UNO";
x = x - 1;
}
}
cout << endl;
cin.ignore();
return 0;
}
El código proporcionado implementa un programa en C++ que convierte un número entero en su representación en palabras siguiendo las reglas numéricas en español. Aquí está una descripción detallada de cómo funciona el programa:
- Incluye la biblioteca
iostream
para habilitar la entrada y salida estándar. - Utiliza el espacio de nombres
std
para evitar tener que usarstd::
antes de las funciones y objetos de la biblioteca estándar. - Define la función
main()
, que es el punto de entrada del programa. - Declara una variable entera
x
para almacenar el número ingresado por el usuario. - Muestra un mensaje solicitando al usuario que ingrese un número.
- Lee el número ingresado por el usuario y lo almacena en la variable
x
. - Utiliza una serie de condicionales
if
yelse
para manejar diferentes rangos de números y mostrar su representación en palabras en español. Cada bloque de condicionales verifica six
está dentro de cierto rango y muestra la representación correspondiente en palabras. Luego, resta el valor correspondiente dex
para avanzar en el proceso. - Finalmente, después de haber manejado todos los casos, muestra una línea en blanco (para separar la salida) y espera a que el usuario presione «Enter» antes de finalizar el programa.
Pueder ir al artículo principal:
Códigos Sencillos hechos en C++
me sale mal
una pregunta ya corriendo el programa esta bien pero me sale en los numeros copuestos como el 22 y esos numero en vez de decir veinidos sale veinti cinco en cualquier numero compuesto me sale es con cinco en vez del numero como otro ejemplo 44 deberia salir cuarenta y cuatro y sale cuarenta y cinco como se solucona eso me podrian ayudar
me salvaste de mi proyecto final, solo me faltaria que me imprima tambn dos decimales pero muchas gracias
alguno me pueda ayudar por favor… necesito un programa que me lea del un numero y lo escriba del 0 al 1,000,000 solo con #include
solo con #include stdio.h
Y SI NECESITO UN NUMERO CON DECIMAES PARA UNA NOMINA Q PUEDO HACER?
checalo brother x qe no te da el numero qe deces .-.
OYE DISCULPA PARA QUE FUNCIONA ESTA PARTE DEL PROGRAMA QUISIERA SABER?
;x=x-1;
muy buen programa
Saludos.
Gracias por la idea, no esta complicado en comparación con otros que manejan cadenas y punteros.
Excelente, muchas gracias
Hola muchas gracias por el codigo es verdad muy sencillo pero de una avanzada logica , gracias me sirvio de mucho y solo agregaria al final del programa un system(«PAUSE»); para poder visualizar el resultado y no se cierre instantaneamente la pantalla . gracias 😀
Buen programa, se ve sencillo, pero tiene su cosa, es cuestión de meterle lógica. Gracias por compartirlo! (Y)
Tengo uno parecido la misma estructura, pero en pascal, pero para numeros romanos..
muchas gracias
Interesante código , me hace falta sudo para instalar gcc 🙂
hola que pena contigo muy bueno el codigo en verdad pero tengo una duda intento pasar esto en el diagrama de flujo pero la parte x=X-900y sucesivamente no se donde se coneta basicamente me puedes explicar cada ciclo hace porfa es que estoy en el primer semestre y en verdad no entiendo mcuho …gracias por su atencion
que tal, veamos, por decir ingreso un numero: 981
x=981-900 >> x=81
x=81-80 >> x=1
x=1-1 >> x=0
Al final imprimirá: NOVECIENTOS OCHENTA Y UNO
y como planteaste esto en el diagrama de flujo
que bien esta tu programa