Ir ao conteúdo

C++ Estou com erros persistentes no codigo.


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado
#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
  • Solução
Postado

@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

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!