Oi, Igor. Tudo certo?
Sua solução contempla bem o fluxo do desafio: coletar os itens em loop, acumular o total e aplicar o desconto apenas para clientes cadastrados. A lógica de repetição para registrar cada item e a condicional para o desconto estão no lugar certo.
Seguindo esse caminho de pensar o algoritmo em etapas bem definidas, você vai perceber que a transição para uma linguagem de programação real fica muito mais natural.
Um detalhe que vale incorporar é mostrar o cálculo do desconto de forma explícita na saída. Em vez de exibir só o valor final, você pode mostrar o valor original, o valor do desconto e depois o total com desconto. Fazendo isso, fica mais claro para o atendente e para o cliente o que foi aplicado, e o algoritmo fica mais próximo do que um sistema real precisaria exibir.
Obrigado por compartilhar sua solução no fórum.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!