1
resposta

O que tem de errado no codigo?

// Screen Sound string mensagemDeBoasVindas = "Boas vindas ao Screen Sound"; List listaDasBandas = new List();

void ExibirMensagemDeBoasVindas() { Console.WriteLine("\r\n█▀ █▀▀ █▀█ █▀▀ █▀▀ █▄ █   █▀ █▀█ █ █ █▄ █ █▀▄\r\n▄█ █▄▄ █▀▄ ██▄ ██▄ █ ▀█   ▄█ █▄█ █▄█ █ ▀█ █▄▀"); Console.WriteLine(); Console.WriteLine(mensagemDeBoasVindas);

}

void ExibirOpcoesDoMenu() { ExibirMensagemDeBoasVindas(); Console.WriteLine("\nDigite 1 para registrar uma banda"); Console.WriteLine("Digite 2 para mostrar as bandas"); Console.WriteLine("Digite 3 para avaliar uma banda"); Console.WriteLine("Digite 4 para exibir a média"); Console.WriteLine("Digite 0 para sair");

Console.Write("\nDigite a sua opção: ");
string opcaoEscolhida = Console.ReadLine()!;
int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);

switch (opcaoEscolhidaNumerica)
{
    case 1:
        RegistrarBanda();
        break;
    case 2:
        MostrarBandasRegistradas();
        break;
    case 3:
        Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
        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 RegistrarBanda() { Console.Clear(); Console.WriteLine(""); Console.WriteLine("Registro de bandas"); Console.WriteLine(""); Console.Write("Digite o nome da banda: "); string nomeDaBanda = Console.ReadLine()!; listaDasBandas.Add(nomeDaBanda); Console.WriteLine($"A banda {nomeDaBanda} foi registrada com sucesso"); Thread.Sleep(2000); Console.Clear(); ExibirOpcoesDoMenu(); }

void MostrarBandasRegistradas() { Console.Clear(); Console.WriteLine(""); Console.WriteLine("Exibindo todas as bandas registradas"); Console.WriteLine(""); for (int i = 0; i < listaDasBandas.Count; i++) { Console.WriteLine($"Banda: {listaDasBandas[i]}"); } } }

ExibirOpcoesDoMenu();

1 resposta

Oi Vinícius, bom dia.

Pelo que você descreveu, seu código parece estar quase completo, mas há um pequeno detalhe que pode estar causando problemas. No seu switch, quando você quer sair do programa, você está usando case -1, mas no menu você está instruindo o usuário a digitar 0 para sair. Isso pode estar causando confusão, pois não há um case para 0. Aqui está uma sugestão de como você pode corrigir isso:

switch (opcaoEscolhidaNumerica)
{
    case 1:
        RegistrarBanda();
        break;
    case 2:
        MostrarBandasRegistradas();
        break;
    case 3:
        Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
        break;
    case 4:
        Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
        break;
    case 0: // Alterado de -1 para 0
        Console.WriteLine("Tchau tchau :)");
        break;
    default:
        Console.WriteLine("Opção inválida");
        break;
}

Além disso, certifique-se de que a função ExibirOpcoesDoMenu() seja chamada novamente após as opções 3 e 4, caso contrário, o programa pode terminar sem voltar ao menu.

Espero ter ajudado e bons estudos!