2
respostas

Senhas de atendimento

void SenhasDeAtendimento()
{
    int senha = 1;
    int senhaChamada = 1;

    while (true)
    {
        Console.WriteLine("1 - Gerar nova senha | 2 - Chamar próxima senha | 3 - Sair");
        string entrada = Console.ReadLine()!;

        if (!int.TryParse(entrada, out int saida) || (saida < 1 || saida > 3))
        {
            Console.WriteLine("\nEscolha uma das opções disponíveis!\n");
            continue;
        }
        if (saida == 1)
        {
            Console.WriteLine("\nSenha 00" + $"{senha}\n");
            senha++;
        }
        if (saida == 2)
        {
            if (senhaChamada < senha)
            {
                Console.WriteLine("\nSenha chamada 00" + $"{senhaChamada}\n");
                senhaChamada++;
            }
            else
            {
                Console.WriteLine("\nGere uma nova senha antes!\n");
            }

        }
        if (saida == 3)
        {
            Console.WriteLine("\nEncerrando sistema");
            break;
        }
    }
}

SenhasDeAtendimento();

Acabei por fazer de outra forma, mas acredito que atingiu o objetivo esperado!

2 respostas

Olá, Pedro! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de estruturas de repetição para criar um sistema de senhas com C#, utilizou muito bem o controle de variáveis para organizar a sequência de chamadas e ainda compreendeu a importância do validador de entrada para manter a lógica consistente.

Uma dica interessante para o futuro é formatar as senhas com PadLeft, garantindo sempre o mesmo número de dígitos. Assim:

Console.WriteLine("\nSenha " + senha.ToString().PadLeft(3, '0') + "\n");

Isso faz com que as senhas fiquem padronizadas, por exemplo "001", "002", "010".

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!

Obrigado pelo feedback!