class Cliente { constructor(nome, agencia, contaCorrente, contaPoupanca) { this.nome = nome; this.agencia = agencia; this.contaCorrente = contaCorrente; this.contaPoupanca = contaPoupanca; } }
class Conta { constructor(saldo = 0) { this.saldo = saldo; }
depositar(valor) { this.saldo += valor; }
sacar(valor) { if (valor > 0 && valor <= this.saldo) { this.saldo -= valor * 1.1; return true; } return false; } }
const clientes = [];
function criarCliente(nome, agencia, contaCorrente, contaPoupanca) { const cliente = new Cliente(nome, agencia, contaCorrente, contaPoupanca); cliente.contaCorrente = new Conta(); cliente.contaPoupanca = new Conta(); clientes.push(cliente); }
function depositar(cliente, tipoConta, valor) { if (tipoConta === 'corrente') { cliente.contaCorrente.depositar(valor); } else if (tipoConta === 'poupanca') { cliente.contaPoupanca.depositar(valor); } }
function sacar(cliente, tipoConta, valor) { if (tipoConta === 'corrente') { if (cliente.contaCorrente.sacar(valor)) { console.log('Saque realizado com sucesso.'); } else { console.log('Saldo insuficiente para o saque.'); } } else if (tipoConta === 'poupanca') { if (cliente.contaPoupanca.sacar(valor)) { console.log('Saque realizado com sucesso.'); } else { console.log('Saldo insuficiente para o saque.'); } } }
criarCliente('João', '001', '12345-6', '78901-2'); depositar(clientes[0], 'corrente', 1000); sacar(clientes[0], 'corrente', 500); console.log('Saldo da conta corrente: ' + clientes[0].contaCorrente.saldo.toFixed(2));
A classe Cliente armazena as informações do cliente, incluindo o número da agência e das contas corrente e poupança. A classe Conta tem métodos para depositar e sacar dinheiro, e a lógica para deduzir 10% do saldo é incluída no método sacar.
A função criarCliente cria um novo cliente e inicializa suas contas corrente e poupança com um saldo de zero. A função depositar deposita dinheiro em uma das contas do cliente (corrente ou poupança), e a função sacar saca dinheiro de uma das contas, deduzindo 10% do saldo.
O exemplo acima cria um cliente chamado João, deposita R$1000 em sua conta corrente, saca R$500 e exibe o saldo atual da conta corrente. Assim, posso alterar os valores para testar diferentes cenários.
Se eu estiver errado, por favor me corrija. Obrigado.