convertir nemros a letra

clarey21
30 de Mayo del 2006
hola necesito urgente un programa en c++ que convierta numeros a letras de nueve(9) digitos.

zkoria
30 de Mayo del 2006
#include <stdio.h>
#include <stdlib.h>


/*
** [email protected]
*/

char *NumeroMiles[]={"MIL", "DOS MIL", "TRES MIL", "CUATRO MIL",
"CINCO MIL", "SEIS MIL", "SIETE MIL", "OCHO MIL",
"NUEVE MIL"};

char *NumeroCientos[]= {"CIEN", "DOS CIENTOS", "TRES CIENTOS",
"CUATRO CIENTOS", "QUINIENTOS","SEIS CIENTOS",
"SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS"};

char *NumeroDecenas[]= {"DIEZ", "VEINTE", "TREINTA","CUARENTA", "CINCUENTA","SESENTA",
"SETENTA", "OCHENTA", "NOVENTA"};

char *NumeroUnidades[]= {"UNO", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE",
"OCHO","NUEVE"};



int main()
{
int n = 6666;
bool m,c,d,u;
m = c = d = u = false;

char strNum[10];
char *pm, *pc, *pd, *pu;
pm = pc = pd = pu = NULL;


sprintf(strNum,"%d", n);


if(n / 1000)
{
m = true;
n -= ((n/1000)*1000);
pm = strNum;
}

if(n / 100)
{
c = true;
n -= ((n/100)*100);
pc = strNum+1;

}


if(n / 10)
{
d = true;
n -= ((n/10)*10);
pd = strNum+2;
}


if(n / 1)
{
u = true;
n -= ((n/1)*1);
pu = strNum+3;
}


int k;
char strBuff[5];
if(pm)
{
strBuff[0]= *pm;
strBuff[1]= 0;
k = atoi(strBuff);
printf("%s " , NumeroMiles[k-1]);
}

if(pc)
{
strBuff[0]= *pc;
strBuff[1]= 0;

k = atoi(strBuff);
printf("%s ",NumeroCientos[k-1]);
}

if(pd)
{
strBuff[0]= *pd;
strBuff[1]= 0;

k = atoi(strBuff);
printf("%s " ,NumeroDecenas[k-1]);
}

if(pu)
{
strBuff[0]= *pu;
strBuff[1]= 0;

k = atoi(strBuff);
printf("%s " ,NumeroUnidades[k-1]);
}

return 0;
}

%%%%%%%%%%%
kon seguridad no esta kompleto... pero ojala la semantika te ayude.

ThePowerThisInMind...

zkoria
30 de Mayo del 2006
char *NumeroMiles[]={"MIL", "DOS MIL", "TRES MIL", "CUATRO MIL",
"CINCO MIL", "SEIS MIL", "SIETE MIL", "OCHO MIL",
"NUEVE MIL"};

char *NumeroCientos[]= {"CIEN", "DOS CIENTOS", "TRES CIENTOS",
"CUATRO CIENTOS", "QUINIENTOS","SEIS CIENTOS",
"SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS"};

char *NumeroDecenas[]= {"DIEZ", "VEINTE", "TREINTA","CUARENTA", "CINCUENTA","SESENTA",
"SETENTA", "OCHENTA", "NOVENTA"};

char *NumeroUnidades[]= {"UNO", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE",
"OCHO","NUEVE"};

%%%%%%%%
NOTA: SIN LAS DIAGONALES INVERTIDAS!!!!....

Saludos Shaketín...