Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Funções não estão funcionando

Digitei o código de acordo com o solicitado mas não estão funcionando. Não saca e nem deposita, pode me ajudar, por favor?

<?php

$ContasCorrentes = [
    "123.456.789-10" => [
    "Titular" => "Maria",
    "Saldo" => 10000,
    ],

    "123.456.789-11" => [
        "Titular" => "Alberto",
        "Saldo" => 300,
    ],

    "123.456.789-12" => [
        "Titular" => "Vinicius",
        "Saldo" => 100,
    ],
];

 function ExibeMensagem (String $mensagem)
{
    echo $mensagem . PHP_EOL;

}

function depositar(array $conta, float $valorADepositar): array
{
    if ($valorADepositar > 0) {
        $conta["Saldo"] += $valorADepositar;
    } else {
        exibeMensagem("Depositos precisam ser positivos");
    }
    return $conta;
} 

function sacar(array $conta, float $valorASacar): array
{
    if ($valorASacar > $conta["Saldo"]) {
        exibeMensagem("Você não tem saldo suficiente");
    } else {
        $conta["Saldo"] -= $valorASacar;
    }

    return $conta;
}

foreach ($ContasCorrentes as $cpf => $conta){
    ExibeMensagem( $cpf . "  " . $conta["Titular"] . " " . $conta["Saldo"]);
}

$ContasCorrentes["123.456.789-10"] = Sacar($ContasCorrentes["123.456.789-10"], 500);

$ContasCorrentes["123.456.789-11"] = Sacar ($ContasCorrentes["123.456.789-11"], 200);

$ContasCorrentes["123.456.789-12"] = Depositar ($ContasCorrentes ["123.456.789-12"], 900);
2 respostas
solução!

Fala Noandro, tudo bem?

Verifiquei o seu código e as funcionalidades estavam corretas, porém o foreach ocorria antes da chamada das funções, segue abaixo código atualizado, verifica se o mesmo representa o resultado esperado.

Atenciosamente.

<?php

$ContasCorrentes = [
    "123.456.789-10" => [
    "Titular" => "Maria",
    "Saldo" => 10000,
    ],

    "123.456.789-11" => [
        "Titular" => "Alberto",
        "Saldo" => 300,
    ],

    "123.456.789-12" => [
        "Titular" => "Vinicius",
        "Saldo" => 100,
    ],
];

 function ExibeMensagem (String $mensagem)
{
    echo $mensagem . PHP_EOL;

}

function depositar(array $conta, float $valorADepositar): array
{
    if ($valorADepositar > 0) {
        $conta["Saldo"] += $valorADepositar;
    } else {
        exibeMensagem("Depositos precisam ser positivos");
    }
    return $conta;
} 

function sacar(array $conta, float $valorASacar): array
{
    if ($valorASacar > $conta["Saldo"]) {
        exibeMensagem("Você não tem saldo suficiente");
    } else {
        $conta["Saldo"] -= $valorASacar;
    }

    return $conta;
}



$ContasCorrentes["123.456.789-10"] = sacar($ContasCorrentes["123.456.789-10"], 500);

$ContasCorrentes["123.456.789-11"] = sacar($ContasCorrentes["123.456.789-11"], 200);

$ContasCorrentes["123.456.789-12"] = depositar($ContasCorrentes ["123.456.789-12"], 900);


foreach ($ContasCorrentes as $cpf => $conta){
    ExibeMensagem( $cpf . "  " . $conta["Titular"] . " " . $conta["Saldo"]);
}

Fala, Lucas!

Obrigado, meu amigo, deu tudo certo!