Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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;
}