Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método sacar não funciona

Toda vez que eu mando o sistema rodar ele simplesmente ignora o saque quando o código está assim:

void Conta::sacar(float valorASacar) {
    if(valorASacar < 0) {
        std::cout << "Não pode sacar valor negativo" << std::endl;
        return;
    }

    if (valorASacar < saldo) {
        std::cout << "Saldo insuficiente" << std::endl;
        return;
    }

    saldo -= valorASacar;
}

Mas ao retirar o segundo if (que verifica se o saldo é suficiente), ele funciona normalmente. Código da seguinte maneira:

void Conta::sacar(float valorASacar) {
    if(valorASacar < 0) {
        std::cout << "Não pode sacar valor negativo" << std::endl;
        return;
    }

    saldo -= valorASacar;
}

Não consigo entender o que estou fazendo de errado.

1 resposta
solução!

No segundo "if" você utilizou o operador errado, você deve testar se o "valorASacar" é maior do que o "saldo"

void Conta::sacar(float valorASacar) {
    if(valorASacar < 0) {
        std::cout << "Não pode sacar valor negativo" << std::endl;
        return;
    }

    if (valorASacar > saldo) {
        std::cout << "Saldo insuficiente" << std::endl;
        return;
    }

    saldo -= valorASacar;
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software