public Nodo quitar(int n)

b=1; } p=p.getPs(); } if(b==0){. System.out.println("la habitacion no existe"); }. System.out.println("Continuar s/n?"); op = entrada.next().charAt(0); } } ...
149KB Größe 14 Downloads 64 vistas
LISTAS Practico Nº 3 Ejercicio 5Año 2012 Resolución con Lista Circular Doble

public class Nodo { private int numHab; private int tipoHab; private int doc; private String nom; private String apel; private int cantPers; private Nodo ps; private Nodo pa; public Nodo(int num, int tipo, int docu,String nom, String ape, int CP) { this.numHab = num; this.tipoHab = tipo; this.doc = docu; this.nom = nom; this.apel = ape; this.cantPers= CP; this.ps = null; this.pa = null; } // agregar los metodos get ()y set()

public class ListaCDE { private Nodo list; public ListaCDE() { Nodo x = new Nodo(0, 0, 0, "", "", 0); x.setPs(x); x.setPa(x); list = x;} public void insertar(int numero, int tipoH,Nodo p) { Nodo x = new Nodo(numero, tipoH, 0, " ", " ", 0); (p.getPa()).setPs(x); x.setPa(p.getPa()); x.setPs(p); p.setPa(x); list.setNumHab(list.getNumHab() + 1); }

public Nodo quitar(int n) { Nodo x = null; boolean b = false; Nodo p = list.getPs(); while (p != list && !b) { if (p.getNumHab()==n) { b = true; } else { p = p.getPs(); }} if (b == true) { x = p; (p.getPa()).setPs(p.getPs()); (p.getPs()).setPa(p.getPa()); list.setNumHab(list.getNumHab() - 1); } return x; }

import java.util.*; public class ListaCDEApp { ListaCDE miHotel = new ListaCDE(); Scanner entrada = new Scanner(System.in); public void crearHotel() { char op = 's'; while (op != 'n') { System.out.print("Ingrese el Numero de Habitación: "); int numHab = entrada.nextInt(); System.out.print("Ingrese el Tipo de Habitación: "); int tipoHab = entrada.nextInt(); InsertarOrde(numHab, tipoHab); System.out.println("Continuar s/n?"); op = entrada.next().charAt(0); } }

public void altaCliente() { Nodo p = miHotel.getList().getPs(); char op = 's'; while (op != 'n') { System.out.print("Ingrese el numero de la habitación que se ocupa: "); int numHab = entrada.nextInt(); int b=0; while((p!=miHotel.getList()) && (b==0)){ if ((p.getNumHab()==numHab) && (p.getCantPers()==0)) { System.out.print("Ingrese el Nombre del Cliente: "); String nombre = entrada.next(); System.out.print("Ingrese el Apellido del Cliente: "); String apellido = entrada.next(); System.out.print("Ingrese el Documento del Cliente: "); int dni = Integer.parseInt(entrada.next()); System.out.print("Ingrese la cantidad de personas que se hospedarán: "); int cantPersonas = Integer.parseInt(entrada.next()); p.setNom(nombre); p.setApel(apellido); p.setDoc(dni); p.setCantPers(cantPersonas); b=1; } p=p.getPs(); } if(b==0){ System.out.println("la habitacion no existe"); } System.out.println("Continuar s/n?"); op = entrada.next().charAt(0); } }

public void InsertarOrde(int n, int t){ Nodo p=miHotel.getList(); p=p.getPs(); int b=0; while ((p!=miHotel.getList())&& (b==0)) { if( n==p.getNumHab()){ System.out.println("la habitación ya existe"); b=1; } else { if(p.getNumHab()>n){ miHotel.insertar(n,t,p); b=1; } else { p=p.getPs(); } } }

if(b==0){ miHotel.insertar(n, t, p); } }

Agregue los métodos: bajaCliente() consultaCliente() menu() para completar el ejercicio.