Oi, Aline! Como vai?  
Agradeço por compartilhar.
Gostei bastante da forma como você organizou a função calcularCupom(). Ela deixa o código mais legível e mostra bem a ideia de separar responsabilidades.  
Uma dica interessante para o futuro é usar o método toStringAsFixed() para limitar casas decimais quando precisar mostrar valores formatados. 
void main() {
  double preco = 19.9876;
  print(preco.toStringAsFixed(2));
}
Esse código exibe apenas duas casas decimais, resultando em 19.99.  
   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!
   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!