Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACION II - Ivan Oviedo - Jose Macea
PROGRAMACION II - Ivan Oviedo - Jose Macea
(TALLER II)
UNIVERSIDAD DE CORDOBA
SAHAGUN
2019
CLASE ATENCION
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package taller_iii.Clases;
import javax.swing.JOptionPane;
/**
*
* @author banchox
*/
public class Atencion {
static final int totalPacientes = 20; //cantidad total de clientes quye se puede recivir
(modificable)
private int cantidadClientes; //Atributo para contar los nodos agregados a la cola.
private Cliente frente; //Apuntador que devuelve el nodo del frente de la cola.
private Cliente finalCola; //Apuntador que devuelve el nodo del final de la cola.
}
//Método para agregar un dato en el campo de información, de un nuevo nodo.
public void agregar(Cliente dato, int id){
if (! colaLLena()){ //Si la cola no está llena, se pueden agregar nodos.
if(id==1){
llenar(dato); //Se asigna la información al respectivo atributo.
}
if (getFrente() == null){ //Esta condición es para cuando se agrega el primer nodo de la
cola.
frente = dato;
}else{
getFinal().setSiguiente(dato); //Si hay nodos en la cola, el ultimo nodo apuntara al
nuevo.
}
finalCola = dato;
cantidadClientes = cantidadClientes + 1; //El contador de nodos se incrementa en uno.
}else{
JOptionPane.showMessageDialog(null, "NO se puede agregar mas Clientes a esta
especialidad");
}
public int contador(int dia, int mes, int anno, String tipo){
int contador = 0;
Cliente temp = frente;
while(temp != null){
if(temp.getDia()==dia && temp.getMes() == mes && temp.getAnno() == anno &&
temp.getTipo().equals(tipo)){
contador++;
}
temp = temp.getSiguiente();
}
return contador;
}
}
CLASE CLIENTE
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package taller_iii.Clases;
/**
*
* @author banchox
*/
public class Cliente {
private String nombre;
private String placa;
private Cliente siguiente;
private String tipo;
private String mecanico;
private int dia;
private int mes;
private int anno;
public Cliente(String nombre, String placa, String tipo, Cliente siguiente,String mecanico, int
dia,int mes,int anno) {
this.nombre = nombre;
this.placa = placa;
this.tipo = tipo;
this.dia = dia;
this.mes = mes;
this.anno = anno;
this.mecanico = mecanico;
this.siguiente = siguiente;
}
public Cliente(){
this.nombre = "";
this.placa = "";
this.tipo = "";
this.mecanico = "";
this.siguiente = null;
}
public Cliente(String nombre, String placa, String tipo,String mecanico, int dia,int mes,int anno){
this.nombre = nombre;
this.placa = placa;
this.tipo = tipo;
this.mecanico = mecanico;
this.dia = dia;
this.mes = mes;
this.anno = anno;
}
CLASE MAIN
To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package taller_iii;
import taller_iii.Clases.Atencion;
import javax.swing.JOptionPane;
import taller_iii.Clases.Cliente;
/**
*
* @author banchox
*/
public class Taller_II {
if (n ==1) {
while (! c.colaVacia()){ //Mientras la cola no este vacía se muestran sus datos.
if(c.valorFrente().getTipo().equals(dato)){
verDatosCola = verDatosCola+String.valueOf("NOMBRE :
"+c.valorFrente().getNombre()+"\n"
+"PLACA : "+c.valorFrente().getPlaca()+"\n"
+"TIPO: "+c.getFrente().getTipo()+"\n\n\n");
}
temp.agregar(c.valorFrente(),0); //Se agrega el elemento del frente a una cola temporal.
c.quitar(); //Luego se quita el elemento del frente de la cola actual.
}
JOptionPane.showMessageDialog(null, " GENERAL "+"\n"+verDatosCola+"\n");
while (! temp.colaVacia()){ //Se pasan los datos a la cola temporal a la original.
c.agregar(temp.valorFrente(),0);
temp.quitar();
}
} else {
while (! c.colaVacia()){ //Mientras la cola no este vacía se muestran sus datos.
verDatosCola = verDatosCola+String.valueOf("NOMBRE :
"+c.valorFrente().getNombre()+"\n"
+"PLACA : "+c.valorFrente().getPlaca()+"\n"
+"TIPO: "+c.getFrente().getTipo()+"\n\n\n");
temp.agregar(c.valorFrente(),0); //Se agrega el elemento del frente a una cola temporal.
c.quitar(); //Luego se quita el elemento del frente de la cola actual.
}
JOptionPane.showMessageDialog(null, " GENERAL "+"\n"+verDatosCola+"\n");
while (! temp.colaVacia()){ //Se pasan los datos a la cola temporal a la original.
c.agregar(temp.valorFrente(),0);
temp.quitar();
}
}
case 1:
c = new Cliente();
atencion.agregar(c,1);
break;
case 2:
atencion.quitar();
numeroVectorAtencion ++;
}else{
JOptionPane.showMessageDialog(null, " AVISO "+"\n\n"+"El registro está vacío, No
pueden quitar Pacientes \n\n");
}
}else{
break;
}
break;
case 3:
JOptionPane.showMessageDialog(null, " Lista completa");
mostrarCola(atencion,0,"");
break;
case 4:
String datosVector = "";
for(int i=0 ; i<=numeroVectorAtencion-1; i++){
datosVector = datosVector+String.valueOf("NOMBRE :
"+arrayObjetos[i].getNombre()+"\n"+"PLACA : "+arrayObjetos[i].getPlaca()+"\n"
+"TIPO : "+arrayObjetos[i].getTipo()+"\n"+"MECANICO :
"+arrayObjetos[i].getMecanico()
+"FECHA : "+"/"+"\n\n");
}
case 5:
int n =Integer.parseInt(JOptionPane.showInputDialog("orden de atencion : \n"+"1.
vehiculos \n"+"2. camionetas o camiones \n"));
if (n ==1) {
mostrarCola(atencion,1,"Automovil");
}else{
if (n==2) {
mostrarCola(atencion,1,"Camion");
}
}
break;
case 6:
int contAutos = 0;
int contCamion = 0;
String ganador;
int dia = Integer.parseInt(JOptionPane.showInputDialog("Ingrese dia "));
int mes = Integer.parseInt(JOptionPane.showInputDialog("Ingrese mes "));
int anno = Integer.parseInt(JOptionPane.showInputDialog("Ingrese anno "));
for (int i = 0; i < numeroVectorAtencion; i++) {
System.out.println(":D");
if (arrayObjetos[i].getDia()==dia && arrayObjetos[i].getMes() == mes &&
arrayObjetos[i].getAnno() == anno && arrayObjetos[i].getTipo().equals("Automovil")) {
contAutos++;
}
if (arrayObjetos[i].getDia()==dia && arrayObjetos[i].getMes() == mes &&
arrayObjetos[i].getAnno() == anno && arrayObjetos[i].getTipo().equals("Camion")) {
contCamion++;
}
}
if (contAutos>contCamion) {
ganador ="Automovil : "+contAutos;
}else{
ganador ="Camion : "+contCamion;
}
break;
case 7:
break;
} while (opcion!=7);
}