1
resposta

[Sugestão] Resposta Desafio Proposto

Baixei todo o código da aula anterior e criei e métodos:

  • ExibirMedia -> Desafio proposto onde eu verifico se existe a Key como apresentado nas aulas, caso sim, verifico se existe ao menos uma nota atribuída a banda, caso sim apresento qntas notas foram atribuídas a essa banda, a somatória e a média. Caso não exista a Key apresento como feito na aula ou caso tenha a banda, mas não nota atribuída eu apresento uma mensagem.
  • BandaNaoEncontrada -> Visando refatorar o código e substituir a mensagem de qndo não encontrada a banda, pois estamos usando já em 2 métodos a mesma coisa, então criei o método recebendo o nome da banda que digitamos para apresentar a mensagem tanto no case 3 quanto no case 4.
void ExibirMedia()
{
    Console.Clear();
    ExibirTituloDaOpcao("Exibir média da banda");
    Console.Write("Digite o nome da banda que deseja exibir a média: ");
    string nomeDaBanda = Console.ReadLine()!;
    if (bandasRegistradas.ContainsKey(nomeDaBanda))
    {
        List<int> notasDaBanda = bandasRegistradas[nomeDaBanda];
        if (notasDaBanda.Count > 0)
        {
            Console.WriteLine($"\nA banda {nomeDaBanda} tem um total de {notasDaBanda.Count} e a sua soma é {notasDaBanda.Sum()}.");
            Console.WriteLine($"\nA média da banda {nomeDaBanda} é {notasDaBanda.Average()}.");
        }
        else
            Console.WriteLine("\nA Banda que você digitou ainda não tem nota atribuída a ela.");

        Console.WriteLine("Digite uma tecla para votar ao menu principal");
        Console.ReadKey();
        Console.Clear();
        ExibirOpcoesDoMenu();
    }
    else
        BandaNaoEncontrada(nomeDaBanda);
}

void BandaNaoEncontrada(string nomeDaBanda)
{
    Console.WriteLine($"\nA banda {nomeDaBanda} não foi encontrada!");
    Console.WriteLine("Digite uma tecla para voltar ao menu principal");
    Console.ReadKey();
    Console.Clear();
    ExibirOpcoesDoMenu();
}
1 resposta

Muito bom Douglas :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software