Ao exibir o nome o logo do programa acaba repetindo -o ficando Como resolvo isso?
Ao exibir o nome o logo do programa acaba repetindo -o ficando Como resolvo isso?
Oi, Ivan. Tudo certo?
Para poder te ajudar melhor, você poderia me fornecer o código do seu projeto? Assim consigo analisar melhor o que pode estar acontecendo e te ajudar de forma mais precisa.
Fico no aguardo e à disposição :)
Tirei , omiti, algumas linhas por causa do numero dos caracterers
string mensagemDeBoasVindas = "Boas vindas ao Screen Sound";
//List<string> ListaDasBandas = new List<string>(); // Cria uma listar vazia para bandas
//List<string> ListaDasBandas = new List<string>{"B-52","U2"}; ///Cria uma lista com conteúdo para bandas
Dictionary<string, List<int>>bandasRegistradas = new Dictionary<string, List<int>>();//Cria um dicionario
bandasRegistradas.Add("Linkin Park", new List<int> { 10, 8, 6 });//Registra no dicionario com notas
bandasRegistradas.Add("The Beatles", new List<int> ());//Registro no dicionario sem notas
void ExibirLogo()
{
// a @,Verbatim Lite(Verbatim literal), mostra a string completa
Console.WriteLine(@"██████╗░█████╗░██████╗░███████╗███████╗███╗░░██╗ ░██████╗░█████╗░██╗░░░██╗███╗░░██╗██████╗░
██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝████╗░██║ ██╔════╝██╔══██╗██║░░░██║████╗░██║██╔══██╗
╚█████╗░██║░░╚═╝██████╔╝█████╗░░█████╗░░██╔██╗██║ ╚█████╗░██║░░██║██║░░░██║██╔██╗██║██║░░██║
░╚═══██╗██║░░██╗██╔══██╗██╔══╝░░██╔══╝░░██║╚████║ ░╚═══██╗██║░░██║██║░░░██║██║╚████║██║░░██║
██████╔╝╚█████╔╝██║░░██║███████╗███████╗██║░╚███║ ██████╔╝╚█████╔╝╚██████╔╝██║░╚███║██████╔╝
╚═════╝░░╚════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚═╝░░╚══╝ ╚═════╝░░╚════╝░░╚═════╝░╚═╝░░╚══╝╚═════╝░");
exibirTituloDaOpcao($"Olá, {0}!, {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 sua opção: ");
string opcaoEscolhida=Console.ReadLine()!;
int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);
switch (opcaoEscolhidaNumerica){
}
void RegistrarBanda(){
Console.Clear();//Limpa a Tela
exibirTituloDaOpcao("Registro das bandas");
Console.Write("Digite o nome da Banda que deseja registrar: ");
string nomeDaBanda = Console.ReadLine()!;
//ListaDasBandas.Add(nomeDaBanda);//Adiciona nome da Banda na lista
bandasRegistradas.Add(nomeDaBanda, new List<int>());
Console.WriteLine($"A banda {nomeDaBanda} foi registrada");
Thread.Sleep(2000);
Console.Clear();
ExibirOpcoesDoMenu();
}
void MostrarBandasRegistradas(){
Console.Clear();
exibirTituloDaOpcao("Registro das bandas");
///FOREACH para dicinario
foreach (string banda in bandasRegistradas.Keys)
{
Console.WriteLine($"Banda: {banda}");
}
Console.WriteLine("Digite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();
}
void exibirTituloDaOpcao(string titulo)
{
int quantidadeDeLetras = titulo.Length;
string asteriscos = string.Empty.PadLeft(quantidadeDeLetras, '*');
Console.WriteLine(asteriscos);
Console.WriteLine(titulo);
Console.WriteLine(asteriscos + "\n");
}
void AvaliarUmaBanda()
{
Console.Clear();
exibirTituloDaOpcao("Avaliar Banda");
Console.Write("Digite o nome da Banda que deseja Avaliar: ");
string nomeDaBanda = Console.ReadLine()!;
if (bandasRegistradas.ContainsKey(nomeDaBanda))
{
Console.Write($"qual a nota {nomeDaBanda} merece: ");
int nota = int.Parse(Console.ReadLine()!);
bandasRegistradas[nomeDaBanda].Add(nota);
Console.WriteLine($"A nota {nota} foi registrada com sucesso para a {nomeDaBanda} ");
Thread.Sleep(4000);
Console.Clear();
ExibirOpcoesDoMenu();
}
else
{
Console.WriteLine($"\nA {nomeDaBanda} não foi encontrada");
Console.WriteLine($"Digite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();
}
}
void exibirMedia()
{
Console.Clear();
exibirTituloDaOpcao("Exibir Media das Bandas");
Console.Write("Digite o nome da Banda que deseja Avaliar: ");
string nomeDaBanda = Console.ReadLine()!;
if (bandasRegistradas.ContainsKey(nomeDaBanda))
{ //Se sim ,atribui o valor a lista notasDaBanda e imprime a media
List<int> notasDaBanda = bandasRegistradas[nomeDaBanda];
Console.WriteLine($"\nA média da banda {nomeDaBanda} é {notasDaBanda.Average()}.");//Average()Caucula a media
Console.WriteLine("Digite uma tecla para voltar ao menu principal.");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();
}
else
{
Console.WriteLine($"\nA {nomeDaBanda} não foi encontrada");
Console.WriteLine($"Digite uma tecla para voltar ao menu principal");
Console.ReadKey();
Console.Clear();
ExibirOpcoesDoMenu();
}
}
ExibirOpcoesDoMenu();
Oi, Ivan.
Rodei o código que você enviou e por aqui funcionou normalmente. Para conseguirmos entender melhor o que está acontecendo, você poderia subir o projeto completo em um repositório no GitHub? Assim consigo reproduzir exatamente o mesmo ambiente que você está utilizando. Além disso, faça um teste rodando o programa em outro terminal para verificar se o comportamento se mantém.
Fico no aguardo do repositório, e qualquer dúvida o fórum está à disposição.
Oi Ivan.
Executei novamente o código e realmente o problema não ocorre na execução por aqui. Esse comportamento pode estar relacionado a alguma caracteristica específica do terminal ou ambiente onde você está executando.
Sugiro que teste a execução em diferentes terminais, como Command Prompt, PowerShell e Git Bash, por exemplo, para verificar se o problema persiste. Como alternativa temporária, você pode substituir o verbatim por uma string simples para isolar se o problema está relacionado à renderização dos caracteres especiais.
Se o texto simples não duplicar, o problema provavelmente é o terminal interpretando múltiplos caracteres especiais de forma diferente.