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

[Projeto] Exercício Conta Bancaria - PHP: Criando sua aplicação

Bom dia turma!

Segue o resultado do meu projeto/exercício da Conta Bancária:

<?php

$conta = [
    "titular" => "Julio Cesar",
    "saldo" => 1000,
];

$op = 1;

while ($op != 4) {
    switch ($op) {
        case 1:
            echo "**************************\n";
            echo "  Titular: " . $conta["titular"] . "\n";
            echo "  Saldo aual: R$ " . $conta["saldo"] . "\n";
            echo "**************************\n";
            echo "          MENU:           \n";
            echo " 1. Consultar saldo atual\n";
            echo " 2. Sacar valor\n";
            echo " 3. Depositar valor\n";
            echo " 4. Sair\n";
            echo "**************************\n";
            echo " Digite uma opção: ";
            $op = trim(fgets(STDIN)); //captura a opção digitada pelo usuário
            echo "__________________________\n";
            break;
        case 2:
            echo "**************************\n";
            echo "          SACAR           \n";
            echo " Quanto deseja SACAR? ";
            $saque = trim(fgets(STDIN)); //captura a opção digitada pelo usuário
            if($conta["saldo"] >= $saque){
                $conta["saldo"] -= $saque;
            }else{
                echo "__________________________\n";
                echo "\n";
                echo " [!] Saldo insuficiente! \n";
                echo "__________________________\n";
            }
            $op = 1;
            break;
        case 3:
            echo "**************************\n";
            echo "        DEPOSITAR         \n";
            echo " Quanto deseja DEPOSITAR? ";
            $deposito = trim(fgets(STDIN)); //captura a opção digitada pelo usuário
            $conta["saldo"] += $deposito;
            $op = 1;
            break;
        case 4:
            $op = 4;
            break;
        default:
            echo "**************************\n";
            echo "   [!] Opção inválida...  \n";
            echo "__________________________\n";
            $op = 1;
            break;
    }
}

echo "**************************\n";
echo "  [!] Você fez logout...  \n";
echo "         Até mais!        \n";
echo "__________________________\n";

Estou disposto para sugestões de melhorias..

ótimo final de semana de estudos para todos!

2 respostas
solução!

Boa noite, Júlio! Tudo bem com você?

Obrigado por compartilhar seu código com a comunidade Alura. Para aprimorar sua solução, você pode melhorar a validação da entrada do usuário, garantindo que ele digite apenas números válidos para evitar erros. Exemplo:

<?php
do {
    echo "Digite uma opção: ";
    $input = trim(fgets(STDIN));
    if (!is_numeric($input)) {
        echo "[!] Entrada inválida. Por favor, insira um número.\n";
        continue;
    }
    $op = (int)$input;
} while (!isset($op) || $op < 1 || $op > 4);
?>

Neste código, usamos is_numeric para verificar se a entrada é válida e continuamos solicitando até que um valor numérico seja inserido.

Também é possível simplificar os trechos com os ********* usando a função str_repeat para repetir o caractere o número de vezes desejado. Isso deixa o código mais dinâmico e fácil de ajustar. Exemplo:

<?php
echo str_repeat("*", 26) . "\n";
?>

Neste código, usamos str_repeat("*", 26) para gerar uma linha com 26 asteriscos. Você pode ajustar o número conforme necessário, mantendo o layout uniforme com menos esforço.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Boa noite, Rafael!

Fico feliz que tenha respondido ao tópico e contribuído para minha evolução sugerindo edições e melhorias no meu código. Muito obrigado!