Não estou conseguindo encontrar o que há de errado... À partir da opção 3, o programa só fecha e não vai pra janela que deveria ir, a opção 1 e 2 esta funcionando como esperado, mas se tento selecionar a opção 3,4 ou -1 o programa apenas fecha...
// Screen Sound
using System;
using System.Net.Security;
string mensagemDeBoasVindas = "Bem vindo(a)s ao Screen Sound!";
//List<string> listaDasBandas = new List<string> {"U2", "The Beatles", "Calypso"};
Dictionary<string, List<int>> bandasRegistradas = new Dictionary<string, List<int>>();
bandasRegistradas.Add ("Link Park", new List<int>{10,8,6});
bandasRegistradas.Add ("The Beatles", new List<int>());
void ExibirLogo()
{
Console.WriteLine(@"
░██████╗░█████╗░██████╗░███████╗███████╗███╗░░██╗ ░██████╗░█████╗░██╗░░░██╗███╗░░██╗██████╗░
██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝████╗░██║ ██╔════╝██╔══██╗██║░░░██║████╗░██║██╔══██╗
╚█████╗░██║░░╚═╝██████╔╝█████╗░░█████╗░░██╔██╗██║ ╚█████╗░██║░░██║██║░░░██║██╔██╗██║██║░░██║
░╚═══██╗██║░░██╗██╔══██╗██╔══╝░░██╔══╝░░██║╚████║ ░╚═══██╗██║░░██║██║░░░██║██║╚████║██║░░██║
██████╔╝╚█████╔╝██║░░██║███████╗███████╗██║░╚███║ ██████╔╝╚█████╔╝╚██████╔╝██║░╚███║██████╔╝
╚═════╝░░╚════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚═╝░░╚══╝ ╚═════╝░░╚════╝░░╚═════╝░╚═╝░░╚══╝╚═════╝░
");
Console.WriteLine(mensagemDeBoasVindas);
}
void ExibirOpcoesDoMenu()
{
ExibirLogo();
Console.WriteLine("\nDigite 1 para registrar uma banda");
Console.WriteLine("Digite 2 para mostrar todas as bandas");
Console.WriteLine("Digite 3 para avaliar uma banda");
Console.WriteLine("Digite 4 para exibir a média de uma banda");
Console.WriteLine("Digite -1 para sair");
Console.Write("\nDigite a sua opção: ");
string opcaoEscolhida = Console.ReadLine()!;
int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);
switch (opcaoEscolhidaNumerica)
{
case 1:
RegistrarBandas();
break;
case 2:
MostrarBandasRegistradas();
break;
case 3:
AvaliarUmaBanda();
break;
case 4:
Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
break;
case -1:
Console.WriteLine("Tchau tchau :)");
break;
default:
Console.WriteLine("Opção inválida");
break;
}
}
void RegistrarBandas()
{
Console.Clear();
ExibirTituloDaOpcao("Registro das Bandas");
Console.Write("\nDigite o nome da banda que deseja cadastrar: ");
string nomeDaBanda = Console.ReadLine()!;
bandasRegistradas.Add(nomeDaBanda, new List<int>());
Console.WriteLine($"A banda {nomeDaBanda} foi registrada com sucesso!!");
Thread.Sleep(2000);
Console.Clear();
ExibirOpcoesDoMenu();
}
void MostrarBandasRegistradas()
{
Console.Clear();
ExibirTituloDaOpcao("Exibindo todas as bandas registradas");
//for (int i = 0; i < listaDasBandas.Count; i++)
//{
// Console.WriteLine($"Banda: {listaDasBandas[i]}");
//}
foreach (string banda in bandasRegistradas.Keys)
{
Console.WriteLine($"Banda: {banda}");
}
Console.WriteLine("\nDigite qualquer tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();
}
void ExibirTituloDaOpcao (string titulo)
{
int quantidadeDeLetras = titulo.Length;
string asteriscos = string.Empty.PadLeft(quantidadeDeLetras, '*');
Console.WriteLine(asteriscos);
Console.WriteLine(titulo);
Console.WriteLine(asteriscos + "\n");
}
void AvaliarUmaBanda()
{
//digitar qual banda vai avaliar
//buscar banda no dicionario
//se não existir a banda, volta pro menu principal
//avaliar banda
Console.Clear();
ExibirTituloDaOpcao("Avaliando as bandas");
}
ExibirOpcoesDoMenu();