Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Exorcista12 en 19 Noviembre 2013, 03:52 am



Título: Como completo mi programa de conversión?
Publicado por: Exorcista12 en 19 Noviembre 2013, 03:52 am
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.