Пример #1
0
        //---------------------------------------------
        public void Add_Position(int position, Oficial s)
        {
            Node aux = new Node(s);
            Node rec_aux;

            rec_aux = first;
            for (int i = 1; i <= position; i++)
            {
                if (i == position)
                {
                    if (i == 1)
                    {
                        Add_First(s);
                    }
                    else
                    {
                        aux.next     = rec_aux.next;
                        rec_aux.next = aux;
                    }
                }
                else
                {
                    rec_aux = rec_aux.next;
                }
            }
        }
        //Metodo que actualiza la interfaz con los datos del nuevo ofical en funciones
        private void actualizaOficial()
        {
            Oficial  aux = oficiales.Get_First();
            Humanos  aux1;
            Vulcanos aux2;

            lNombre.Text     = aux.getNombre();
            lGraduacion.Text = aux.getGraduacion();
            if (aux.getRaza().ToUpper().Equals("HUMANO"))
            {
                aux1          = (Humanos)aux;
                lEspSect.Text = aux1.getEspecialidad();
            }
            else
            {
                if (aux.getRaza().ToUpper().Equals("VULCANO"))
                {
                    aux2 = (Vulcanos)aux;
                    if (aux2.getSecta() == true)
                    {
                        lEspSect.Text = "Secta romulana";
                    }
                    else
                    {
                        lEspSect.Text = "No pertenece a ninguna secta";
                    }
                }
            }
            lRaza.Text        = aux.getRaza();
            lClave.Text       = Convert.ToString(aux.getClave());
            pictureBox1.Image = aux.getFoto();
            aux.setPuesto(true);
        }
        //---------------------------------------------
        public void Add_Position(int position, Oficial s)
        {
            Node aux = new Node(s);
            Node rec_aux;

               rec_aux = first;
            for (int i = 1; i <= position;i++ )
            {
                if (i == position)
                {
                    if (i == 1)
                    {
                        Add_First(s);
                    }
                    else
                    {
                        aux.next = rec_aux.next;
                        rec_aux.next = aux;
                    }
                }
                else {
                    rec_aux = rec_aux.next;
                }
            }
        }
Пример #4
0
        //---------------------------------------------
        public Oficial Get_First()
        {
            Oficial element = null;

            if (this.first != null)
            {
                element = first.data;
            }
            return(element);
        }
 //Metodo que degrada al oficial al cargo
 private void degradar(int posicion)
 {
     if (posicion != 0)
     {
         Oficial aux = oficiales.getPosition(posicion); //almaceno ese oficial en un auxiliar
         oficiales.Remove_Position(posicion);           //lo elimino de la lista enlazada
         aux.setPuesto(false);                          //indico que ya no esta al cargo
         oficiales.Add_Last(aux);                       //lo añado al final de esta
         actualizaListBox();                            //actualizo el listBox()
     }
 }
        //---------------------------------------------
        public void Add_First(Oficial s)
        {
            Node newcharacter = new Node(s);

            if (first == null)
            first = newcharacter;
            else {
            newcharacter.next = first;
            first = newcharacter;
            }
        }
        //Metodo que actualiza el listBox de la interfaz con el nuevo orden en el que se encuentren los oficiales
        private void actualizaListBox()
        {
            Oficial aux = oficiales.Get_First();

            this.nombreOficial = aux.getNombre();
            aux = oficiales.getPosition(2);
            this.nombreSuboficial = aux.getNombre();
            Console.WriteLine(nombreOficial + " " + nombreSuboficial);
            listOficiales.Items.Clear();
            rellenaListBox();
            actualizaOficial();
            cambioOficial = false;
        }
Пример #8
0
        //---------------------------------------------

        public void Add_First(Oficial s)
        {
            Node newcharacter = new Node(s);

            if (first == null)
            {
                first = newcharacter;
            }
            else
            {
                newcharacter.next = first;
                first             = newcharacter;
            }
        }
Пример #9
0
        //---------------------------------------------
        public Oficial Get_Last()
        {
            Oficial element = null;
            Node    aux     = null;

            if (!Is_Empty())
            {
                aux = first;
                while (aux.next != null)
                {
                    aux = aux.next;
                }
                element = aux.data;
            }
            return(element);
        }
Пример #10
0
        //---------------------------------------------
        public void Add_Last(Oficial s)
        {
            Node aux = new Node(s);
            Node rec_aux;

            if (first == null) {
            aux.next = first;
            first = aux;
            }
            else {
            rec_aux = first;
            while (rec_aux.next!=null)
                rec_aux = rec_aux.next;
            rec_aux.next = aux;
            }
        }
Пример #11
0
        //---------------------------------------------
        public Oficial getPosition(int position)
        {
            Node    rec_aux;
            Oficial aux = null;

            rec_aux = first;
            for (int i = 1; i <= position; i++)
            {
                if (i == position)
                {
                    aux = rec_aux.data;
                }
                else
                {
                    rec_aux = rec_aux.next;
                }
            }
            return(aux);
        }
Пример #12
0
        //---------------------------------------------
        public void Add_Last(Oficial s)
        {
            Node aux = new Node(s);
            Node rec_aux;

            if (first == null)
            {
                aux.next = first;
                first    = aux;
            }
            else
            {
                rec_aux = first;
                while (rec_aux.next != null)
                {
                    rec_aux = rec_aux.next;
                }
                rec_aux.next = aux;
            }
        }
Пример #13
0
 private void btnAscender_Click(object sender, EventArgs e)
 {
     if (listOficiales.SelectedItem != null)
     {
         String nombre   = listOficiales.SelectedItem.ToString(); //se coge el item seleccionado en el listbox
         int    posicion = oficiales.getOficial(nombre.Trim());   //busco la posicion de ese oficial en la lista enlazada
         if (posicion != 0)
         {
             this.cambioOficial = true;
             Oficial aux = oficiales.getPosition(posicion); //almaceno ese oficial en un auxiliar
             oficiales.Remove_Position(posicion);           //lo elimino de la lista enlazada
             oficiales.Add_First(aux);                      //lo añado al principio de esta
             MessageBox.Show("Se ha nombrado un nuevo oficial en funciones");
             actualizaListBox();                            //actualizo el listBox()
         }
         else
         {
             MessageBox.Show("Oficial no encontrado");
         }
     }
 }
Пример #14
0
 public Node(Oficial pdata)
 {
     this.next = null;
     this.data = pdata;
 }
Пример #15
0
 public Node(Oficial pdata)
 {
     this.next = null;
     this.data = pdata;
 }
Пример #16
0
 //Builders
 public Node()
 {
     next = null;
     data = new Oficial();
 }
Пример #17
0
 //Builders
 public Node()
 {
     next = null;
     data = new Oficial();
 }