Anda di halaman 1dari 6

import java.util.

*;
//import java.io.*;
public class Proyecto{
static Vector <cliente> clientes = new Vector();
static Vector <estancia> vecDatos= new Vector();
static Hashtable <String,habitacion> habitaciones = new
Hashtable<String,habitacion>();

public static void main(String[]args){

//Menu Principal Proyecto HOTEL

metodo menu= new metodo();


int opcion =0;
do{
System.out.print("\nMENU PRINCIPAL [ Hotel Una Cana al
Aire ]\n\n1.- Alta a cliente con membresia\n2.- Alta de habitaciones \n3.-
Asignacion de habitacion\n4.- Incrementar saldo en alimentos \n5.- Pagar cuenta
del Hotel\n6.- Reporte de Habitaciones\n7.- Reporte de memebresias\n0.-
Salir\n\nTeclee la Opcion del Menu : ");
opcion = Keyboard.readInt();
switch(opcion){
case 1 :
menu.agregaCliente();
break;
case 2 :
menu.altaHabitaciones(habitaciones);
break;
case 3 :
menu.asigHabitacion(habitaciones,vecDatos);
break;
case 4:
menu.saldoAlimentos(habitaciones,vecDatos);
break;
case 5 :

menu.pagarCuenta(habitaciones,vecDatos,clientes);
break;
case 6 :
menu.repHabitaciones(habitaciones);
break;
case 7 :
menu.repMembresia(clientes);
break;
default :
System.out.println("Opcion incorrecta");
}
}while(opcion!=0);
}
}

