Oi Estudante,
Seu código está muito bom e bem estruturado para um sistema de controle de saldo bancário! 👍
Algumas sugestões para aprimorar seu código:
switch
com break
ausente: No seu switch
, o case 3
está sem o break
. Isso significa que, após a execução do case 3
, o código continuará executando o case 4
, o que não é o comportamento desejado. Adicione um break
ao final do case 3
para corrigir isso.case 3:
echo "Quanto deseja depositar? ";
$depositoDesejado = (float) fgets(STDIN);
if ($depositoDesejado < 0) {
echo "Número inválido";
} else {
$infos["saldo"] += $depositoDesejado;
}
break; // Adicionado o break aqui
- Validação de entrada: Embora você esteja convertendo a entrada para
float
, seria interessante adicionar uma validação para garantir que o usuário realmente digitou um número. Você pode usar is_numeric()
para verificar se a entrada é um número antes de convertê-la.$numero = fgets(STDIN);
if (is_numeric($numero)) {
$numero = (float) $numero;
} else {
echo "Entrada inválida. Digite um número.\n";
continue; // Volta para o início do loop
}
- Formatação da saída: Para melhorar a experiência do usuário, você pode formatar a saída dos valores monetários. Por exemplo, usar
number_format()
para exibir o saldo com duas casas decimais.echo "Saldo atual: " . number_format($infos["saldo"], 2, ',', '.') . PHP_EOL;
Para saber mais: Funções de string em PHP
Continue praticando e explorando as possibilidades da linguagem! 💪 💻