Oi, Eduardo, como vai?
O algoritmo cobre toda a lógica solicitada pelo exercício. O uso de uma função separada para o cálculo do desconto é uma boa escolha, pois deixa o código principal mais limpo e a regra de negócio isolada em um único lugar, o que facilita uma eventual alteração futura.
Um detalhe que vale considerar: o algoritmo não exibe o nome dos itens registrados em nenhum momento. Dependendo do contexto de uso, pode ser interessante mostrar um resumo da comanda antes do total, listando cada item e seu respectivo preço. Não é um requisito do enunciado, mas tornaria o simulador mais próximo de um atendimento real.
Parabéns pelo exercício, Eduardo, e obrigado por compartilhar.
O fórum está à disposição.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!