#include #include #include double valor; int valint; int valdec; int centena; int dezena; int unidade; int exibeunidade; int main() { printf(">> Escrita por Extenso de Numeros <<\n"); printf("\n"); printf("Digite um valor do tipo (xx.yy): "); scanf ("%lf",&valor); /* Divide o número em parte inteira e parte decimal */ valint=(int)valor; valdec=(int)((valor-valint)*100.0); printf("Parte inteira: %d\n",valint); printf("Parte decimal: %d\n",valdec); /* Exibe a parte inteira convertida para um texto: 0 a 99 */ printf("\n"); printf("Valor por extenso:\n"); if (valint > 99) { centena=valint / 100; /* Divisão inteira */ printf ("Valor invalido: Acima de 99 (%d centenas)\n",centena); } else { /* Dezenas */ dezena = valint / 10; unidade = valint % 10; exibeunidade=1; switch (dezena) { case 9:printf("noventa"); break; case 8:printf("oitenta"); break; case 7:printf("setenta"); break; case 6:printf("sessenta"); break; case 5:printf("cinquenta"); break; case 4:printf("quarenta"); break; case 3:printf("trinta"); break; case 2:printf("vinte"); break; case 1: if (unidade > 0) { if (unidade == 1) printf ("onze"); if (unidade == 2) printf ("doze"); if (unidade == 3) printf ("treze"); if (unidade == 4) printf ("quatorze"); if (unidade == 5) printf ("quinze"); if (unidade == 6) printf ("dezesseis"); if (unidade == 7) printf ("dezessete"); if (unidade == 8) printf ("dezoito"); if (unidade == 9) printf ("dezenove"); exibeunidade=0; } else printf ("dez"); } if (unidade != 0 && exibeunidade) { if (dezena != 0) printf (" e "); if (unidade == 1) printf ("um"); if (unidade == 2) printf ("dois"); if (unidade == 3) printf ("tres"); if (unidade == 4) printf ("quatro"); if (unidade == 5) printf ("cinco"); if (unidade == 6) printf ("seis"); if (unidade == 7) printf ("sete"); if (unidade == 8) printf ("oito"); if (unidade == 9) printf ("nove"); } printf(" reais \n"); /* =========================================== */ /* Centavos... */ } system("pause"); return 0; }