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

[Dúvida] meu depósito não esta funcionando

<?php

$contasCorrentes = [
    '123.456.789-10' => [
        'titular' => 'Maria',
        'saldo' => 10000
    ],
    '123.456.689-11' => [
        'titular' => 'Alberto',
        'saldo' => 300
    ],
    '123.256.789-12' => [
        'titular' => 'Vinicius',
        'saldo' => 100
    ]
];

function ExibeMensagem (string $mensagem) 
{
    echo $mensagem . PHP_EOL;
}

foreach ($contasCorrentes as $cpf => $conta) {
    ExibeMensagem($cpf . " " . $conta['titular'] . ' ' . $conta['saldo']);
}

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 para sacar");
    } else{
    $conta['saldo'] - $valorAsacar;
    }
    return $conta;
}

$contasCorrentes ['123.256.789-12'] = depositar($contasCorrentes['123.256.789-12'], 500
); 




Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

consegui resolver

solução!

Oi Carlos, tudo bem? 😊

Parabéns por ter resolvido o problema! 👏

Para ajudar outros estudantes que possam ter a mesma dúvida, vou comentar sobre o seu código.

No seu código, as funções depositar e sacar não estavam atualizando o saldo corretamente. 😜

Dentro dessas funções, você estava realizando a operação de adição ou subtração, mas não estava atribuindo o resultado de volta ao saldo da conta.

Para corrigir isso, você precisa usar o operador de atribuição += para somar e atribuir o novo valor ao saldo, e -= para subtrair e atribuir.

Aqui está o código corrigido:

<?php

$contasCorrentes = [
    '123.456.789-10' => [
        'titular' => 'Maria',
        'saldo' => 10000
    ],
    '123.456.689-11' => [
        'titular' => 'Alberto',
        'saldo' => 300
    ],
    '123.256.789-12' => [
        'titular' => 'Vinicius',
        'saldo' => 100
    ]
];

function ExibeMensagem (string $mensagem) 
{
    echo $mensagem . PHP_EOL;
}

foreach ($contasCorrentes as $cpf => $conta) {
    ExibeMensagem($cpf . " " . $conta['titular'] . ' ' . $conta['saldo']);
}

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 para sacar");
    } else{
    $conta['saldo'] -= $valorAsacar;
    }
    return $conta;
}

$contasCorrentes ['123.256.789-12'] = depositar($contasCorrentes['123.256.789-12'], 500
); 

var_dump($contasCorrentes);

Além disso, usei a função var_dump para exibir o resultado final do array $contasCorrentes após o depósito, assim você pode verificar se a operação foi realizada corretamente. 🤔

🎓 Para saber mais:

Espero ter ajudado e bons estudos! 🧐