Ir para conteúdo
Fórum Script Brasil

Vinicius Marques

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Vinicius Marques

Vinicius Marques's Achievements

0

Reputação

  1. 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: case 9 << 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! #include <iostream> using namespace std; int main () { int cM,dM, uM, cm, dm, um, c, d, u; cin >> cM >> dM >> uM>> cm >> dm >> um >> c >> d >> u; switch (cM) { case 9: cout << "novecentos ";break; case 8: cout << "oitocentos ";break; case 7: cout << "setecentos ";break; case 6: cout << "seiscentos ";break; case 5: cout << "quinhentos ";break; case 4: cout << "quatrocentos ";break; case 3: cout << "trezentos ";break; case 2: cout << "duzentos "; break; case 1: cout << "cento "; break; } switch (dM) { case 9: cout << "noventa ";break; case 8: cout << "oitenta ";break; case 7: cout << "setenta ";break; case 6: cout << "sessenta ";break; case 5: cout << "cinquenta ";break; case 4: cout << "quarenta ";break; case 3: cout << "trinta ";break; case 2: cout << "vinte "; break; if (dm=1) case 1: switch (um) { case 9: cout << "dezenove mil ";break; case 8: cout << "dezoito mil ";break; case 7: cout << "dezesete mil ";break; case 6: cout << "dezeseis mil ";break; case 5: cout << "quinze mil ";break; case 4: cout << "quatorze mil ";break; case 3: cout << "treze mil ";break; case 2: cout << "doze mil "; break; case 1: cout << "onze mil ";break; } } if (dM!=1) switch (uM) { case 9: cout << "nove milhoes ";break; case 8: cout << "oito milhoes ";break; case 7: cout << "sete milhoes ";break; case 6: cout << "seis milhoes ";break; case 5: cout << "cinco milhoes ";break; case 4: cout << "quatro milhoes ";break; case 3: cout << "tres milhoes ";break; case 2: cout << "dois milhoes "; break; case 1: cout << "um milhoes ";break; } switch (cm) { case 9: cout << "novecentos ";break; case 8: cout << "oitocentos ";break; case 7: cout << "setecentos ";break; case 6: cout << "seiscentos ";break; case 5: cout << "quinhentos ";break; case 4: cout << "quatrocentos ";break; case 3: cout << "trezentos ";break; case 2: cout << "duzentos "; break; case 1: cout << "cento "; break; } switch (dm) { case 9: cout << "noventa ";break; case 8: cout << "oitenta ";break; case 7: cout << "setenta ";break; case 6: cout << "sessenta ";break; case 5: cout << "cinquenta ";break; case 4: cout << "quarenta ";break; case 3: cout << "trinta ";break; case 2: cout << "vinte "; break; if (dm=1) case 1: switch (um) { case 9: cout << "dezenove mil ";break; case 8: cout << "dezoito mil ";break; case 7: cout << "dezesete mil ";break; case 6: cout << "dezeseis mil ";break; case 5: cout << "quinze mil ";break; case 4: cout << "quatorze mil ";break; case 3: cout << "treze mil ";break; case 2: cout << "doze mil "; break; case 1: cout << "onze mil ";break; } } if (dm!=1) switch (um) { case 9: cout << "nove mil ";break; case 8: cout << "oito mil ";break; case 7: cout << "sete mil ";break; case 6: cout << "seis mil ";break; case 5: cout << "cinco mil ";break; case 4: cout << "quatro mil ";break; case 3: cout << "tres mil ";break; case 2: cout << "dois mil "; break; case 1: cout << "um mil ";break; } switch (c) { case 9: cout << "novecentos ";break; case 8: cout << "oitocentos ";break; case 7: cout << "setecentos ";break; case 6: cout << "seiscentos ";break; case 5: cout << "quinhentos ";break; case 4: cout << "quatrocentos ";break; case 3: cout << "trezentos ";break; case 2: cout << "duzentos "; break; case 1: cout << "cento "; break; } switch (d) { case 9: cout << "noventa ";break; case 8: cout << "oitenta ";break; case 7: cout << "setenta ";break; case 6: cout << "sessenta ";break; case 5: cout << "cinquenta ";break; case 4: cout << "quarenta ";break; case 3: cout << "trinta ";break; case 2: cout << "vinte "; break; if (d=1) case 1: switch (u) { case 9: cout << "dezenove";break; case 8: cout << "dezoito";break; case 7: cout << "dezesete";break; case 6: cout << "dezeseis";break; case 5: cout << "quinze";break; case 4: cout << "quatorze";break; case 3: cout << "treze";break; case 2: cout << "doze"; break; case 1: cout << "onze";break; } } if (d!=1) switch (u) { case 9: cout << "nove";break; case 8: cout << "oito";break; case 7: cout << "sete";break; case 6: cout << "seis";break; case 5: cout << "cinco";break; case 4: cout << "quatro";break; case 3: cout << "tres";break; case 2: cout << "dois"; break; case 1: cout << "um";break; } }
×
×
  • Criar Novo...