1
resposta

Problema na função transferir. Consigo sacar o valor do parâmetro, mas não consigo depositar o valor na conta destino !!!

//Arquivo main.js:

import {Cliente} from "./Cliente.js" import {ContaCorrente} from "./ContaCorrente.js"

const cliente1 = new Cliente() cliente1.nome = "Thiago Silva Gomes" cliente1.cpf = 12345678

const cliente2 = new Cliente() cliente2.nome = "Roberto" cliente2.cpf = 12345678910

const contaCorrente1 = new ContaCorrente() contaCorrente1.cliente = cliente1 contaCorrente1.agencia = "101" contaCorrente1._saldo = 2500

const contaCorrente2 = new ContaCorrente() contaCorrente2.cliente = cliente2 contaCorrente2.agencia = "101" contaCorrente2._saldo = 2500

contaCorrente1.transferir(100, contaCorrente2) contaCorrente2.depositar(500)

console.log(contaCorrente1) console.log(contaCorrente2)

//Arquivo ContaCorrente.js:

export class ContaCorrente{ agencia; cliente;

_saldo;

sacar(valor){
    if(this._saldo >= valor){
        this._saldo -= valor
    }
}

depositar(valor){
    if(valor > 0){
        this._saldo += valor
    }
}

transferir(valor, destino){
    if(valor <= this._saldo && valor > 0){
        const valorSacado = this.sacar(valor)
        destino.depositar(valorSacado)
    }
}

}

1 resposta

Bom dia!

acho que o seu problema está nesse pedaço:

const valorSacado = this.sacar(valor)
destino.depositar(valorSacado)

Troque para o seguinte:

this.sacar(valor)
destino.depositar(valor)

A função sacar() não retorna valor, por isso não faz o depósito.

Bons estudos!