1
resposta

O código da aula não funciona!

Necessita uma atualização do código, pois está em loop. Quando inicia a execução, o app fecha com o retorno "0"Imagem com a resposta do terminal .

Código da aula:

// Screen Sound string mensagemDeBoasVindas = "Boas vindas ao Screen Sound"; List listaDasBandas = new List { "U2", "The Beatles", "Calypso"};

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: Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
        break;
    case 2: Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
        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;
}

}

Como corrigir?
1 resposta

Olá, Anderson! Tudo bem?

Pelo que você descreveu, parece que o programa está encerrando logo após a primeira execução do método ExibirOpcoesDoMenu(). Isso acontece porque após a execução do switch, o programa não tem mais instruções para executar e, portanto, encerra.

Para corrigir isso, você precisa colocar o método ExibirOpcoesDoMenu() dentro de um loop, assim o menu será exibido repetidamente até que o usuário escolha sair. Aqui está um exemplo de como você pode fazer isso:

void IniciarAplicacao()
{
    int opcaoEscolhidaNumerica;
    do
    {
        ExibirOpcoesDoMenu();
        string opcaoEscolhida = Console.ReadLine()!;
        opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);

        switch (opcaoEscolhidaNumerica)
        {
            case 1: Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
                break;
            case 2: Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
                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;
        }
    } while (opcaoEscolhidaNumerica != -1);
}

Agora, ao invés de chamar ExibirOpcoesDoMenu(), você deve chamar IniciarAplicacao(). O programa continuará executando até que o usuário digite -1 para sair.

Espero ter ajudado e bons estudos!