Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.49 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. char saque_caracter[6];
  6. int saque=173600, qnt_algarismos;
  7. char numero[10][20];
  8.  
  9.  
  10. int obtem_valor_numerico_equivalente_ao_caracter(char caracter){
  11.  
  12. int num;
  13. char numeros[] = { '0','1','2','3','4','5','6','7','8','9'};
  14.  
  15. for(num=0;num<10;num++)
  16. if(caracter==numeros[num]){
  17. return(num);
  18. }
  19. }
  20.  
  21. char* inverter(char* s){
  22.  
  23. int tamanho=strlen(s);
  24. int c, i, j;
  25.  
  26. for (i=0, j=tamanho-1;i<j;i++,j--){
  27. c=s[i];
  28. s[i]=s[j];
  29. s[j]=c;
  30. }
  31. return s;
  32. }
  33.  
  34. void unidade(char* num){
  35.  
  36. char numeros_por_extenso[10][20]={"zero", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove"};
  37. int i;
  38.  
  39. i = obtem_valor_numerico_equivalente_ao_caracter(num);
  40. strcpy(numero[0], numeros_por_extenso[i]);
  41. printf("%s", numero);
  42.  
  43. }
  44.  
  45. void dezena(char* num){
  46.  
  47. char numeros_por_extenso[10][20]={"dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove"};
  48. int i;
  49.  
  50. i = obtem_valor_numerico_equivalente_ao_caracter(num);
  51. strcpy(numero[1], numeros_por_extenso[i]);
  52. printf("%sn", numero[1]);
  53.  
  54. }
  55.  
  56. void centena(char* num){
  57.  
  58. char numeros_por_extenso[10][20]={"cem", "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"};
  59. int i;
  60.  
  61. i = obtem_valor_numerico_equivalente_ao_caracter(num);
  62. strcpy(numero[2], numeros_por_extenso[i]);
  63. printf("%s", numero);
  64.  
  65. }
  66.  
  67. void unidade_de_milhar(char* num){
  68.  
  69. char numeros_por_extenso[10][20]={"mil", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove"};
  70. int i;
  71.  
  72. i = obtem_valor_numerico_equivalente_ao_caracter(num);
  73. strcpy(numero[3], numeros_por_extenso[i]);
  74. printf("%s", numero);
  75.  
  76. }
  77.  
  78. void dezena_de_milhar(char* num){
  79.  
  80. char numeros_por_extenso[10][20]={"mil", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove"};
  81. int i;
  82.  
  83. i = obtem_valor_numerico_equivalente_ao_caracter(num);
  84. strcpy(numero[4], numeros_por_extenso[i]);
  85. printf("%s", numero);
  86.  
  87. }
  88.  
  89. void centena_de_milhar(char* num){
  90.  
  91. char numeros_por_extenso[10][20]={"mil", "cem", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"};
  92. int i;
  93.  
  94. i = obtem_valor_numerico_equivalente_ao_caracter(num);
  95. strcpy(numero[5], numeros_por_extenso[i]);
  96. printf("%s", numero);
  97.  
  98. }
  99.  
  100.  
  101. void numero_por_extenso(char* num[], int pos){
  102.  
  103. if(pos==0)
  104. unidade(num[0]);
  105. if(pos==1)
  106. dezena(num[1]);
  107. if(pos==2)
  108. sprintf(numero[2], "%s", centena(num[2]));
  109. if(pos==3)
  110. sprintf(numero[3], "%s", unidade_de_milhar(num[3]));
  111. if(pos==4)
  112. numero[4]=dezena_de_milhar(num[4]);
  113. if(pos==5)
  114. numero[5]=centena_de_milhar(num[5]);
  115. printf("%s", numero);
  116. */
  117. }
  118.  
  119. int main()
  120. {
  121. int i;
  122.  
  123. sprintf(saque_caracter, "%i", saque);
  124. inverter(saque_caracter);
  125. qnt_algarismos = strlen(saque_caracter);
  126. printf("%snn", saque_caracter);
  127. for(i=qnt_algarismos;i>=0;i--){
  128. numero_por_extenso(saque_caracter, i);
  129. }
  130.  
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement