1
resposta

[Projeto] Desafio bancário

<?php
$sldA = 1000;
echo "Titular: Fulano \nSaldo atual: R$" . $sldA . "\n--------------------------\n";
echo "1. Consultar saldo \n2. Sacar valor\n3. Depositar valor\n4. Sair\n";
echo "--------------------------\nO que você deseja fazer? \n--------------------------\n";
$num = 1;
while ($num != 4 ) {
    $num = (float) fgets(STDIN);
    if ($num == 1) {
        echo "Saldo atual: R$" . $sldA . "\n";
        echo "--------------------------\n";
    } elseif ($num == 2) {
        echo "Quanto você quer sacar?: ";
        $sacar = (float) fgets(STDIN);
        if ($sacar > $sldA) {
            echo "Saldo insuficiente! \n";
            echo "--------------------------\n";
        } else {
        $sldA = $sldA - $sacar;
        echo "Saldo atual é: R$" . $sldA . "\n";
        echo "--------------------------\n";
        }
    } elseif ($num == 3) {
        echo "Qual valor você quer depositar?: R$";
        $depo = (float) fgets(STDIN);
        $sldA = $sldA + $depo;
        echo "Valor atual é: R$" . $sldA . "\n";
        echo "--------------------------\n";
    } elseif ($num < 1 || $num > 4) {
        echo "Opção inválida! \n";
        echo "--------------------------\n";
    }
    echo "1. Consultar saldo \n2. Sacar valor\n3. Depositar valor\n4. Sair\n";
    echo "--------------------------\nO que você deseja fazer? \n--------------------------\n";
}
echo "Fim do programa!";
1 resposta

Oi, Felipe! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

O seu projeto ficou bem organizado. Gostei da forma como você estruturou o while pra manter o menu funcionando até a opção de saída e também da validação que impede sacar um valor maior que o saldo disponível. Isso mostra um bom cuidado com a lógica do programa e com possíveis erros de uso.

Uma dica interessante para o futuro é utilizar o método number_format() do PHP para formatar valores monetários, deixando a saída mais próxima de um sistema bancário real.


$saldo = 1500.5;

echo "Saldo atual: R$ " . number_format($saldo, 2, ".", "");

number_format() formata o número com duas casas decimais, deixando o valor mais organizado para exibição.

Conteúdos relacionados
Alura

Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!