Aprimorei o projeto de senhas de atendimento, para garantir que o sistema não realize a chamada de senhas que não foram geradas.
List<int> senhas = new List<int>();
int decisao = 0;
int senhaGerada = 0;
int indice = 0;
do
{
Console.WriteLine("1 - Gerar nova senha\n" +
"2 - Chamar próxima senha\n" +
"3 - Sair");
decisao = int.Parse(Console.ReadLine()!);
switch (decisao)
{
case 1:
senhaGerada++;
senhas.Add(senhaGerada);
Console.WriteLine($"Senha Gerada {senhaGerada.ToString("D3")}\n");
break;
case 2:
if (indice < senhas.Count)
{
int item = senhas[indice];
Console.WriteLine($"Senha Chamada {item.ToString("D3")}\n");
indice++;
}
else if (indice <= senhas.Count)
{
Console.WriteLine("Senhas finalizadas! necessário gerar mais senhas.\n");
}
else
{
Console.WriteLine("Não há senhas para serem chamadas! Favor gerar uma nova.");
}
break;
case 3:
Console.WriteLine("Encerrando Sistema");
break;
}
} while (decisao != 3);