Boa tarde pessoal. Queria compartilhar me projeto (Senhas de atendimento) com vocês.
Nele eu usei o QUEUE, que é uma estrutura de dados que funciona exatamente como uma fila. Ele serve para armazenar elementos por ordem de chegada e retirar na mesma ordem.
Para adicionar elementos dentro dele se usa ENQUEUE.
Para retirar elementos dele se usa DEQUEUE.
A diferença de QUEUE para LIST, é que na lista podemos acessar qualquer posição. Já com o QUEUE só conseguimos retirar o primeiro elemento da fila (ordem de chegada).
Gostei desse novo conhecimento. Obrigado!
using System.Collections;
Console.WriteLine("SENHAS DE ATENDIMENTO");
Queue<string> filaSenhas = new Queue<string>(); //Fila de senhas
int contador = 0;
int opcao;
do
{
Console.WriteLine("1 - Gerar nova senha");
Console.WriteLine("2 - Chamar próxima senha");
Console.WriteLine("3 - Sair");
Console.Write("O que você deseja: ");
opcao = int.Parse(Console.ReadLine());
Console.WriteLine("");
switch (opcao)
{
case 1:
contador++;
string senha = contador.ToString("D3");
filaSenhas.Enqueue(senha); // Adiciona na fila
Console.WriteLine($"Senha gerada é: {senha}");
break;
case 2:
if (filaSenhas.Count > 0)
{
string proxima = (string)filaSenhas.Dequeue();
Console.WriteLine($"Chamando nova senha: {proxima}");
} else
{
Console.WriteLine("Nenhuma senha disponível.");
}
break;
case 3:
Console.WriteLine("Encerrando sistema");
break;
default:
Console.WriteLine("Opção inválida, tente novamente!");
break;
}
} while (opcao != 3); // Repete o sistema até escolher a opção 3 - Sair.