Oi Henrique, tudo bem?
A sua resolução para o desafio da cafeteria demonstra que você compreendeu bem a estrutura lógica necessária para o problema. Você conseguiu separar as etapas de entrada, processamento e saída, o que é um passo fundamental no pensamento computacional.
Notei que você adicionou um detalhe interessante: o número do CPF na entrada e uma mensagem convidando o cliente a se cadastrar caso ele ainda não tenha o benefício. Isso enriquece a experiência do usuário no sistema.
Para que seu algoritmo fique ainda mais preciso, deixo alguns pontos para sua reflexão:
Estrutura do Loop:
No desafio, é solicitado que o sistema pergunte a quantidade de itens e, para cada um, peça o nome e o preço. No seu desenho, você mencionou Valor total = (Preço_item x quantidade).
Se o cliente comprar itens diferentes (um café e um pão de queijo, por exemplo), o ideal é que o cálculo dentro do loop seja uma acumulação. Em termos de lógica, seria algo como:
Valor total = Valor total + Preço_do_Item_Atual
Verificação de Cadastro:
Você definiu bem a condição de desvio (Se/Senão). Lembre-se que a pergunta sobre o cadastro geralmente ocorre após a soma de todos os itens, para que o desconto incida sobre o montante final.
Pra visualizar como esses dados se comportam:
- Início: Variável
SomaTotal começa em 0. - Repetição: O atendente informa que são 2 itens.
- Item 1: Café (R$ 5,00) ->
SomaTotal passa a ser 5. - Item 2: Bolo (R$ 10,00) ->
SomaTotal passa a ser 15.
- Decisão: O cliente tem cadastro?
- Se Sim: .
- Se Não: Valor permanece 15.
- Finalização: Exibição dos valores conforme você detalhou na sua saída.
O seu raciocínio tá no caminho certo e a organização das mensagens de saída ficou bem clara para o usuário final.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!