Autor Tópico: Visualg -Entrada em número e gerar o seu valor correspondente por extenso.  (Lida 4251 vezes)

Offline hrodwulf

  • Usuário Ubuntu
  • *
  • Mensagens: 6
    • Ver perfil
Bom dia pessoal, estou aprendendo a programar e me deparei com um exercício que começou a bugar minha cabeça. Gostaria que vocês pudessem me ajudar. Eu só aprendi a usar (se, senão, enquanto, repita) - Visualg
 
O exercício é o seguinte:
A tarefa consiste em receber um número como entrada e gerar o seu valor correspondente por extenso. O número n, fornecido na entrada, deverá ser tal que 0 < n < 1.000,00. Valores fora deste intervalo devem ser recusados, através de uma mensagem de erro. Como se trata de valores monetários, após a vírgula deverão existir exatamente 2 dígitos. Caso isto não ocorra, o sistema deve mostrar uma mensagem de erro. Ao escrever o valor por extenso deverão ser respeitadas as regras relacionadas a singular e plural. Na entrada do número é obrigatório o uso do ponto como marcador de milhagens. Os centavos devem ser separados por vírgula.

Exemplo 1:

Entrada: 1,32
Saída: Um real e trinta e dois centavos


Não estou conseguindo faze-lo, alguém poderia clarear minha mente?
Desde já agradeço a atenção de todos.

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re:Visualg -Entrada em número e gerar o seu valor correspondente por extenso.
« Resposta #1 Online: 04 de Outubro de 2016, 20:43 »
Tem que contar as casas. Por ex. 21 tem duas casas (unidades e dezenas) então se 2 nas dezenas escreve vinte, tem um valor maior ou igual a 1 nas unidades? Coloca um e, se o valor nas unidades é 1 escreve um. O valor inteiro é maior que 1? Então escreve reais, nada após a virgula? Acaba e de saída vai ter: vinte e um reais.

-----
Pra saber o número de casas você pode fazer divisão inteira por 10 ou ver o tamanho da string (não sei como isso ai lida com cadeia de caracteres).
« Última modificação: 05 de Outubro de 2016, 06:05 por irtigor »