예제 #1
0
        public IDado retirar()
        {
            if (this.vazia())
            {
                return(null);
            }
            Elemento aux = this.prim.prox;

            this.prim.prox = aux.prox;
            if (aux == this.ult)
            {
                this.ult = this.prim;
            }
            else
            {
                aux.prox = null;
            }
            return(aux.d);
        }
예제 #2
0
        public void AtenderPacientes()//Metodo onde as consultas de cada medico são inserirdas no historico do seu respectivo paciente
        {
            float MaiorValor = 0;

            MedicosArvore.InicializarAux();
            for (int p = 1; p < 5; p++)
            {
                MedicosArvore.ListaM(TipoConsulta(p), MedicosArvore.raiz);
            }

            foreach (Medico Medico in MedicosArvore.aux)            //Metodo foreach para pecorrer todos os Medicos
            {
                Elemento number1 = Medico.Consultas.ConsultaTopo(); //Metodo não generico para pega a primeira consulta da fila de consultas cada medico
                while (number1 != null)
                {
                    IDado    n0 = number1.d;
                    Consulta n1 = (Consulta)(n0);
                    Nodo     n  = PacientesArvore.buscarP(n1.ID_Paciente);
                    Paciente n3 = (Paciente)(n.d);
                    if (!n3.Historico.localizar(n1.ID))
                    {
                        Historico h = new Historico(n1.Data, Medico.Nome, Medico.ID, Medico.Ex, n1.Preço, n1.ID, n1.Prioridade);
                        n3.Historico.inserir(h);         //inserindo no lista historico do paciente a consulta realizada
                        Medico.Pagamento = n1.Preço / 2; //atribui o valor do pagamento ao medico pela metado do valor da consulta
                        Cofre           += n1.Preço / 2; //A outra metade do pagamento vai para o cofre da clinica
                    }
                    number1 = number1.prox;
                }
            }
            //O foreach a segui sere para indentifica o metodo
            foreach (Medico Medico in MedicosArvore.aux)
            {
                if (Medico.Pagamento > MaiorValor)
                {
                    MaiorValor = Medico.Pagamento;
                    Med        = Medico;
                }
            }
        }
예제 #3
0
 public Fila()
 {
     this.prim = new Elemento(null);
     this.ult  = this.prim;
 }
예제 #4
0
 public Elemento(IDado d)
 {
     this.d    = d;
     this.prox = null;
 }