david fs Postado Novembro 27, 2016 Denunciar Share Postado Novembro 27, 2016 char unidades[][10]={"zero","um","dois","três","quatro","cinco","seis","sete","oito","nove"}; char especial[][10]={"","","","","","","","","","","","onze","doze","treze","quatorze","quinze"}; char dezenas[][10]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa","cem"}; char dezenascomp [][13]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa"}; char centenas[][15]={"","Cem","duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"}; char milhares[][15] = {"", "Mil", "Dois Mil", "Três Mil", "Quatro Mil", "Cinco Mil", "Seis Mil", "Sete Mil", "Oito Mil", "Nove Mil", "Dez Mil"}; char dezenasdemilhar [][10]={"","dez mil","vinte mil","trinta mil","quarenta mil","cinquenta mil","sessenta mil","setenta mil","oitenta mil","noventa mil"}; char centenademilhar [][15]={"","Cem mil","duzentos mil", "trezentos mil", "quatrocentos mil", "quinhentos mil", "seiscentos mil", "setecentos mil", "oitocentos mil", "novecentos mil"}; char milhoes [][15] = {"", "um Milhao", "Dois Milhoes", "Três Milhoes", "Quatro Milhoes", "Cinco Milhoes", "Seis Milhoes", "Sete Milhoes", "Oito Milhoes", "Nove Milhoes", "Dez Milhoes"}; char especialmilhoes [][10]={"","","","","","","","","","","","onze milhoes ","doze milhoes","treze milhoes","quatorze milhoes","quinze milhoes"}; char letras[16]; int unid,deze, cente, milha,milhao; if(numero<10) { strcpy(letras,unidades[numero]); printf("%s",letras); } else switch(numero) { /* Abre switch */ case 11: case 12: case 13: case 14: case 15: strcpy(letras,especial[numero]); printf("%s",letras); break; default: milhao = numero/1000000 milha = numero/1000; cente = (numero - 1000*milha)/100; deze = (numero - 1000*milha - 100*cente)/10; unid = numero%10; strcpy(letras, milhares[milha]); printf("%s",letras); strcpy(letras,centenas[cente]); printf("%s ", letras); if( 0 == unidades ) { /* Abre if */ strcpy(letras,dezenas[deze]); printf(" %s", letras); } /* Fechar if*/ else /*se há unidades*/ { /* Abre else */ if ( ((10*deze + unid) >= 11) && ((10*deze + unid) <= 15) ) { /*Abre if*/ strcpy(letras, especial[10 + unid]); printf("%s ", letras); } /*Fechar if*/ else { /*Abre else recolheu-se */ strcpy(letras,dezenascomp[deze]); printf(" %s", letras); strcpy(letras, unidades[unid]); printf("%s", letras); } /*Fechar else recolheu-se*/ } /*Fechar else */ break; } /* Fechar switch */ return; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
david fs
char unidades[][10]={"zero","um","dois","três","quatro","cinco","seis","sete","oito","nove"};
char especial[][10]={"","","","","","","","","","","","onze","doze","treze","quatorze","quinze"};
char dezenas[][10]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa","cem"};
char dezenascomp [][13]={"","dez","vinte","trinta","quarenta","cinquenta","sessenta","setenta","oitenta","noventa"};
char centenas[][15]={"","Cem","duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"};
char milhares[][15] = {"", "Mil", "Dois Mil", "Três Mil", "Quatro Mil", "Cinco Mil", "Seis Mil", "Sete Mil", "Oito Mil", "Nove Mil", "Dez Mil"};
char dezenasdemilhar [][10]={"","dez mil","vinte mil","trinta mil","quarenta mil","cinquenta mil","sessenta mil","setenta mil","oitenta mil","noventa mil"};
char centenademilhar [][15]={"","Cem mil","duzentos mil", "trezentos mil", "quatrocentos mil", "quinhentos mil", "seiscentos mil", "setecentos mil", "oitocentos mil", "novecentos mil"};
char milhoes [][15] = {"", "um Milhao", "Dois Milhoes", "Três Milhoes", "Quatro Milhoes", "Cinco Milhoes", "Seis Milhoes", "Sete Milhoes", "Oito Milhoes", "Nove Milhoes", "Dez Milhoes"};
char especialmilhoes [][10]={"","","","","","","","","","","","onze milhoes ","doze milhoes","treze milhoes","quatorze milhoes","quinze milhoes"};
char letras[16];
int unid,deze, cente, milha,milhao;
if(numero<10)
{
strcpy(letras,unidades[numero]);
printf("%s",letras);
}
else
switch(numero)
{ /* Abre switch */
case 11:
case 12:
case 13:
case 14:
case 15:
strcpy(letras,especial[numero]);
printf("%s",letras);
break;
default:
milhao = numero/1000000
milha = numero/1000;
cente = (numero - 1000*milha)/100;
deze = (numero - 1000*milha - 100*cente)/10;
unid = numero%10;
strcpy(letras, milhares[milha]);
printf("%s",letras);
strcpy(letras,centenas[cente]);
printf("%s ", letras);
if( 0 == unidades )
{ /* Abre if */
strcpy(letras,dezenas[deze]);
printf(" %s", letras);
} /* Fechar if*/
else /*se há unidades*/
{ /* Abre else */
if ( ((10*deze + unid) >= 11) && ((10*deze + unid) <= 15) )
{ /*Abre if*/
strcpy(letras, especial[10 + unid]);
printf("%s ", letras);
} /*Fechar if*/
else
{ /*Abre else recolheu-se */
strcpy(letras,dezenascomp[deze]);
printf(" %s", letras);
strcpy(letras, unidades[unid]);
printf("%s", letras);
} /*Fechar else recolheu-se*/
} /*Fechar else */
break;
} /* Fechar switch */
return;
}
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.