Advertisement
fvasconcelos

Escreve por extenso um número

May 22nd, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 10.62 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int numero = 0;
  5.  
  6. void outros_casos(int numeral) {
  7.  
  8.     char convertido[7];
  9.     sprintf(convertido, "%d", numeral);
  10.     int convertido_len = strlen(convertido);
  11.  
  12.     if (convertido_len < 6) {
  13.         int startat = 5;
  14.  
  15.         for (int counter = convertido_len-1; counter >= 0; counter--) {
  16.             convertido[startat] = convertido[counter];
  17.             startat--;
  18.             convertido[counter] = '0';
  19.         }
  20.     }
  21.  
  22.     if (numeral == 900000) printf("novecentos mil\n\n");
  23.     else if (numeral == 800000) printf("Oitocentos mil\n\n");
  24.     else if (numeral == 700000) printf("Setecentos mil\n\n");
  25.     else if (numeral == 600000) printf("Seiscentos mil\n\n");
  26.     else if (numeral == 500000) printf("Quinhentos mil\n\n");
  27.     else if (numeral == 400000) printf("Quatrocentos mil\n\n");
  28.     else if (numeral == 300000) printf("Trezentos mil\n\n");
  29.     else if (numeral == 200000) printf("Duzentos mil\n\n");
  30.     else if (numeral == 100000) printf("Cem mil\n\n");
  31.  
  32.     if (convertido[0] == '9' && convertido[1] == '0' && convertido[2] == '0') printf("Novecentos mil ");
  33.     else if (convertido[0] == '9') printf("Novecentos e ");
  34.     else if (convertido[0] == '8' && convertido[1] == '0' && convertido[2] == '0') printf("Oitocentos mil ");
  35.     else if (convertido[0] == '8') printf("Oitocentos e ");
  36.     else if (convertido[0] == '7' && convertido[1] == '0' && convertido[2] == '0') printf("Setecentos mil ");
  37.     else if (convertido[0] == '7') printf("Setecentos e ");
  38.     else if (convertido[0] == '6' && convertido[1] == '0' && convertido[2] == '0') printf("Seiscentos mil ");
  39.     else if (convertido[0] == '6') printf("Seiscentos e ");
  40.     else if (convertido[0] == '5' && convertido[1] == '0' && convertido[2] == '0') printf("Quinhentos mil ");
  41.     else if (convertido[0] == '5') printf("Quinhentos e ");
  42.     else if (convertido[0] == '4' && convertido[1] == '0' && convertido[2] == '0') printf("Quatrocentos mil ");
  43.     else if (convertido[0] == '4') printf("Quatrocentos e ");
  44.     else if (convertido[0] == '3' && convertido[1] == '0' && convertido[2] == '0') printf("Trezentos mil ");
  45.     else if (convertido[0] == '3') printf("Trezentos e ");
  46.     else if (convertido[0] == '2' && convertido[1] == '0' && convertido[2] == '0') printf("Duzentos mil ");
  47.     else if (convertido[0] == '2') printf("Duzentos e ");
  48.     else if (convertido[0] == '1' && convertido[1] == '0' && convertido[2] == '0') printf("Cem mil ");
  49.     else if (convertido[0] == '1') printf("Cento e ");
  50.  
  51.     if (convertido[1] == '1' && convertido[2] == '0') printf("dez mil ");
  52.     else if (convertido[1] == '1' && convertido[2] == '1') printf("onze mil ");
  53.     else if (convertido[1] == '1' && convertido[2] == '2') printf("doze mil ");
  54.     else if (convertido[1] == '1' && convertido[2] == '3') printf("treze mil ");
  55.     else if (convertido[1] == '1' && convertido[2] == '4') printf("quatorze mil ");
  56.     else if (convertido[1] == '1' && convertido[2] == '5') printf("quinze mil ");
  57.     else if (convertido[1] == '1' && convertido[2] == '6') printf("dezesseis mil ");
  58.     else if (convertido[1] == '1' && convertido[2] == '7') printf("dezessete mil ");
  59.     else if (convertido[1] == '1' && convertido[2] == '8') printf("dezoito mil ");
  60.     else if (convertido[1] == '1' && convertido[2] == '9') printf("dezenove mil ");
  61.     else if (convertido[1] == '9' && convertido[2] == '0') printf("noventa mil ");
  62.     else if (convertido[1] == '9') printf("noventa e ");
  63.     else if (convertido[1] == '8' && convertido[2] == '0') printf("oitenta mil ");
  64.     else if (convertido[1] == '8') printf("oitenta e ");
  65.     else if (convertido[1] == '7' && convertido[2] == '0') printf("setenta mil ");
  66.     else if (convertido[1] == '7') printf("setenta e ");
  67.     else if (convertido[1] == '6' && convertido[2] == '0') printf("sessenta mil ");
  68.     else if (convertido[1] == '6') printf("sessenta e ");
  69.     else if (convertido[1] == '5' && convertido[2] == '0') printf("cinquenta mil ");
  70.     else if (convertido[1] == '5') printf("cinquenta e ");
  71.     else if (convertido[1] == '4' && convertido[2] == '0') printf("quarenta mil ");
  72.     else if (convertido[1] == '4') printf("quarenta e ");
  73.     else if (convertido[1] == '3' && convertido[2] == '0') printf("trinta mil ");
  74.     else if (convertido[1] == '3') printf("trinta e ");
  75.     else if (convertido[1] == '2' && convertido[2] == '0') printf("vinte mil ");
  76.     else if (convertido[1] == '2') printf("vinte e ");
  77.  
  78.     if (convertido[2] == '1') printf("um mil ");
  79.     else if (convertido[2] == '2') printf("dois mil ");
  80.     else if (convertido[2] == '3') printf("três mil ");
  81.     else if (convertido[2] == '4') printf("quatro mil ");
  82.     else if (convertido[2] == '5') printf("cinco mil ");
  83.     else if (convertido[2] == '6') printf("seis mil ");
  84.     else if (convertido[2] == '7') printf("sete mil ");
  85.     else if (convertido[2] == '8') printf("oito mil ");
  86.     else if (convertido[2] == '9') printf("nove mil ");
  87.  
  88.     if (convertido[3] == '9' && convertido[4] == '0' && convertido[5] == '0') printf("e novecentos\n\n");
  89.     else if (convertido[3] == '9') printf("novecentos e ");
  90.     else if (convertido[3] == '8' && convertido[4] == '0' && convertido[5] == '0') printf("e oitocentos\n\n");
  91.     else if (convertido[3] == '8') printf("oitocentos e ");
  92.     else if (convertido[3] == '7' && convertido[4] == '0' && convertido[5] == '0') printf("e setecentos\n\n");
  93.     else if (convertido[3] == '7') printf("setecentos e ");
  94.     else if (convertido[3] == '6' && convertido[4] == '0' && convertido[5] == '0') printf("e seiscentos\n\n");
  95.     else if (convertido[3] == '6') printf("seiscentos e ");
  96.     else if (convertido[3] == '5' && convertido[4] == '0' && convertido[5] == '0') printf("e quinhentos\n\n");
  97.     else if (convertido[3] == '5') printf("quinhentos e ");
  98.     else if (convertido[3] == '4' && convertido[4] == '0' && convertido[5] == '0') printf("e quatrocentos\n\n");
  99.     else if (convertido[3] == '4') printf("quatrocentos e ");
  100.     else if (convertido[3] == '3' && convertido[4] == '0' && convertido[5] == '0') printf("e trezentos\n\n");
  101.     else if (convertido[3] == '3') printf("trezentos e ");
  102.     else if (convertido[3] == '2' && convertido[4] == '0' && convertido[5] == '0') printf("e duzentos\n\n");
  103.     else if (convertido[3] == '2') printf("duzentos e ");
  104.     else if (convertido[3] == '1' && convertido[4] == '0' && convertido[5] == '0') printf("e cem\n\n");
  105.     else if (convertido[3] == '1') printf("cento e ");
  106.  
  107.     if (convertido[4] == '0' && convertido[5] == '1') printf("um\n\n");
  108.     else if (convertido[4] == '0' && convertido[5] == '2') printf("dois\n\n");
  109.     else if (convertido[4] == '0' && convertido[5] == '3') printf("três\n\n");
  110.     else if (convertido[4] == '0' && convertido[5] == '4') printf("quatro\n\n");
  111.     else if (convertido[4] == '0' && convertido[5] == '5') printf("cinco\n\n");
  112.     else if (convertido[4] == '0' && convertido[5] == '6') printf("seis\n\n");
  113.     else if (convertido[4] == '0' && convertido[5] == '7') printf("sete\n\n");
  114.     else if (convertido[4] == '0' && convertido[5] == '8') printf("oito\n\n");
  115.     else if (convertido[4] == '0' && convertido[5] == '9') printf("nove\n\n");
  116.     else if (convertido[4] == '1' && convertido[5] == '0') printf("dez\n\n");
  117.     else if (convertido[4] == '1' && convertido[5] == '1') printf("onze\n\n");
  118.     else if (convertido[4] == '1' && convertido[5] == '2') printf("doze\n\n");
  119.     else if (convertido[4] == '1' && convertido[5] == '3') printf("treze\n\n");
  120.     else if (convertido[4] == '1' && convertido[5] == '4') printf("quatorze\n\n");
  121.     else if (convertido[4] == '1' && convertido[5] == '5') printf("quinze\n\n");
  122.     else if (convertido[4] == '1' && convertido[5] == '6') printf("dezesseis\n\n");
  123.     else if (convertido[4] == '1' && convertido[5] == '7') printf("dezessete\n\n");
  124.     else if (convertido[4] == '1' && convertido[5] == '8') printf("dezoito\n\n");
  125.     else if (convertido[4] == '1' && convertido[5] == '9') printf("dezenove\n\n");
  126.  
  127.     if (convertido[4] == '9' && convertido[5] == '0') printf("noventa\n\n");
  128.     else if (convertido[4] == '9') printf("noventa e ");
  129.     else if (convertido[4] == '8' && convertido[5] == '0') printf("oitenta\n\n");
  130.     else if (convertido[4] == '8') printf("oitenta e ");
  131.     else if (convertido[4] == '7' && convertido[5] == '0') printf("setenta\n\n");
  132.     else if (convertido[4] == '7') printf("setenta e ");
  133.     else if (convertido[4] == '6' && convertido[5] == '0') printf("sessenta\n\n");
  134.     else if (convertido[4] == '6') printf("sessenta e ");
  135.     else if (convertido[4] == '5' && convertido[5] == '0') printf("cinquenta\n\n");
  136.     else if (convertido[4] == '5') printf("cinquenta e ");
  137.     else if (convertido[4] == '4' && convertido[5] == '0') printf("quarenta\n\n");
  138.     else if (convertido[4] == '4') printf("quarenta e ");
  139.     else if (convertido[4] == '3' && convertido[5] == '0') printf("trinta\n\n");
  140.     else if (convertido[4] == '3') printf("trinta e ");
  141.     else if (convertido[4] == '2' && convertido[5] == '0') printf("vinte\n\n");
  142.     else if (convertido[4] == '2') printf("vinte e ");
  143.  
  144.     if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '1') printf("um\n\n");
  145.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '2') printf("dois\n\n");
  146.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '3') printf("três\n\n");
  147.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '4') printf("quatro\n\n");
  148.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '5') printf("cinco\n\n");
  149.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '6') printf("seis\n\n");
  150.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '7') printf("sete\n\n");
  151.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '8') printf("oito\n\n");
  152.     else if (convertido[4] != '0' && convertido[4] != '1' && convertido[5] == '9') printf("nove\n\n");
  153. }
  154.  
  155. int main() {
  156.  
  157.     printf("\e[H\e[2J"); //Limpa a tela
  158.  
  159.     do { //Faça isso aqui de baixo
  160.  
  161.         printf("Programa para escrever um número por extenso\nUniversidade Federal do Ceará\n\nDigite um número: ");
  162.         scanf("%d", &numero);
  163.  
  164.         if (numero > 1000000 || numero < 0)
  165.             printf("\e[H\e[2J*** Número não pode ser maior que 1.000.000 ou menor que 0. ***\n\n");
  166.  
  167.     } while (numero > 1000000 || numero < 0); //Enquanto essa condição não é satisfeita
  168.  
  169.     printf("==> ");
  170.     if (numero == 1000000) printf(" Um milhão.\n\n");
  171.     else if (numero == 0) printf(" Zero.\n\n");
  172.     else outros_casos(numero);
  173.  
  174.     return 0;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement