Código C++ – Convierte Número a Letras

// 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:

  1. Incluye la biblioteca iostream para habilitar la entrada y salida estándar.
  2. Utiliza el espacio de nombres std para evitar tener que usar std:: antes de las funciones y objetos de la biblioteca estándar.
  3. Define la función main(), que es el punto de entrada del programa.
  4. Declara una variable entera x para almacenar el número ingresado por el usuario.
  5. Muestra un mensaje solicitando al usuario que ingrese un número.
  6. Lee el número ingresado por el usuario y lo almacena en la variable x.
  7. Utiliza una serie de condicionales if y else para manejar diferentes rangos de números y mostrar su representación en palabras en español. Cada bloque de condicionales verifica si x está dentro de cierto rango y muestra la representación correspondiente en palabras. Luego, resta el valor correspondiente de x para avanzar en el proceso.
  8. 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++

20 thoughts on “Código C++ – Convierte Número a Letras

  1. 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

  2. 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 😀

  3. 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

    1. que tal, veamos, por decir ingreso un numero: 981

      if(x>=900)	{cout<<"NOVECIENTOS "	;x=x-900;}

      x=981-900 >> x=81

      if(x>80) {cout<<"OCHENTA Y "   ;x=x-80; }

      x=81-80 >> x=1

      else if(x==1)    {cout<<"UNO"      ;x=x-1;  }

      x=1-1 >> x=0

      Al final imprimirá: NOVECIENTOS OCHENTA Y UNO

Deja un comentario