Oi, José! Como vai?
Gostei bastante de como você estruturou o sistema, separando bem as responsabilidades, principalmente com a função ValidarString e o uso do switch para definir as recompensas. Isso deixa o código mais organizado e fácil de manter. Também chama atenção o uso de List<string> com Contains, que ajuda a validar os cupons de forma simples e eficiente.
Uma dica interessante para o futuro é usar o método TryParse quando precisar validar entradas numéricas sem quebrar o programa. Veja este exemplo:
int numero;
bool valido = int.TryParse(Console.ReadLine(), out numero);
if (valido)
{
Console.WriteLine("Numero valido: " + numero);
}
else
{
Console.WriteLine("Entrada invalida");
}
Esse código tenta converter o valor digitado para número inteiro sem gerar erro, garantindo mais segurança na entrada de dados.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!