1
resposta

Valor sacar esta decontando errado

Bom dia a todos colocar a nova regra onde seria descontado 0.05 do valor do meu saque porém não esta saindo conforma o exemplo do curso onde é depositado o valor de 500 saca 100 e o saldo é de 395 esta ficando o valos de 400 reais segue o código

<?php

namespace OOPHP\Banco\Modelo\Conta;

class Conta { private $titular; private $saldo ; private static $numeroDeContas = 0;

public function __construct(Titular $titular) {

    $this->titular = $titular;
    $this->saldo = 0;

    self::$numeroDeContas++;
}

public function __destruct() {
    self::$numeroDeContas--;

}

public function sacar(float $valorASacar) 
{   
    $tarifaSaque = $valorASacar * 0.05;
    $valorSaque = $valorASacar + $tarifaSaque;

    if($valorSaque > $this->saldo){
        echo "Saldo indisponivel";
        return;
    }  
        $this->saldo -= $valorASacar;
}

ABAIXO O ARQUIVO teste-saque.php ----------

<?php require_once 'autoload.php';

use OOPHP\Banco\Modelo\Conta\Titular; use OOPHP\Banco\Modelo\Endereco; use OOPHP\Banco\Modelo\CPF; use OOPHP\Banco\Modelo\Conta\Conta;

$conta = new Conta( new Titular( new CPF('235.365.985-64'), 'Claudia', new Endereco('Petrolina', 'Jd nao sei', 'Rua tal', '88') ) );

$conta->depositar(500); $conta->sacar(100);

echo $conta->recuperaSaldo();

1 resposta

Eruin, seu erro é bastante simples, na verdade. Acho que rolou uma falta de atenção aí. Acontece. rs

public function sacar(float $valorASacar) 
{   
    $tarifaSaque = $valorASacar * 0.05;
    $valorSaque = $valorASacar + $tarifaSaque; // Ponto 1

    if($valorSaque > $this->saldo){
        echo "Saldo indisponivel";
        return;
    }  
        $this->saldo -= $valorASacar; // Ponto 2
}

Repare que no Ponto 1 você define a variável $valorSaque que possui o valor correto do saque. Mas no ponto 2 você subtrai do saldo o $valorASacar, que não possui a tarifa, entende?

Basta utilizar a variável correta no ponto 2. :-D

PS.: Sempre que for colocar código aqui no fórum, coloque entre 3 crases (`). Assim ele fica formatado e facilita bastante a leitura.

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