Está en la página 1de 4

package coleccionFunko;

public class TipoNodo


{
TipoFunko Dato;
TipoNodo Sig;
public TipoNodo() {
// TODO Auto-generated constructor stub
}

package coleccionFunko;

public class TipoFunko


{
int NumeroSerie;
String Nombre;
String TipodeFunko;
String FechaFabricacion;
double Precio;
String Edicion;
public TipoFunko()
{
// TODO Auto-generated constructor stub
}

package coleccionFunko;

import javax.swing.JOptionPane;

public class claseCSDinamica


{

public claseCSDinamica() {
super();
Frente = null;
Final = null; // TODO Auto-generated constructor stub
}
TipoNodo Frente, Final; //Se Crean los punteros de la estructura

private void ReInicializar() // destructor


{
Frente = null;
Final = null;
}
public boolean Bajoflujo()
{
if((Frente == null) && (Final == null))
return true;
else return false;
}
public void Agregar(TipoFunko dato)
{
TipoNodo p = new TipoNodo();

if( p != null) // equivalente a probar Sobreflujo()


{
p.Dato = dato;
if(Bajoflujo() == true) // si es primera vez
{
// Se agrega por primera vez
Frente = new TipoNodo();
Final = new TipoNodo();
Frente = p; Final = p;
Final.Sig = null;
}
else // no es primera
vez
{
// Se agrega a estructura existente
Final.Sig = p;
Final = p;
}
}
}

public TipoFunko Retirar()


{
TipoFunko dato = null;
if(Bajoflujo() == false)
{
dato = Frente.Dato;
if(Frente == Final) // Es el ltimo puntero de la estructura
ReInicializar();
else // No es el ltimo puntero de la estructura
{
TipoNodo p = new TipoNodo();
p = Frente.Sig;
Frente = null;
Frente = p;
}
}
return dato;
}

public void Recorrer()


{
String Salida = "Datos en la Cola Simple\n";
if(Bajoflujo() == false)
{
TipoNodo p = new TipoNodo();
for(p = Frente; p != null; p = p.Sig)
{
Salida += "Codigo de barras : "+p.Dato.NumeroSerie +"\n";
Salida += "Submarca : "+p.Dato.Nombre +"\n";
Salida += "Tipo de producto : "+p.Dato.TipodeFunko +"\n";
Salida += "Presentaci n : "+p.Dato.FechaFabricacion +"\n";
Salida += "Edici n : "+p.Dato.Edicion +"\n";
Salida += "Precio : "+p.Dato.Precio +"\n\n";;

}
}
else Salida = "La Cola Simple no se puede recorrer";
JOptionPane.showMessageDialog(null, Salida);
}

package coleccionFunko;

import javax.swing.JOptionPane;

public class mainFunko {

public static void main(String[] args)


{
claseCSDinamica ColaSimple_Gaseosas = new claseCSDinamica();
int Opci n;
TipoFunko dato;
String Men = "[1] Agregar\n[2] Retirar\n";
Men += "[3] Recorrer\n[4] Salir";
String Salida;

do
{
Opci n = Integer.parseInt(JOptionPane.showInputDialog(Men + "\
nOpci n: "));
switch(Opci n)
{

case 1:
dato = new TipoFunko();
dato.NumeroSerie =
Integer.parseInt(JOptionPane.showInputDialog("Numero de serie: "));
dato.TipodeFunko = JOptionPane.showInputDialog("Tipo de
funko: ");
dato.Edicion = JOptionPane.showInputDialog("Edicion: ");
dato.FechaFabricacion = JOptionPane.showInputDialog("Fecha:
");
dato.Precio =
Double.parseDouble(JOptionPane.showInputDialog("Precio: "));
ColaSimple_Gaseosas.Agregar(dato);
break;
case 2:
dato = ColaSimple_Gaseosas.Retirar();
if(dato != null)
{
Salida = "Dato retirado\n";
Salida += "Numero de serie : "+dato.NumeroSerie +"\
n";
Salida += "Tipo de funko : "+dato.TipodeFunko +"\n";
Salida += "Tipo de edicion : "+dato.Edicion +"\n";
Salida += "Fecha de fabricacion :
"+dato.FechaFabricacion +"\n";
Salida += "Precio : "+dato.Precio +"\n\n";;
JOptionPane.showMessageDialog(null, Salida);
}
else
JOptionPane.showMessageDialog(null, "No se puede
retirar");
break;
case 3:
ColaSimple_Gaseosas.Recorrer();
break;

case 4:
JOptionPane.showMessageDialog(null, "Hasta la vista");
break;
default:
JOptionPane.showMessageDialog(null, "Solo valores del 1 al
4");
}
}while(Opci n != 4);

También podría gustarte