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! 💪 💻