/*
* Aplicacion.java
*
* Created on 21 de septiembre de 2006, 22:43
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package practicoppr;
/**
*
* @author judaz
*/
public class Aplicacion {
public static void main(String args[]){
Arbol Arbol1 = new Arbol(null);
carga(Arbol1);
mostrarDestYNroCasa(Arbol1);
}
private static void carga(Arbol Arbol1) {
System.out.println("-- COMENZAREMOS CON LA CARGA DE LA CORRESPONDENCIA --");
cargarArbol(Arbol1);
boolean bandera = true;
while(bandera == true){
System.out.println("¿Desea cargar otra correspondencia?");
System.out.println("1 = Si, 2 = No");
int pregunta = In.readInt();
switch(pregunta){
case 1: cargarArbol(Arbol1); break;
case 2: System.out.println("-- FIN DE LA CARGA --"); bandera = false; break;
default : System.out.println("-- Respuesta invalida, intente de vuelta --"); break;
}
}
}
private static void cargarArbol(Arbol Arbol1) {
int tipo = 0;
boolean bandera = true;
while(bandera == true){
System.out.println("¿Que tipo de correspondencia va a cargar?");
System.out.println("1 = Certificada; 2 = Encomienda, 3 = Simple");
tipo = In.readInt();
if(tipo == 1 || tipo == 2 || tipo == 3){
bandera = false;
}
else{
System.out.println("-- Tipo de encomienda Invalido, intente de vuelta --");
}
}
System.out.println("¿Cual es el nombre del destinatario?");
String destinatario = In.readLine();
System.out.println("¿Cual es el peso de la correspondencia?");
float peso = In.readFloat();
System.out.println("¿Cual es el numero de casa?");
int nroCasa = In.readInt();
switch(tipo){
case 1: {
System.out.println("-- Creando Correspondencia Certficiada --");
bandera = true;
int prioridad = 0;
while(bandera == true){
System.out.println("¿Cual es la proridad de la correspondencia?");
prioridad = In.readInt();
if(prioridad > 0 && prioridad < 11){
bandera = false;
}
else{
System.out.println("-- Prioridad invalida, intente de vuelta --");
}
}
System.out.println("¿Cual es el peso del sobre?");
float pesoSobre = In.readFloat();
Correspondencia Correspondencia1 = new Certificada(destinatario, peso, nroCasa, prioridad, pesoSobre);
Arbol1.insertar(Correspondencia1);
System.out.println("-- Correspondencia Certficiada Creada --");
} break;
case 2: {
System.out.println("-- Creando Encomienda --");
bandera = true;
int tipoCaja = 0;
while(bandera == true){
System.out.println("¿Cual es el tipo de caja para la correspondencia?");
System.out.println("1 = Pequeña; 2 = Mediana; 3 = Grande");
tipoCaja = In.readInt();
if(tipoCaja == 1 || tipoCaja == 2 || tipoCaja == 3){
bandera = false;
}
else{
System.out.println("-- Tipo de caja invalida, intente de vuelta --");
}
}
Correspondencia Correspondencia1 = new Encomienda(destinatario, peso, nroCasa, tipoCaja);
Arbol1.insertar(Correspondencia1);
System.out.println("-- Encomienda Creada --");
} break;
case 3: {
System.out.println("-- Creando Correspondencia Simple --");
Correspondencia Correspondencia1 = new Simple(destinatario, peso, nroCasa);
Arbol1.insertar(Correspondencia1);
System.out.println("-- Correspondencia Simple Creada --");
}
}
}
private static void mostrarDestYNroCasa(Arbol Arbol1){
System.out.println("¿De que forma quiere recorrer el arbol para mostrar la informacion?");
System.out.println("¿1 = PreOrden; 2 = PostOrden; 3 = Orden Central?");
int recorrido = In.readInt();
boolean bandera = true;
while (bandera == true) {
if(recorrido == 1 || recorrido == 2 || recorrido == 3){
Arbol1.mostrarVisita(recorrido);
bandera = false;
}
else {
System.out.println("Tipo de recorrido invalido, intente de vuelta");
}
}
}
}