Visualg -Entrada em número e gerar o seu valor correspondente por extenso.

Iniciado por hrodwulf, 04 de Outubro de 2016, 12:36

tópico anterior - próximo tópico

hrodwulf

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.

irtigor

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).