2
respostas

O programa "[17672] Screen Sound.exe" foi fechado com o código 0 (0x0).

Acredito que a parte ExibirOpçõesDoMenu esteja sendo executada e o programa encerrado no Case -1. Seria o break que não está funcionando? Código abaixo:

private static void Main(string[] args)
{
    // Secreen Sound
    string mensagemDeBoasVidas = "Boas vindas ao screen sound!";

    void ExibirMensagemDeBoasVindas()
    {
        Console.WriteLine(@"

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─██████████████─██████████████─████████████████───██████████████─██████████████─██████──────────██████────██████████████─██████████████─██████──██████─██████──────────██████─████████████─── ─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░░░██───██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██████████──██░░██────██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██░░██─██░░██████████──██░░██─██░░░░░░░░████─ ─██░░██████████─██░░██████████─██░░████████░░██───██░░██████████─██░░██████████─██░░░░░░░░░░██──██░░██────██░░██████████─██░░██████░░██─██░░██──██░░██─██░░░░░░░░░░██──██░░██─██░░████░░░░██─ ─██░░██─────────██░░██─────────██░░██────██░░██───██░░██─────────██░░██─────────██░░██████░░██──██░░██────██░░██─────────██░░██──██░░██─██░░██──██░░██─██░░██████░░██──██░░██─██░░██──██░░██─ ─██░░██████████─██░░██─────────██░░████████░░██───██░░██████████─██░░██████████─██░░██──██░░██──██░░██────██░░██████████─██░░██──██░░██─██░░██──██░░██─██░░██──██░░██──██░░██─██░░██──██░░██─ ─██░░░░░░░░░░██─██░░██─────────██░░░░░░░░░░░░██───██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██░░██──██░░██────██░░░░░░░░░░██─██░░██──██░░██─██░░██──██░░██─██░░██──██░░██──██░░██─██░░██──██░░██─ ─██████████░░██─██░░██─────────██░░██████░░████───██░░██████████─██░░██████████─██░░██──██░░██──██░░██────██████████░░██─██░░██──██░░██─██░░██──██░░██─██░░██──██░░██──██░░██─██░░██──██░░██─ ─────────██░░██─██░░██─────────██░░██──██░░██─────██░░██─────────██░░██─────────██░░██──██░░██████░░██────────────██░░██─██░░██──██░░██─██░░██──██░░██─██░░██──██░░██████░░██─██░░██──██░░██─ ─██████████░░██─██░░██████████─██░░██──██░░██████─██░░██████████─██░░██████████─██░░██──██░░░░░░░░░░██────██████████░░██─██░░██████░░██─██░░██████░░██─██░░██──██░░░░░░░░░░██─██░░████░░░░██─ ─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██████████░░██────██░░░░░░░░░░██─██░░░░░░░░░░██─██░░░░░░░░░░██─██░░██──██████████░░██─██░░░░░░░░████─ ─██████████████─██████████████─██████──██████████─██████████████─██████████████─██████──────────██████────██████████████─██████████████─██████████████─██████──────────██████─████████████─── ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────"); Console.WriteLine(); Console.WriteLine(mensagemDeBoasVidas);

        void ExibirOpçõesDoMenu()
        {
            Console.WriteLine("\nDigite 1 para registrar uma banda");
            Console.WriteLine("Digite 2 para registrar uma banda");
            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: Console.WriteLine("Você escolheu a opção:" + opcaoEscolhida);
                    break;
                case 2: Console.WriteLine("Você escolheu a opção:" + opcaoEscolhida);
                    break;
                case 3: Console.WriteLine("Você escolheu a opção:" + opcaoEscolhida);
                    break;
                case 4: Console.WriteLine("Você escolheu a opção:" +  opcaoEscolhida);
                    break;
                case -1: Console.WriteLine("Você escolheu a opção:" + opcaoEscolhida);
                    break;
                default: Console.WriteLine("Opção inexistente");
                    break;
            }


            ExibirMensagemDeBoasVindas();
            ExibirOpçõesDoMenu();
        }
    }
}

}

2 respostas

Olá, Anderson!

Pelo que entendi, você está com dúvidas sobre o encerramento do seu programa no case -1, correto?

Seu código está correto e o break está funcionando como deveria. O que acontece é que, após a execução do switch, seu programa não tem mais instruções para executar e, portanto, termina.

Para que seu programa continue rodando após a escolha de uma opção, você precisa colocar a chamada ExibirOpçõesDoMenu() dentro de um loop, como um while ou do-while.

Por exemplo, você pode fazer algo assim:

do
{
    ExibirOpçõesDoMenu();
} while (opcaoEscolhidaNumerica != -1);

Neste caso, o programa continuará exibindo as opções do menu até que o usuário digite -1.

Espero ter ajudado e bons estudos!

Eu fiz o que você explicou mas continua o loop. Fiz a seguinte alteração: void ExibirOpçõesDoMenu() { while (true) { Console.WriteLine("\nDigite 1 para registrar uma banda"); Console.WriteLine("Digite 2 para registrar outra coisa"); 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();

    if (int.TryParse(opcaoEscolhida, out int opcaoEscolhidaNumerica))
    {
        switch (opcaoEscolhidaNumerica)
        {
            case 1:
                Console.WriteLine("Você escolheu a opção 1");
                // Adicione sua lógica para a opção 1 aqui
                break;
            case 2:
                Console.WriteLine("Você escolheu a opção 2");
                // Adicione sua lógica para a opção 2 aqui
                break;
            case 3:
                Console.WriteLine("Você escolheu a opção 3");
                // Adicione sua lógica para a opção 3 aqui
                break;
            case 4:
                Console.WriteLine("Você escolheu a opção 4");
                // Adicione sua lógica para a opção 4 aqui
                break;
            case -1:
                Console.WriteLine("Tchau tchau :)");
                Environment.Exit(0); // Saia do programa
                break;
            default:
                Console.WriteLine("Opção inválida");
                break;
        }
    }
    else
    {
        Console.WriteLine("Opção inválida. Digite um número válido.");

Porém o Loop também continua. O primeiro código aparentemente esta igual o passado na aula. Ainda não consegui encontrar a solução