Oi Gustavo,
Seu código está funcionando bem para as operações básicas, mas podemos melhorá-lo em alguns pontos.
A principal melhoria é tratar a entrada do usuário (fgets(STDIN)
) para garantir que ele esteja inserindo números e não strings, evitando erros.O fgets
retorna uma string com um caractere de nova linha (\n) no final, o que pode causar problemas em comparações e cálculos. 💰
Aqui está uma versão melhorada:
<?php
$conta = [
"titular" => "Gustavo",
"saldo" => 500
];
do {
// ... (seu código de exibição do menu permanece igual) ...
$numero = trim(fgets(STDIN)); // Remove espaços em branco e \n
switch ($numero) {
case '1':
// ... (seu código de consulta de saldo permanece igual) ...
break;
case '2':
echo "Quanto deseja sacar? \n";
$saque = (float) trim(fgets(STDIN)); // Converte para float
if ($saque <= $conta['saldo']) {
$conta['saldo'] -= $saque;
} else {
echo "Saldo indisponível! \n";
}
break;
case '3':
echo "Quanto deseja depositar? \n";
$deposito = (float) trim(fgets(STDIN)); // Converte para float
$conta['saldo'] += $deposito;
break;
default:
echo "Opção inválida! \n";
}
} while ($numero != 4);
echo "Saindo..." . 😁
?>
Adicionei trim()
para remover espaços em branco e a quebra de linha, e (float)
para converter a entrada para um número de ponto flutuante, permitindo valores decimais. Isso torna o código mais robusto e menos propenso a erros. 💻
Lembre-se de sempre validar as entradas do usuário para evitar problemas de segurança e garantir a integridade do seu programa. 😎
Para saber mais: Função trim()
Continue praticando e evoluindo seus conhecimentos! 🎓