2
respostas

O meu codigo não saca o valor da minha conta nem transfere para a outra

class cliente{
    nome;
    cpf;
}

class contaCorrente{
    agencia;
    cliente;

    _saldo = 0;

    saque(valor){
        if(this._saldo >= valor){
            this._saldo -= valor;
        }else{
            console.log("Você não tem saldo para realizar essa operação");
        }
    }

    deposita(valor){
        if(valor >= 0){
            this._saldo += valor;
        }else{
            console.log("não e possivel depositar "+ valor +" em seu Saldo ");
        }
    }

    transfere(valor, destino){
        const valorTransferido = this.saque(valor)
        destino.deposita(valorTransferido);
    }
}


const cliente1 = new cliente()

cliente1.nome = "Lucas";
cliente1.cpf = "580.925.105-76";

const cliente2 = new cliente;
cliente2.nome = "Arthur";
cliente2.cpf = "064.657.452-59";

const contaCorrenteLucas = new contaCorrente();
contaCorrenteLucas.agencia = 013;
contaCorrenteLucas.cliente = cliente1;
contaCorrenteLucas.deposita(500);


const contaArthur = new contaCorrente;
contaArthur.agencia = 013;
contaArthur.cliente = cliente2;

contaCorrenteLucas.transfere(300,contaArthur);

console.log(contaCorrenteLucas)
console.log(contaArthur);






2 respostas

Lucas, primeiro cuidado com contaCorrenteLucas.agencia = 013;

013 ≠ de 13. O Javascript vai entender q vc está usando um número octal. Então use entre aspas "013"

A const valorTransferido = this.saque(valor) retorna undefined devido o saque() não ter return

Vc pode usar true para return em saque() e assim completar a transferência

Minha sugestão para class contaCorrente:

class contaCorrente{
  agencia;
  cliente;
  _saldo = 0;

  saque(valor){
      if(this._saldo >= valor){
          this._saldo -= valor;
          return true
      }

      console.log("Você não tem saldo para realizar essa operação");
  }

  deposita(valor){
      if ( valor >= 0 ) {          
        this._saldo += valor
      }else{
        console.log("não e possível depositar "+ valor +" em seu Saldo ");
      }
  }

  transfere(valor, destino){
      if (this.saque(valor)) destino.deposita(valor);
  }
}

muito obrigado ali pelo apoio vi aqui agr dei