Latest News

Aplicacion de prueba : Arbol Binario


El programa  esta construido de la siguiente manera: consta de 3 clases, una llamada nodo donde alojamos la estructura de nuestro arbol, otra llamada arbol donde escribimos los métodos que manipulan a este, y una ultima llamada Main que alojara al método principal de nuestro programa que se encargara de controlar todo el programa y a su vez generamos una matriz que contiene los datos que le mandaremos a la clase nodo.

El programa en  Java  esta compilado en NetBeans.

mport javax.swing.JOptionPane;


public class Control_Articulos {

  
    public static void main(String[] args) {
        String desc;
        String cat;
        double cant;
        double cost;
        Arbol arbol = new Arbol();
        int op;      
        String M[][] = {
            {"PIZARRON", "mobiliario", "5", "1200"},
            {"BORRADOR", "papeleria", "10", "30"},
            {"PROYECTOR", "electronia", "3", "4500"},
            {"ESCRITORIO", "mobiliario", "6", "950"},
            {"RADIO", "electronica", "7", "2600"},
            {"PLUMONES", "papeleria", "15", "55"},
            {"PANTALLA", "electronica", "2", "16000"},
            {"IMPRESORA", "electronica", "8", "8500"},
            {"SILLA", "mobiliario", "50", "250"},
            {"LAPICEROS", "papeleria", "15", "20"}
        };
      

        do {
            NodoA nodo;
            op = Integer.parseInt(JOptionPane.showInputDialog(null,
                    "1. AGREGAR TIPO DE ARICULO\n"
                    + "2. DESPLEGAR TIPOS DE ARTICULOS\n"
                    + "3. DESPLEGAR ARTICULOS POR CATEGORIA\n"
                    + "4. ELIMINAR TIPO DE ARTICULO\n"
                    + "5. ELIMINAR ARTICULOS\n"
                    + "6. SUMA DE COSTOS DE ARICULOS POR CATEGORIA\n"
                    + "7. SALIR\n"
                    + "--------------------------------------------------------\n"
                    + "INGRESE LA OPCION [1 - 7]", "MENU", JOptionPane.QUESTION_MESSAGE));
            switch (op) {

                case 1:
                    //ingresa los datos a la clase nodo y al arbol
                    int ax = JOptionPane.showConfirmDialog(null, "¿DESEAS AGREGAR UN PRODUCTO NUEVO?");
                        if(ax==JOptionPane.YES_OPTION){
                            cat=JOptionPane.showInputDialog(null,"INGRESE LA CATEGORIA DEL PRODUCTO");                  
                            desc=JOptionPane.showInputDialog(null,"INGRESE LA DESCRIPCION DEL PRODUCTO");                  
                            desc=desc.toUpperCase();                  
                            cant=Double.parseDouble(JOptionPane.showInputDialog(null,"INGRESE LA CANTIDAD"));                  
                            cost=Double.parseDouble(JOptionPane.showInputDialog(null,"INGRESE EL COSTO DEL PRODUCTO"));                  
                            nodo=new NodoA(desc,cat,cant,cost);                     
                            arbol.insert(nodo);
                        }else{
                            for (int i = 0; i < M.length; i++) {
                        cant = Double.parseDouble(M[i][2]);
                        cost = Double.parseDouble(M[i][3]);
                        nodo = new NodoA(M[i][0], M[i][1], cant, cost);
                        arbol.insert(nodo);
                    }
                        }                 
                    break;

                case 2:
                    //despliega los datos con los recorridos de un arbol
                    int des;
                    do {         
                    des = Integer.parseInt(JOptionPane.showInputDialog(null,
                    "1. INORDEN\n"+
                    "2. PREORDEN\n"+
                    "3.POSORDEN\n"+
                    "4. SALIR\n"+
                    "INGRESE LA OPCION [1 - 4]", "DESPLEGAR", JOptionPane.QUESTION_MESSAGE));
                    switch(des){
                        case 1:
                            arbol.inorden(arbol.getRaiz());
                            break;
                        case 2:
                            arbol.preorden(arbol.getRaiz());
                            break;
                        case 3:
                            arbol.posorden(arbol.getRaiz());
                            break;
                        case 4:
                            System.exit(0);
                            break;
                        default: JOptionPane.showMessageDialog(null,"INGRESE UNA OPCION VALIDA \n","ERROR OPCION",JOptionPane.WARNING_MESSAGE);break;
                    }
                    }while(des!=5); 
                    break;

                case 3:
                cat=JOptionPane.showInputDialog(null,"INGRESE LA CATEGORIA A               DESPLEGAR");
                    cat=cat.toLowerCase();
                    arbol.pos_cat(cat, arbol.getRaiz());                   
                    if(arbol.getRaiz()==null){
                        JOptionPane.showMessageDialog(null, "NO HAY DATOS");
                    }                  
                    break;

                case 4:
                    //borra todo el nodo del articulo
                    desc=JOptionPane.showInputDialog(null,"INGRESE LA DESCRIPCION DEL PRODUCTO A ELIMINAR");
                    desc.toUpperCase();
                    NodoA delete=arbol.delete(desc);
                    if(arbol.getRaiz()==null){
                        JOptionPane.showMessageDialog(null, "NO HAY DATOS");
                    }else
                    if(delete==null){
                        JOptionPane.showMessageDialog(null, "DATO NO ENCONTRADO");
                    }
                    else
                    JOptionPane.showMessageDialog(null, "ELIMINADO: "+delete.getDescripcion());
                    break;

                case 5:
                    break;

                case 6:
                   String ca=JOptionPane.showInputDialog(null,"INGRESE LA                               CATEGORIA PARA SABER COSTO");
                    ca=ca.toLowerCase();
                    arbol.suma_costos(ca, arbol.getRaiz());
                    if(arbol.getRaiz()==null){
                        JOptionPane.showMessageDialog(null, "NO HAY DATOS");
                    }
                    break;

                case 7:
                    System.exit(0);
                    break;
                default: JOptionPane.showMessageDialog(null,"INGRESE UNA OPCION VALIDA \n","ERROR OPCION",JOptionPane.WARNING_MESSAGE);break;
            }
        } while (true);
    }
}

No hay comentarios.:

Publicar un comentario

Ibit-Up Designed by Templateism.com Copyright © 2014

Con tecnología de Blogger.