Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define true 1
- #define false 0
- /*
- Para esse programa, precisamos programar uma forma do código receber um número de no máximo 15 dígitos
- e imprimir na tela esse valor por extenso.
- Ex: 1.920.734 -> Um milhão novecentos e vinte mil setecentos e trinta e quatro.
- MAX: 999.999.999.999.999
- */
- int checaValidez(int tamanho, char string[])
- {
- int i;
- for (i = 0; i < tamanho; i++)
- {
- char digito = string[i];
- if (digito != '0' && digito != '1' && digito != '2' && digito != '3' && digito != '4' && digito != '5' && digito != '6' && digito != '7' && digito != '8' && digito != '9')
- {
- return false;
- }
- }
- return true;
- }
- void escreverNumeracao(int conj, int resto)
- {
- if (resto != 0) conj += 1;
- if (conj == 5) printf("trilhao ");
- else if (conj == 4) printf("bilhao ");
- else if (conj == 3) printf("milhao ");
- else if (conj == 2) printf("mil ");
- }
- void escreverConj(int pos0, char valor[])
- {
- }
- // 55.210
- // 55.999.999.999.999
- void escreverNumCompleto(int conj, int resto, char valor[])
- {
- int i;
- int posConj = resto;
- if (resto != 0)
- {
- escreverConj(resto - 1, valor);
- escreverNumeracao(conj, resto);
- }
- resto = 0;
- for (; conj > 0; conj--)
- {
- escreverConj(posConj, valor);
- escreverNumeracao(conj, resto);
- posConj += 3;
- }
- }
- int main()
- {
- char valor[15];
- scanf("%s", valor);
- int tamNum = strlen(valor);
- int validez = checaValidez(tamNum, valor);
- if (validez == 0)
- {
- printf("Valor invalido.\n");
- return 0;
- }
- int conj = tamNum / 3;
- int resto = tamNum % 3;
- escreverNumCompleto(conj, resto, valor);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement