Saludos a todos, tengo mi programa que permite convertir números a letras pero este no esta completo aun, llegue a un punto en el cual no se como seguir resolviendo mi código por eso recurro a ustedes para que me den ideas de como terminarlo.
El avance de mi código:
*Funciona convirtiendo números a letras en un rango de 0 - 100
*También convierte estas cantidades: 100, 200, 300, 400, 500,600,700,800,900
*Me falta completar las cantidades entre decenas, pero no encuentro la forma de hacerlo.
Mi programa:
// Convertir números a letras en un rango de 0 - 999
#include<iostream>
#include<string>
using namespace std;
int main()
{
string unidades[] =
{"cero", "uno", "dos" ,"tres" ,"cuatro" ,"cinco" ,
"seis" ,"siete" ,"ocho" ,"nueve","diez"};
string especiales[] =
{"once", "doce","trece","catorce", "quince",
"diezciseis", "diecisiete", "dieciocho", "diecinueve"};
string decenas[] =
{"veinte", "treinta","cuarenta","cincuenta", "sesenta",
"setenta", "ochenta", "noventa"};
string centenas[] =
{"cien", "doscientos","trescientos","cuatrocientos", "quinientos",
"seiscientos", "setecientos", "ochocientos","novecientos"};
cout << "Ingrese un numero entre 0-99: ";
int num;
cin >> num;
if(num>=0 && num<11)
cout<<unidades[num];
else if(num<20)
cout<<especiales[num-11];
else if(num<=100)
{
int unid = num % 100;
int dec = num/100;
if(unid == 0)
cout<< decenas[dec-2] ;
else
cout<< decenas[dec-2] <<" y " <<unidades[unid];
}
else if(num<1000)
{
int unid = num % 100;
int dec = num/100;
if(unid == 0)
cout<< centenas[dec-1] ;
else
cout<< centenas[dec-1]<<" "<<unidades[unid];
}
cout<<endl;
system("pause");
}
Espero me brinden su ayuda
Gracias y Saludos.