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.
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