Tenho um trabalho pratico na faculdade valendo 10 pontos. O professor quer que façamos um programa que transforme algarismos em um numero escrito por extenso.
Ex:
1 um
2 dois...
102 cento e dois...
E esse programa precisa realizar essa função até a centena de milhão. Cheguei a fazer a codificação baseada em switch/case. Mas estou tendo dificuldades para reproduzir a conjunção "e" no meio da numeração extensa, já que em certas situações a numeração não cabe a conjunção.
Durante a compilação: "cento noventa dois milhoes novecentos quarenta sete mil trezentos doze"
Como deve ficar: "cento e noventa e dois milhoes novecentos e quarenta e sete mil trezentos e doze"
Seria muito fácil colocar tipo:
case9<< cout "cento e ";break;
mas, o problema é que há condicionantes, e não estou conseguindo trabalhar com a estrutura de decisão if/else.
O problema também acontece quando há uso de dígitos 0, pois não soube declarar que o sistema deve optar por imprimir "cem" no lugar de "cento"
Segue o código que estruturei, se alguém puder, por favor revisar meu código ou me dar uma breve explicação do que fazer para resolver isso. Ficarei muito grato!
Pergunta
Vinicius Marques
Tenho um trabalho pratico na faculdade valendo 10 pontos. O professor quer que façamos um programa que transforme algarismos em um numero escrito por extenso.
Ex:
1 um
2 dois...
102 cento e dois...
E esse programa precisa realizar essa função até a centena de milhão. Cheguei a fazer a codificação baseada em switch/case. Mas estou tendo dificuldades para reproduzir a conjunção "e" no meio da numeração extensa, já que em certas situações a numeração não cabe a conjunção.
Durante a compilação: "cento noventa dois milhoes novecentos quarenta sete mil trezentos doze"
Como deve ficar: "cento e noventa e dois milhoes novecentos e quarenta e sete mil trezentos e doze"
Seria muito fácil colocar tipo:
mas, o problema é que há condicionantes, e não estou conseguindo trabalhar com a estrutura de decisão if/else.
O problema também acontece quando há uso de dígitos 0, pois não soube declarar que o sistema deve optar por imprimir "cem" no lugar de "cento"
Segue o código que estruturei, se alguém puder, por favor revisar meu código ou me dar uma breve explicação do que fazer para resolver isso. Ficarei muito grato!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.