1
resposta

[Projeto] Simulador de pedidos em uma cafeteria

Simulador de pedidos em uma cafeteria

O que pensei como solução:

O sistema possui um cardápio previamente cadastrado, contendo o nome de cada item disponível na cafeteria e seu respectivo preço unitário.

Quando um novo atendimento é iniciado, o atendente começa a registrar o pedido do cliente. Para cada item solicitado, o atendente informa o nome do produto, e o sistema consulta automaticamente o preço correspondente no cardápio cadastrado. Esse valor é somado ao total do pedido.

Após o registro de cada item, o sistema pergunta ao atendente se deseja adicionar outro item ao pedido. Enquanto a resposta for positiva, o processo de registro de itens continua e o valor total do pedido é atualizado automaticamente.

Quando o atendente informa que não há mais itens a serem adicionados, o sistema pergunta se o cliente é cadastrado na cafeteria. Caso o cliente seja cadastrado, o sistema aplica um desconto de 10% sobre o valor total do pedido e calcula o valor final com desconto.

Por fim, o sistema exibe o valor final do pedido. Se o cliente for cadastrado, o valor exibido será o valor com desconto. Caso contrário, o sistema exibirá o valor total sem desconto, encerrando o atendimento.

Início

    total ← 0
    adicionarItem ← "S"

    // Cardápio previamente cadastrado
    // Exemplo:
    // Café → 5.00
    // Pão de queijo → 4.50
    // Suco → 6.00

    Enquanto adicionarItem = "S" faça

        Escreva("Informe o nome do item:")
        Leia(nomeItem)

        // Buscar preço do item no cardápio
        precoItem ← BuscarPrecoNoCardapio(nomeItem)

        total ← total + precoItem

        Escreva("Deseja adicionar outro item? (S/N)")
        Leia(adicionarItem)

    FimEnquanto

    Escreva("O cliente é cadastrado? (S/N)")
    Leia(clienteCadastrado)

    Se clienteCadastrado = "S" então
        desconto ← total * 0.10
        totalFinal ← total - desconto
        Escreva("Valor final com desconto: R$", totalFinal)
    Senão
        Escreva("Valor final sem desconto: R$", total)
    FimSe

Fim
  • A função BuscarPrecoNoCardapio(nomeItem) representa uma consulta a dados previamente cadastrados.
  • Não é necessário implementar essa função agora — conceitualmente ela já resolve o problema.
1 resposta

Oi, Estudante! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Do jeito que você explicou, você organizou bem o fluxo: usa um laço Enquanto para adicionar itens, consulta o preço no cardápio e só depois decide o desconto com o Se para cliente cadastrado.

Uma dica interessante para o futuro é pensar em validação e tratamento de exceções no raciocínio: antes de somar, confirmar se o item existe no cardápio; se não existir, pedir para digitar novamente. Isso deixa o algoritmo mais confiável e evita que um dado errado mude o total do pedido.

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