1
resposta

Pedidos de Cafeteria


**FUNÇÃO lerItem()**
    EXIBIR "*Digite o nome do item:*"
    LER nomeItem

    EXIBIR "*Digite o preço do item:*"
    LER precoItem

    RETORNAR precoItem



**FUNÇÃO aplicarDesconto(valorTotal, cadastrado)**
    SE cadastrado = "S" ENTÃO
        valorTotal= valorTotal * 0.90
    FIM SE

    RETORNAR valorTotal





    EXIBIR "*Sistema da Cafeteria*"

    EXIBIR "*Quantos itens o cliente vai pedir*?"
    LER quantidadeItens

    total = 0

    SE quantidadeItens >= 1 ENTÃO
        total ← total + lerItem()
    FIM SE

    SE quantidadeItens >= 2 ENTÃO
        total ← total + lerItem()
    FIM SE

    SE quantidadeItens >= 3 ENTÃO
        total ← total + lerItem()
    FIM SE

    EXIBIR "*O cliente é cadastrado? (True ou False)*"
    LER cadastrado

    totalFinal ← aplicarDesconto(total, cadastrado)

    EXIBIR "*Valor final do pedido: R$* ", totalFinal

    EXIBIR "*Pedido finalizado*"
1 resposta

Olá, Laerte, como vai?

Seu algoritmo atende bem à proposta e mostra uma boa organização ao separar responsabilidades em funções, principalmente ao isolar a leitura de itens e a aplicação de desconto. A lógica geral está clara e funcional dentro do que foi proposto no desafio, e é positivo ver o uso de funções desde já.

Há apenas um ponto que pode ser ajustado para deixar a solução mais consistente. O valor lido para a variável cadastrado é informado como True ou False, mas na função aplicarDesconto a verificação é feita comparando com o texto "S", o que impede o desconto de ser aplicado corretamente.

Obrigado por compartilhar sua solução, continue trazendo suas implementações para o fórum, que está sempre à disposição para trocas e aprendizados.

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