Especial para el grupo de Desarrollo de Software
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosRegistrarseConectarse

Comparte | 
 

 Proyecto final de Estructura de Datos

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Razo
Admin
avatar

Mensajes : 71
Fecha de inscripción : 22/09/2010
Localización : Panamá/Colón

MensajeTema: Proyecto final de Estructura de Datos   Miér Nov 24, 2010 10:26 am

Grupo Nº2: Belkis Rivera. Raúl Swanston y Scootty

Todo el código se realizo utilizando Netbeans...

Este es el código:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package proyectofinal;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
*
* @author: Raúl Swanston, Belkis Rivera y Scotty
*/

public class Main extends JFrame{

private JButton botonComenzar, botonManual, botonSalir;



public Main()
{
super ("Bienvenido al Proyecto Final sobre Pilas Y Colas, Grupo Nº2");
Container contenedor = getContentPane();
contenedor.setLayout (new FlowLayout());

// Crea Boton Comenzar
Icon entrada1 = new ImageIcon ("entrada1.jpg");
Icon entrada2 = new ImageIcon ("entrada2.jpg");
botonComenzar = new JButton (" Comenzar", entrada1);
botonComenzar.setRolloverIcon(entrada2);
contenedor.add(botonComenzar);

// Crea Boton Manual
Icon manual1 = new ImageIcon ("manual1.jpg");
Icon manual2 = new ImageIcon ("manual2.jpg");
botonManual = new JButton (" Manual", manual1);
botonManual.setRolloverIcon(manual2);
contenedor.add(botonManual);

// Crea Boton Salir
Icon salir1 = new ImageIcon ("salir1.jpg");
Icon salir2 = new ImageIcon ("salir2.jpg");
botonSalir = new JButton (" Salir", salir1);
botonSalir.setRolloverIcon(salir2);
contenedor.add(botonSalir);

// registrar manejadores de eventos
ManejadorBoton manejador = new ManejadorBoton();
botonComenzar.addActionListener(manejador);
botonManual.addActionListener(manejador);
botonSalir.addActionListener(manejador);

setSize (600, 200);
setVisible (true);
}


public static void main(String args[])
{
// TODO code application logic here
Main aplicacion = new Main();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

// Subprograma que inicia la operacion de pilas y colas
public void pilaColaIntroducir()
{
int max=10;
int pila[] = new int[max]; // Arreglo para la pila del estacionamiento
int cola[] = new int[max]; // Arreglo para la cola de la cola de espera
int sacadoPila[] = new int[max]; // Arreglo que suma las veces que un auto se mueve en la pila para permitir la salida de otro
int sacadoCola[] = new int[max]; // Arreglo que suma las veces que un auto se mueve en la cola para permitir la salida de otro
int tope = 0, topeCola = 0; // Contadores
int b = 0, opc; // Contadores del for
int dato; // Variable de tipo entero
String salida, opcion, dat; // Variables de tipo caracter

do
{
opc=0; // Variable de tipo entero de seleccion

salida = "\n\t\tESTACIONAMIENTO\t\t\n\nBienvenido(a) a la recepción del estacionamiento. ¿Que desea hacer?:\n\n"
+"1. (E) Entrar\n2. (S) Sacar\n3. Mostrar\n0. salir";
JTextArea areaSalida = new JTextArea(); // LLama al cuadro de texto del programa pila cola
areaSalida.setText(salida);
JOptionPane.showMessageDialog(null, areaSalida, "Estacionamiento", JOptionPane.INFORMATION_MESSAGE);
opcion = JOptionPane.showInputDialog ("Diganos el número de la opción de su preferencia");
opc = Integer.parseInt (opcion);

if ( opc == 1) // accion de la seleccion 1
{
if (tope == max)
{
if (topeCola == max)
JOptionPane.showMessageDialog(null, "El "Estacionamiento" y la "Cola De Espera" estan al máximo ¡Disculpe los inconvenientes!", "Aviso", JOptionPane.INFORMATION_MESSAGE);
else
{
dato=0;
dat = JOptionPane.showInputDialog ("Diganos el número de placa");
dato = Integer.parseInt (dat);
cola[topeCola]=dato;
topeCola++;
JOptionPane.showMessageDialog(null, "¡Estacionamiento lleno! A sido puesto en "Cola De Espera"", "Aviso", JOptionPane.INFORMATION_MESSAGE);
}
}
else
{
dato=0;
dat = JOptionPane.showInputDialog ("Diganos el número de placa");
dato = Integer.parseInt (dat);
pila[tope]=dato;
tope++;
}
}

if ( opc == 2) // Accion de la seleccion 2
{
if (tope == 0)
{
JOptionPane.showMessageDialog(null, "Estacionamiento Vacio", "Aviso", JOptionPane.INFORMATION_MESSAGE);
}
else
{
dato=0;
dat = JOptionPane.showInputDialog ("Diganos el número de placa");
dato = Integer.parseInt (dat);
for (int cont = 0; cont < pila.length; cont++)
if (pila[cont]==dato)
{
pila[cont] = 0;
tope--;
for (b = cont; b <= 8; b++)
sacadoPila[b + 1] += 1;
JOptionPane.showMessageDialog(null, "El auto con placa Nº" + dato + " ha sido retirado."
+ "\nEl número de veces movido para permitir la salida de otros fue: "
+ sacadoPila[cont], "Aviso", JOptionPane.INFORMATION_MESSAGE);
}
for (int cont = 0; cont < cola.length; cont++)
if (cola[cont]==dato)
{
cola[cont] = 0;
topeCola--;
for (b = cont; b <= 8; b++)
sacadoCola[b + 1] += 1;
JOptionPane.showMessageDialog(null, "El auto con placa Nº" + dato + " ha sido retirado."
+ "\nEl número de veces movido para permitir la salida de otros fue: "
+ sacadoCola[cont], "Aviso", JOptionPane.INFORMATION_MESSAGE);
}
}
}

if ( opc == 3) // accion de la seleccion 3
{
if (tope == 0)
{
JOptionPane.showMessageDialog(null, "Estacionamiento vacio", "Aviso", JOptionPane.INFORMATION_MESSAGE);
}
else if (topeCola!=0)
{
JOptionPane.showMessageDialog(null, "Mostrando el estacionamiento", "Aviso", JOptionPane.INFORMATION_MESSAGE);
salida = "\n\t\tMOSTRANDO ESTACIONAMIENTO\t\t\n\nEste es el estado del estacionamiento:\n\n"
+"1. El ultimo auto fue el: " + pila[tope - 1]
+"\n2. Ocupados: " + tope
+"\n3. Disponibles: " + (max - tope)
+"\n\nEste es el estado de la Cola de Espera:\n\n"
+"1. El ultimo auto fue el: " + cola[topeCola - 1]
+"\n2. Ocupados: " + topeCola
+"\n3. Disponibles: " + (max - topeCola);
JTextArea areaSalida2 = new JTextArea();
areaSalida2.setText(salida);
JOptionPane.showMessageDialog(null, areaSalida2, "Estacionamiento", JOptionPane.INFORMATION_MESSAGE);
}
else
{
JOptionPane.showMessageDialog(null, "Mostrando el estacionamiento", "Aviso", JOptionPane.INFORMATION_MESSAGE);
salida = "\n\t\tMOSTRANDO ESTACIONAMIENTO\t\t\n\nEste es el estado del estacionamiento:\n\n"
+"1. El ultimo auto fue el: " + pila[tope - 1]
+"\n2. Ocupados: " + tope
+"\n3. Disponibles: " + (max - tope)
+"\n\nEste es el estado de la Cola de Espera:\n\n"
+"1. El ultimo auto fue el: " + cola[topeCola]
+"\n2. Ocupados: " + topeCola
+"\n3. Disponibles: " + (max - topeCola);
JTextArea areaSalida2 = new JTextArea();
areaSalida2.setText(salida);
JOptionPane.showMessageDialog(null, areaSalida2, "Estacionamiento", JOptionPane.INFORMATION_MESSAGE);
}
}
} while(opc!=0); // accion de la seleccion 0

}

public void manual() // subprograma para el boton manual
{
String manual; // variable de tipo caracter para introducir el contenido de texto del manual
manual = "\t\tManual de Ayuda\t\t\n\n"
+"- Para comenzar a estacionar o sacar autos presione el botón "Comenzar"\n"
+"- Para documentarse sobre el uso del programa presione el botón "Manual"\n"
+"- Para Salir del programa completo puede hacer click al botón "Salir" o en la "X" roja\n\n"
+"Iniciando:\n\n"
+"- Al presionar el botón "Comenzar" se ejecutara el cuerpo del programa donde\n"
+" usted, luego de aceptar, introducira el numero de la opción de su preferecia\n"
+" ya sea 1, 2, 3 o 0 para entrar, sacar, mostrar o salir respectivamente\n"
+"- Si introduce el número "1" el programa le pedira el número de la placa del auto que desea introducir.\n"
+"- Si introduce el número "2" el programa le pedira el número de la placa del auto que desea retirar.\n"
+"- Si introduce el número "3" el programa le mostrara el estado del estacionamiento en tiempo real.\n"
+"- Si introduce el número "0" el programa cerrara la ejecución del cuerpo del programa y podrá presionar\n"
+" el mismo u otro botón si desea.\n"
+"\n\nNota: Si elige la opción "0" sin haber terminado de introducir todos los dato, perdera los datos que haya introducido previamente.";
JTextArea areaManual = new JTextArea(); // llama a un cuadro de texto para presentar el contenido de de la variable manual
areaManual.setText(manual); // guarda en el cuadro de texto el contenido de la varible manual
JOptionPane.showMessageDialog(null, areaManual, "Estacionamiento", JOptionPane.INFORMATION_MESSAGE); // muestra el cuadro de dialogo junto con el cuadro de texto del manual
}

// Clase interna privada para el manejo de eventos
private class ManejadorBoton implements ActionListener
{
public void actionPerformed(ActionEvent evento)
{
if (evento.getSource() == botonComenzar)
{
pilaColaIntroducir();
}
else if (evento.getSource() == botonManual)
{
manual();
}
else if (evento.getSource() == botonSalir)
System.exit(0);
} // Fin del método ActionPerformed
} // Fin de la clase interna privada ManejadorBoton
} // Fin de la clase Main
Volver arriba Ir abajo
Ver perfil de usuario http://nuestroroom.foros-phpbb.es
 
Proyecto final de Estructura de Datos
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

Permisos de este foro:No puedes responder a temas en este foro.
Nuestro Room :: Asignaturas :: Estructura de Datos I-
Cambiar a: