1
resposta

Desafio: Calculando pedidos

Você está desenvolvendo uma funcionalidade para um aplicativo de lanchonete. O sistema precisa calcular o valor total de um pedido com base na quantidade de itens solicitados.

O cliente pode pedir:

ComidaValor
HambúrguerR$ 12,00
Batata fritaR$ 7,00
RefrigeranteR$ 5,00

$cardapio = [
    [
        'nome' => 'Hambúrguer',
        'valor' => 12.00
    ],
    [
        'nome' => 'Batata Frita',
        'valor' => 7.00
    ],
    [
        'nome' => 'Refrigerante',
        'valor' => 5.00
    ]
];

$mensagem = "Restaurante Kimura a seu dispor!\nVeja nosso cardápio abaixo:\n";

foreach ($cardapio as $numero => $comida) {
    $numero = $numero + 1;
    $mensagem .= "({$numero}) - {$comida['nome']}: R$ {$comida['valor']}\n";
}

echo $mensagem;
$totalPedidos = 0;

while (true) { 
    echo "Digite o número do prato que deseja pedir (ou 'sair' para encerrar): ";
    $pedido = trim(fgets(STDIN));

    if (strtolower($pedido) === 'sair') {
        echo "Obrigado por visitar o Restaurante Kimura! Volte sempre!\n";
        if ($totalPedidos > 0) {
            echo "Total gasto: R$ $totalPedidos\n";
        }
        break;
    }

    echo "Digite a quantidade: ";
    $quantidade = trim(fgets(STDIN));

    echo "Processando seu pedido...\n";

    $encontrado = false;
    foreach ($cardapio as $numero => $comida) {
        if ($numero + 1 == $pedido) {
            echo "Você pediu: {$comida['nome']} - R$ {$comida['valor']}\n";
            $encontrado = true;
            $totalPedidos += $comida['valor'] * $quantidade;
            break;
        }
    }

    if (!$encontrado) {
        echo "Desculpe, não temos esse prato no cardápio. Por favor, escolha outro.\n";
    }
}
1 resposta

Oi, Julia, como vai?

O seu código em PHP resolve perfeitamente o desafio proposto. Você foi além da linguagem natural e construiu um sistema interativo com menu dinâmico, uso de arrays associativos, laço de repetição contínuo e cálculo correto do valor total baseado na quantidade informada pelo usuário. A lógica de associar o índice do menu à escolha do cliente funcionou de maneira muito inteligente.

Pensando em futuras expansões para o sistema da lanchonete, como você faria para exibir um resumo detalhado de todos os itens comprados e suas respectivas quantidades junto ao valor total no momento do encerramento?

Parabéns pela excelente dedicação e por construir uma solução tão completa, o fórum está sempre a disposição.

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