Fórum escrever programa que leia valor de um cheque e passe por extenso #419676

10/07/2012

0

Olá, bom dia, boa tarde...

tipo o usuário vai digitar um numero de 0,01 até 99,99 e o numero que ele digitar tem que passa por extenso.

alguém me dar um help?
Flavio-pereira

Flavio-pereira

Responder

Posts

10/07/2012

Eduardo Gonçalves

Se o valor só pode variar de 0,01 a 99,99 até que fica simples. Uma idéia bem básica de algoritmo é a seguinte:

1-Pegue o valor que o usuário digitou e formate como xx,yy (exemplos: se ele digitou 9,2 formate como 09,20; se ele digitou 0,5, formate como 00,50; se ele digitou 15, formate como 15,00).

2-Crie um vetor de strings de 100 posicoes e armazene os valores por extenso:
vet[0] = ; //essa posição não será usada
vet[1] = um;
vet[2] = dois;
...
vet[99] = noventa e nove;

3- pegue o valor xx,yy. Separe os centavos e procure a descrição no vetor (se for 00 centavos não precisa). Armazene na variável centavos (ex: centavos = vet[20] + centavos;)

4- novamente pegue o valor xx,yy. Separe os reais e procure a descrição no vetor (se for 00 reais não precisa). Armazene na variável reais (ex: reais = vet[9] + Reais;)

5 - Valor_Final = reais + e + centavos;

Observações:

1 - Obviamente você tem que tratar os casos onde só exista o valor de centavos (senão seu valor final pode ficar e cinquenta centavos ao invés de cinquenta centavos. Idem para o caso onde só exista valor em Reais.

2 - O vetor com as descrições poderia ser mais inteligente... na verdade não seria preciso ter uma posição para noventa e nove, bastaria ter noventa e nove. O que quero dizer é que bastaria ter as descrições 1 a 19, 20, 30, 40, 50, 60, 70, 80, 90. Mas aí o código para montar as descrições ficaria mais complicadinho. Você teria que usar esse tipo de estratégia se os cheques pudessem ter qualquer valor, mas se no seu caso é de 0,01 a 99,99 então não precisa!
Responder

Gostei + 0

10/07/2012

Davi Costa

http://www.guj.com.br/java/225445-opensutils-br4j---biblioteca-de-utilitarios-utils/1

http://lib.seven.com.br/ampliar.asp?codartigo=684

att Davi

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar