1
resposta

Resoluçao

void ExibirMedia()
{
    Console.Clear();
    ExibirTituloDaOpcao("Mostrar media das bandas");
    Console.Write( "Digite o nome da banda que deseja ver a media: ");
    string nomeDaBanda = Console.ReadLine()!;
    if (BandasRegistradas.ContainsKey(nomeDaBanda))
    {
        foreach(var bandas in BandasRegistradas.Keys)
        {
            double media = BandasRegistradas[bandas].Average();
            Console.WriteLine($"A banda {nomeDaBanda} tem a media de {media}");
        }
    }
    else
    {
        Console.WriteLine($"A banda {nomeDaBanda} não consta em nossa lista");
    }
    Console.WriteLine("Pressione uma tecla para voltar ao menu principal");
    Console.ReadKey();
    Console.Clear();
    ExibirLogo();
    ExibirOpcoesDoMenu();
}
1 resposta

Olá, Marcelo! Bom dia, tudo bom?

Pelo que vejo no seu código, você está tentando exibir a média das notas de uma banda específica. No entanto, parece que há um pequeno equívoco na forma como você está calculando e exibindo a média. Vou te ajudar a corrigir isso.

No seu código atual, você está iterando sobre todas as bandas registradas e calculando a média para cada uma, mas está exibindo a média como se fosse apenas para a banda que o usuário digitou. O que você realmente precisa fazer é calcular e exibir a média apenas para a banda que o usuário solicitou. Vamos ajustar isso:

void ExibirMedia()
{
    Console.Clear();
    ExibirTituloDaOpcao("Mostrar média das bandas");
    Console.Write("Digite o nome da banda que deseja ver a média: ");
    string nomeDaBanda = Console.ReadLine()!;
    
    if (BandasRegistradas.ContainsKey(nomeDaBanda))
    {
        // Calcula a média apenas para a banda solicitada
        double media = BandasRegistradas[nomeDaBanda].Average();
        Console.WriteLine($"A banda {nomeDaBanda} tem a média de {media}");
    }
    else
    {
        Console.WriteLine($"A banda {nomeDaBanda} não consta em nossa lista");
    }
    
    Console.WriteLine("Pressione uma tecla para voltar ao menu principal");
    Console.ReadKey();
    Console.Clear();
    ExibirLogo();
    ExibirOpcoesDoMenu();
}

Com essa alteração, o código agora verifica se a banda digitada pelo usuário está no dicionário BandasRegistradas e, se estiver, calcula a média das notas apenas para essa banda específica. Espero que isso resolva seu problema!

Espero ter ajudado e bons estudos!