예제 #1
0
        static void Main(string[] args)
        {
            Paciente      paciente        = new Paciente();
            FilaPacientes fila            = new FilaPacientes();
            FilaPacientes filaPrioritaria = new FilaPacientes();
            FilaPacientes filaInternacao  = new FilaPacientes();
            int           contador        = 0;

            string op;

            do
            {
                Console.WriteLine("###### COVID 19 ######\n" +
                                  "1 - Cadastre um paciente\n" +
                                  "2 - Proximo da fila\n" +
                                  "3 - Encerrar programa"); //Imprime o proximo e retira da fila.
                Console.Write("\n>>>");
                op = Console.ReadLine();

                switch (op)
                {
                case "1":
                    Console.Clear();
                    Console.Write("\nInforme o CPF: ");
                    string cpf = Console.ReadLine();

                    if (CpfCadastrado())
                    {
                        paciente = LeituraArquivo(cpf);
                    }
                    else
                    {
                        paciente = Leitura(cpf);
                    }

                    if (paciente.Idade() >= 60)
                    {
                        filaPrioritaria.Push(paciente);
                    }
                    else
                    {
                        fila.Push(paciente);
                    }
                    break;

                case "2":
                    Console.Clear();


                    if (!filaPrioritaria.Vazia() && contador < 2)
                    {
                        Console.WriteLine("Chamando próximo paciente para exame...");
                        paciente = filaPrioritaria.Head;
                        filaPrioritaria.Pop();
                        contador++;

                        Imprimir(paciente);
                        Infectado(paciente);
                    }
                    else if (!fila.Vazia())
                    {
                        Console.WriteLine("Chamando próximo paciente para exame...");
                        paciente = fila.Head;
                        fila.Pop();
                        contador = 0;

                        Imprimir(paciente);
                        Infectado(paciente);
                    }
                    else
                    {
                        Console.WriteLine("Não há ninguem na fila!");
                        contador = 0;
                    }

                    break;

                case "3":
                    Console.WriteLine(">>> FINALIZANDO <<<");
                    break;

                default:
                    break;
                }
            } while (op != "3");
        }
예제 #2
0
 static void Imprimir(Paciente paciente)
 {
     Console.Clear();
     Console.WriteLine(paciente);
     Console.WriteLine();
 }