1
resposta

[Dúvida] Código não está rodando

O Visual Studio não aponta nenhum erro, mas ao compilar o código, aparece o erro abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeSegue o código que estou usando:

// Screen Sound string mensagemDeBoasVindas = "Boas vindas ao Screen Sound"; List listaDasBandas = new List { "U2", "The Beatles", "Metallica" }; 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:
        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("*************************\n"); Console.Write("Digite o nome da banda que deseja registrar: "); 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("************************************\n");

//for (int i = 0; i < listaDasBandas.Count; i++)
// {
// Console.WriteLine($"Banda: {listaDasBandas[i]}");
// }

foreach (string banda in listaDasBandas)
{
    Console.WriteLine($"Banda: {banda}");
}

Console.WriteLine("\nDigite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();

}

ExibirLogo(); ExibirOpcoesDoMenu();

1 resposta

O erro que você está enfrentando ocorre porque você não está fechando corretamente o bloco de código da função ExibirOpcoesDoMenu(). O bloco de código do switch está aberto, mas não há uma chave de fechamento } para fechá-lo.

Para corrigir esse erro, adicione a chave de fechamento } no final da função ExibirOpcoesDoMenu() após o switch.

Aqui está o código corrigido:

// ... Resto do código ...

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:
            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;
    }
} // Adicione essa chave de fechamento para fechar a função ExibirOpcoesDoMenu()

// ... Resto do código ...

Com essa correção, o código deve compilar e executar sem problemas. Lembre-se sempre de verificar a correta abertura e fechamento dos blocos de código para evitar erros de compilação.