import java.util.*;
public class metodo{

//Dar de Alta las Habitaciones


public void altaHabitaciones(Hashtable h){
habitacion habi = new habitacion();
System.out.print("Ingresa no. de habitacion: ");
String llave = Keyboard.readString();

if(!h.containsKey(llave)){

System.out.print("Ingresa descripcion: ");


habi.setDescripcion(Keyboard.readString());
System.out.print("\tIngresa Tipo \n1.- Vista al mar \n2.- Vista al jardin \n3.-
Standard:\nOpcion:");
int type = Keyboard.readInt();
if(type==1){
habi.setTipo("Vista al mar");
}else{
if(type==2){
habi.setTipo("Vista al jardin");
}else{
habi.setTipo("Standard");
}
}
System.out.print("Ingresa el numero de camas: ");
habi.setNocama(Keyboard.readInt());
System.out.print("Ingresa el costo de la habitacion: ");
habi.setCostodia(Keyboard.readDouble());
habi.setStatus(false);
h.put(llave,habi);
}
System.out.println("Habitacion Agregada.\n");
}

//Reportes de las Habitaciones Ocupadas,Desocupadas


public void repHabitaciones(Hashtable<String,habitacion> h){
String llave;
System.out.println("Que habitaciones desea ver:\n1.- Ocupadas\n2.-
Desocupadas");
System.out.println("Teclee la Opcion :");
int opcion=Keyboard.readInt();
Enumeration<String>busqueda=h.keys();
Enumeration<String>busqueda2=h.keys();

switch(opcion){
case 1:
if(opcion==1)
while(busqueda.hasMoreElements()){
llave=busqueda.nextElement();
habitacion hab=(habitacion)h.get(llave);
if(hab.getStatus()==true)
System.out.println("Habitacion
Ocupada:"+llave+"\n");
break;
}
case 2:
while(busqueda2.hasMoreElements()){
llave=busqueda2.nextElement();
habitacion hab=(habitacion)h.get(llave);
if(hab.getStatus()==false)
System.out.println("Habitacion
Desocupada:"+llave+"\n");
break;
}
default:
System.out.println("La opcion escogida es incorrecta");

}
}

//Reportes de los Clientes con Membresias


public void repMembresia(Vector <cliente> v){
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
System.out.println("Los clientes con Memebesia son: \n");
System.out.println(e.nextElement());
}

//Dar de Alta a Clientes con Membrecias


public void agregaCliente(){
cliente obj = new cliente();
System.out.print(" Ingresa el nombre del nuevo cliente: ");
obj.setNombre(Keyboard.readString());
System.out.print(" Ingresa la direccion: ");
obj.setDomicilio(Keyboard.readString());
System.out.print(" Ingresa la ciudad: ");
obj.setCiudad(Keyboard.readString());
System.out.print(" Ingresa el telefono del cliente: ");
obj.setTel(Keyboard.readString());
Proyecto.clientes.addElement(obj);
}

//Asignacion de las Habitaciomes


public void asigHabitacion(Hashtable<String,habitacion> h,Vector<estancia> v){
System.out.print("Ingresa la habitacion: ");
String nohabita = Keyboard.readString();
if(h.containsKey(nohabita)){
habitacion x = h.get(nohabita);
if(!x.getStatus()){
System.out.print("Dame nombre: ");
v.addElement(new
estancia(Keyboard.readString(),Integer.parseInt(nohabita),0,0));
x.setStatus(true);;
System.out.println("La Habitacion Fue Asignada Con
Exito\1");
}else{
System.out.println("Hey!!, Esa Habitacion YA Esta Ocupada");
}
}else{
System.out.println("La habitacion no existe!, Verifique la
Habitacion\n");
}
}

//Agregar el Saldo de los Alimentos


public void saldoAlimentos(Hashtable<String,habitacion> h,Vector<estancia>v){
System.out.println("Proporcione el numero de habitacion:");
int llave=Keyboard.readInt();
if(h.containsKey(String.valueOf(llave))){
for(int i=0;i<v.size();i++){
if(v.elementAt(i).getNohabita() == llave){
System.out.println("Proporcione el monto a acumular
por alimentos:");

v.elementAt(i).setSaldoalimen(Keyboard.readDouble());
System.out.println("El saldo en alimentos ha sido
acumulado exitosamente en la habitacion "+llave+"\n");
break;
}
}
}else{
System.out.println("La habitacion aun no se ha agrregado\n");
}
}

//Pagar Cuenta Total de los Clientes


public void pagarCuenta(Hashtable<String,habitacion>
h,Vector<estancia>v,Vector<cliente>vx){
System.out.println("Proporcione el nombre del cliente 1.: ");
String nombre=Keyboard.readString();
//for(int i = 0){

for(int i=0;i<v.size();i++){
if(v.elementAt(i).getNombre().equals(nombre)){
System.out.print("Cuantos dias se hospedo: ");
int diash=Keyboard.readInt();
habitacion hx =
h.get(String.valueOf(v.elementAt(i).getNohabita()));
double costo = hx.getCostodia();
double total=diash*costo;
System.out.println("Cuenta con memebresia para el 40%
desc? s/n");
if("s".equals("s")){
total=total*0.4;
System.out.println("Descuento afectuado");
}
if("n".equals("n")){
System.out.println("Descuento no afectuado");
}

System.out.print("\nDias hospedados: "+diash);


System.out.print("\nCosto habitacion: "+costo);
System.out.print("\nSaldo en alimentos:
"+v.elementAt(i).getSaldoalimen());
System.out.print("\nTotal a Pagar:
"+total+v.elementAt(i).getSaldoalimen()+"\n");
boolean status=false;
}
}
}
}
public class habitacion{
private String descripcion,tipo;
private int nocama;
private double costodia;
private boolean status=false;

//Constructores
public habitacion(String descrip, String tipo, int nocama, double costodia, boolean
stat){
this.descripcion=descrip;
this.tipo=tipo;
this.nocama=nocama;
this.costodia=costodia;
this.status=stat;
}
public habitacion(){
;
}
//Metodos set y get para cada atributo private
public void setDescripcion(String descrip){
this.descripcion=descrip;
}
public String getDescripcion(){
return descripcion;
}

public void setTipo(String tipo){


this.tipo=tipo;
}
public String getTipo(){
return tipo;
}

public void setNocama(int nocama){


this.nocama=nocama;
}
public int getNocama(){
return nocama;
}

public void setCostodia(double costodia){


this.costodia=costodia;
}
public double getCostodia(){
return costodia;
}

public void setStatus(boolean stat){


this.status=stat;

}
public boolean getStatus(){
if(status==true){
System.out.println("Habitacion ocupada");
}
return status;
}

//Metodo toString para una impresion global de datos en pantalla


public String toString(){
return "Descripcion: \n"+ descripcion + "\n Tipo: "+ tipo+ "\nNumero de
camas: "+ nocama + "\nCosto por dia: " + costodia+"\nEstado de la habitacion: " +status ;
}
}
public class cliente{
private String nombre,domicilio,ciudad,tel;

//Constructores
public cliente(String nom,String dom,String cd,String tel){
this.nombre=nom;
this.domicilio=dom;
this.ciudad=cd;
this.tel=tel;
}
public cliente(){
;
}

//Metodos set y get para cada atributo private


public void setNombre(String nom){
this.nombre=nom;
}
public String getNombre(){
return nombre;
}

public void setDomicilio(String dom){


this.domicilio=dom;
}
public String getDomicilio(){
return domicilio;
}

public void setCiudad(String cd){


this.ciudad=cd;
}
public String getCiudad(){
return ciudad;
}

public void setTel(String tel){


this.tel=tel;
}
public String getTel(){
return tel;
}

//Metodo toString para una impresion global de datos en pantalla


public String toString(){
return "Nombre: "+ nombre + "\nDomicilio: "+ domicilio + "\nCiudad: "+
ciudad + "\nTelefono: " + tel;
}
}