Ir ao conteúdo
  • Cadastre-se

C++ Estou com erros persistentes no codigo.


Mr-86
Ir à solução Resolvido por devair1010,

Posts recomendados

#include <iostream>

using namespace std;

int main()
{

    float pagamento, total, valorDoCaixa, valorFinal, produto, conversor;
    int qutd;
    char resp, paga;

    valorFinal=0;

    //Parte1 (Abertura e conversao das moedas)

    do{
    cout << "Deseja abrir o caixa ?? ";
    cin >> resp;
    resp = toupper(resp);
    }while(resp != 'S');

      do{
        cout << "Qual o valor contido no caixa?? Informar em real :";
        cin >> valorDoCaixa;
       }while(valorDoCaixa < 0);

    system("clear||cls");
    cout << "Caixa aberto em R$:" <<  valorDoCaixa << " \nValor em dolar US$:" << valorDoCaixa/5.0 << " \nValor em euro €$:" << valorDoCaixa/5.36 << endl;

  do{
    cout << "Qual sera a moeda usada Real(R), Dolar(D) ou Euro(E): ";
    cin >> paga;
    paga = toupper(paga);
  }while(paga != 'R' or 'D' or 'E');

    switch(paga){
    case('D'):
        conversor =  5.0;
    break;

    case('E'):
        conversor = 5.36;
    break;
    }

    //Parte 2(compras, pagamentos e conversao de moedas)

        do{
            do{
            cout << "Qual o valor e quantidade do produto que você deseja adicionar: ";
            cin >> produto >> qutd;
            }while(produto <= 1 && qutd <0);

            valorFinal = (produto * qutd) + valorFinal;

            cout << "deseja add mais algum produto?? S/N ";
            cin >> resp;
            resp = toupper(resp);
        }while(resp != 'N');

    cout << "O valor a se pagar em rela e de: "<< valorFinal << " valor na moeda opcional foi de: " << valorFinal/conversor << endl;

   do{
    cout << "Informe o valor a se pagar ";
    cin >> pagamento;
   }while(pagamento <= valorFinal/conversor);

   cout << "O seu troco foi de "<< paga << ("$ :") << (pagamento) - valorFinal/conversor << endl ;

   //Parte3(Finalizaçao do caixa)

   cout <<"!!Caixa fechando!!" << endl;

   valorDoCaixa = valorFinal + valorDoCaixa;

   cout <<"O valor final do caixa e de\nR$" << valorDoCaixa << " \n US$" << valorDoCaixa/5.0 << " \nEU$" << valorDoCaixa/5.36 << endl;

    return 0;
}

Estou tendo problemas na parte da escolha da moeda que sera usada, o programa so lê o real, teria como alguém me explicar o meu erro??

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Solução

@Mr-86      nesse loop a condição do while está errada , pois ali de dentro desse loop nunca vair , já que a variável paga só pode conter um valor , e no while está pedindo para que tenha três valores ,  por que você usou o operador "or" e seria  "and" 

do
{
  cout << "Qual sera a moeda usada Real(R), Dolar(D) ou Euro(E): ";
  cin >> paga;
  paga = toupper(paga);
}while(paga != 'R' and paga != 'D' and paga != 'E');

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!