Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Projeto] Resposta - Senhas de atendimento

int opcao=0, novaSenha=0, senhaSelecionada=0;
var listaSenhas = new List<int>();

do
{
    MenuDeOpcoes();
    switch(opcao)
    {
        case 1:
            novaSenha++;
            listaSenhas.Add(novaSenha);
            Console.WriteLine($"Senha gerada: {novaSenha.ToString("D3")}");
            Console.ReadKey();
            break;
        case 2:
            senhaSelecionada = listaSenhas[0];
            listaSenhas.RemoveAt(0);
            Console.WriteLine($"Senha chamada: {senhaSelecionada.ToString("D3")}");
            Console.ReadKey();
            break;
        case 3:
             Console.WriteLine("Encerrando o sistema!");
             Console.ReadKey();
             break;
        default:
            Console.WriteLine("Opção Invalida!");
            Console.ReadKey();
            break;
    }
    Console.Clear();
}while(opcao!=3);

void MenuDeOpcoes ()
{
    Console.WriteLine("*****Sistema de Senhas*****");
    Console.WriteLine("1 - Gerar nova senha");
    Console.WriteLine("2 - Chamar próxima senha");
    Console.WriteLine("3 - Sair");
    opcao = int.Parse(Console.ReadLine()!);
}

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á, Leandro, como vai?

Seu código cumpre bem a proposta do exercício e a lógica geral está organizada. A geração de senhas, o uso da lista e o fluxo do menu estão funcionando de forma coerente com o objetivo da atividade.

Há apenas um ponto que vale atenção: ao chamar a próxima senha, o programa acessa sempre listaSenhas[0]. Caso a lista esteja vazia, isso causará erro em tempo de execução. Uma pequena validação antes de acessar o índice já evita esse problema. Por exemplo, você poderia verificar se há senhas disponíveis antes de remover a próxima, exibindo uma mensagem adequada quando a fila estiver vazia.

Um exemplo simples seria algo como verificar listaSenhas.Count > 0 antes de acessar o primeiro elemento. Isso garante que o programa continue funcionando mesmo quando não houver senhas geradas.

No mais, ótimo trabalho por compartilhar o exercício. O fórum está à disposição.

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