Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

Como criei um,a lógica para pressionar o enter caso não queira esperar o tempo para voltar para o menu

// Screen Sound
using System.Globalization;
using System.Runtime;

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 consultar 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:
        registrarBandas();
        break;
    case 2:
        consultarTodasAsBandas();
        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 presioneEnter()
{
Console.WriteLine("\nPressione ENTER para continuar ou aguarde 5 segundos...");

int intervalo = 50; // checa a cada 50 ms
int tempoDecorrido = 0;
int tempoLimite = 5000; //5 segundos

while (tempoDecorrido <= tempoLimite)
{
    if (Console.KeyAvailable) // se alguma tecla foi pressionada
    {
        var tecla = Console.ReadKey(true);
        if (tecla.Key == ConsoleKey.Enter)
        {
             return;
        }
    }

    Thread.Sleep(intervalo);
    tempoDecorrido += intervalo;
}

}

void registrarBandas()
{
Console.Clear();
Console.WriteLine("Registro de bandas");
Console.Write("Digite o nome da banda que desja registrar : ");
string nomeDaBanda = Console.ReadLine()!;
listaDasBandas.Add(nomeDaBanda);
Console.WriteLine($"Banda {nomeDaBanda} adicionada com sucesso");
presioneEnter();
Console.Clear();
ExibirOpcoesDoMenu();
}

void consultarTodasAsBandas()
{
Console.Clear();
int contador = 1;
foreach(var banda in listaDasBandas)
{
Console.Write($"{contador} - {banda} \n");
contador++;
}
presioneEnter();
Console.Clear();
ExibirOpcoesDoMenu();
}

ExibirOpcoesDoMenu();

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Olá, Cauan! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de listas para armazenar dados dinamicamente, utilizou muito bem os métodos para organizar o fluxo do programa e ainda compreendeu a importância do switch para controlar as opções do menu de forma clara.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!