//O usuario digita um valor numerico e o programa mostra escrito por extenso
#include<stdio.h>
int main(){
int valor,unid,deze,cent,milh,aux1,aux2,aux3,aux4,escolha;
char *unidade[100],*dezena[100],*centena[100],*sinal[10];
unidade[0]="zero";
unidade[1]="um";
unidade[2]="dois";
unidade[3]="tres";
unidade[4]="quatro";
unidade[5]="cinco";
unidade[6]="seis";
unidade[7]="sete";
unidade[8]="oito";
unidade[9]="nove";
unidade[10]="dez";
unidade[11]="onze";
unidade[12]="doze";
unidade[13]="treze";
unidade[14]="quatorze";
unidade[15]="quinze";
unidade[16]="dezesseis";
unidade[17]="dezessete";
unidade[18]="dezoito";
unidade[19]="dezenove";
dezena[2]="vinte";
dezena[3]="trinta";
dezena[4]="quarenta";
dezena[5]="cinquenta";
dezena[6]="sessenta";
dezena[7]="setenta";
dezena[8]="oitenta";
dezena[9]="noventa";
centena[0]="cem";
centena[1]="cento";
centena[2]="duzentos";
centena[3]="trezentos";
centena[4]="quatrocentos";
centena[5]="quinhentos";
centena[6]="seissentos";
centena[7]="setecentos";
centena[8]="oitocentos";
centena[9]="novecentos";
do{
printf ("Digite um valor entre 1 e 9999: ");
scanf ("%d",&valor);
while (valor>9999 || valor<1){
printf ("\nValor invalido, digite um valor entre 1 e 9999:\n");
scanf ("%d",&valor);
}
milh=valor/1000;
aux1=milh*1000;
cent=(valor-aux1)/100;
aux2=cent*100;
deze=(valor-aux1-aux2)/10;
aux3=deze*10;
unid=(valor-aux1-aux2-aux3);
aux4=aux3+unid;
sinal[2]="";
if (cent>0){
sinal[2]=" e ";
}
if (cent>0 &&(deze>0 || unid>0)){
sinal[0]=", ";
}else{
if (milh>0 && cent==0 && deze==0 && unid==0){
sinal[0]="";
}else{
sinal[0]=" e ";
}
}
if (milh==0 && cent==1 && deze==0 && unid==0){
printf("cem reais");
}else{
if (milh>0 && cent==1 && deze==0 && unid==0){
printf("%s mil e cem reais", unidade[milh]);
}else{
if (milh==0 && cent==0 && deze==0 && unid==1){
printf("um real");
}else{
if (milh>0){
printf ("%s mil%s", unidade[milh],sinal[0]);
}
if (cent>0){
printf ("%s",centena[cent]);
}
if (aux4<20 && aux4>0){
printf ("%s%s",sinal[2],unidade[aux4]);
}
if (aux4>19 && unid!=0){
printf ("%s%s e %s",sinal[2],dezena[deze],unidade[unid]);
}
if (aux4>19 && unid==0){
printf ("%s%s",sinal[2],dezena[deze]);
}
printf (" reais");
}
}
}
printf ("\nDeseja repetir:\n");
printf ("Sim (1)\n");
printf ("Nao (2)\n");
scanf("%d",&escolha);
while (escolha>2 || escolha<1){
printf ("Erro, digite novamente:\n");
scanf ("%d",&escolha);
}
}while (escolha==1);
}
Recent Posts