1
resposta

Olá! Minha logo está aparecendo duas vezes.

string mensagemDeBoasVindas = "Boas vindas ao Screen Sound"; 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: 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!");
        break;
    default: Console.WriteLine("Opção Inválida");
        break;
}

} void RegistrarBanda() { Console.Clear(); Console.WriteLine("Registro de bandas"); Console.Write("Digite o nome da banda que deseja registrar: "); string nomeDaBanda = Console.ReadLine()!; Console.WriteLine($"A banda {nomeDaBanda} foi registrada"); Thread.Sleep(2000); Console.Clear(); ExibirOpcoesDoMenu(); }

ExibirLogo(); ExibirOpcoesDoMenu();

1 resposta

Oi Pedro,

Isso acontece porque você está chamando ExibirLogo() tanto no início do programa quanto dentro da função ExibirOpcoesDoMenu(). 🙄

Para corrigir, você pode remover a chamada ExibirLogo(); no final do código, deixando apenas a chamada dentro de ExibirOpcoesDoMenu(). Assim, a logo será exibida apenas uma vez, quando o menu for apresentado. 👍

void ExibirOpcoesDoMenu() {
    ExibirLogo(); // Mantém a chamada aqui
    Console.WriteLine("\nDigite 1 para registrar uma banda");
    // ... restante do código ...
}

// Remove a chamada daqui
// ExibirLogo(); 
ExibirOpcoesDoMenu();

Para saber mais: Entendendo o escopo de variáveis em C#.

Continue praticando e explorando o C#! 🤔