Vous êtes sur la page 1sur 5

package atps.etapa2; import java.util.

Scanner; public class SistemaHospedagem { Aluguel aluguel = null; int dia, mes, ano, hora; // Mtodo para criar o menu do usurio public void montarMenu(){ Scanner scan = new Scanner(System.in); float vDiaria; int opcao=0; System.out.print("Informe o valor da diria: "); vDiaria = scan.nextFloat(); Aluguel.setValorDiaria(vDiaria); while(opcao != 4){ System.out.println("==============Menu=============="); System.out.println("1- Registrar entrada em quarto"); System.out.println("2- Registrar sada do quarto"); System.out.println("3- Atualizar o valor da diria"); System.out.println("4- Sair"); System.out.println("Escolha uma opo do menu: "); opcao = scan.nextInt(); switch(opcao){ case 1: if(aluguel == null){ registrarEntrada(); }else{ System.out.println("Desculpe, o quarto est ocupado!!"); } break; case 2: if(aluguel != null){ registrarSaida(); }else{ System.out.println("O quarto no e st ocupado!!!"); } break; case 3: System.out.print("Informe o novo valor d a diria: "); vDiaria = scan.nextFloat(); Aluguel.setValorDiaria(vDiaria); System.out.printf("Valor da diria atualiz ada para: R$%.2f", vDiaria); break; case 4: opcao = 4; break; default: System.out.println("Opo invlida!!!\n\n"); } } System.out.println("FIM DO PROGRAMA"); }

/** * Registra a entrada do locatario no quarto */ public void registrarEntrada(){ Scanner scan = new Scanner(System.in); String nome = null; System.out.print("Informe o nome do locatrio: "); nome = scan.nextLine(); System.out.print("Informe a hora de entrada: "); hora = scan.nextInt(); System.out.print("Informe o dia de entrada: "); dia = scan.nextInt(); System.out.print("Informe o mes de entrada: "); mes = scan.nextInt(); System.out.print("Informe o ano de entrada: "); ano = scan.nextInt(); aluguel = new Aluguel(nome, dia, mes, ano, hora); System.out.println("Entrada registrada com sucesso!!!"); } /** * Registra a sada do locatario */ public void registrarSaida(){ Scanner scan = new Scanner(System.in); System.out.print("Informe a hora de sada: "); hora = scan.nextInt(); aluguel.setHoraSaida(hora); System.out.print("Informe o dia de sada: "); dia = scan.nextInt(); aluguel.setDiaSaida(dia); System.out.print("Informe o mes de sada: "); mes = scan.nextInt(); aluguel.setMesSaida(mes); System.out.print("Informe o ano de sada: "); ano = scan.nextInt(); aluguel.setAnoSaida(ano); aluguel.calcularNumeroDiarias(); aluguel.calcularValorPagamento(); System.out.println("Sada registrada com sucesso!!\n\n\n"); emitirRelatorio(); } /** * Mostra os dados de locao do quarto */ public void emitirRelatorio(){ System.out.println("====================Relatrio=================

===="); System.out.println("Locatrio: " + aluguel.getLocatario()); System.out.println("Data e horrio de entrada: " + aluguel.getDiaE ntrada() + "/" + aluguel.getMesEntrada() + "/" + aluguel.getAnoEn trada() + " " + aluguel.getHoraEntrada()); System.out.println("Data e horrio de sada: " + aluguel.getDiaSaida () + "/" + aluguel.getMesSaida() + "/" + aluguel.getAnoSaid a() + " " + aluguel.getHoraSaida()); System.out.println("Nmero de dirias: " + aluguel.getQtdeDiarias()) ; System.out.printf("Total devido: %.2f\n", aluguel.getValorPagame nto()); System.out.println("============================================ ======"); aluguel = null; } public static void main(String[] args) { SistemaHospedagem sistema = new SistemaHospedagem(); sistema.montarMenu(); } } package atps.etapa2; class Aluguel { private private private private private private private private private private private private String locatario; int diaEntrada; int mesEntrada; int anoEntrada; int horaEntrada; int diaSaida; int mesSaida; int anoSaida; int horaSaida; int qtdeDiarias; static double valorDiaria; double valorPagamento;

/** * Construtor que inicializa o valor dos atributos * @param locatario * @param diaEntrada * @param mesEntrada * @param anoEntrada * @param horaEntrada */ public Aluguel(String locatario, int diaEntrada, int mesEntrada, int anoEntrada, int horaEntrada) { super(); this.locatario = locatario; this.diaEntrada = diaEntrada; this.mesEntrada = mesEntrada; this.anoEntrada = anoEntrada; this.horaEntrada = horaEntrada; }

/** * Calcula a quantidade de dias de hospedagem */ public void calcularNumeroDiarias(){ int diarias = 0; if(anoEntrada < anoSaida){ int difm = (12 - mesEntrada) + mesSaida - 1; difm = (int) (difm * 30); int difd = (30 - diaEntrada) + diaSaida; diarias = difm + difd; }else if(anoEntrada == anoSaida){ if(mesEntrada == mesSaida){ diarias = diarias + (diaSaida - diaEntrada); }else if(mesEntrada < mesSaida){ diarias = diarias + ((mesSaida - mesEntrada - 1) * 30); diarias = diarias + diaSaida + (30 - diaEntrada) ; } } if(horaEntrada < 1200) diarias++; if(horaSaida > 1200) diarias++; qtdeDiarias = diarias; } /* * Calcula o valor a ser pago pela hospedagem */ public void calcularValorPagamento(){ setValorPagamento(getQtdeDiarias() * getValorDiaria()); } public String getLocatario() { return locatario; } public void setLocatario(String locatario) { this.locatario = locatario; } public int getDiaEntrada() { return diaEntrada; } public void setDiaEntrada(int diaEntrada) { this.diaEntrada = diaEntrada; } public int getMesEntrada() { return mesEntrada; } public void setMesEntrada(int mesEntrada) { this.mesEntrada = mesEntrada; } public int getAnoEntrada() { return anoEntrada; } public void setAnoEntrada(int anoEntrada) { this.anoEntrada = anoEntrada; } public int getHoraEntrada() {

return horaEntrada; } public void setHoraEntrada(int horaEntrada) { this.horaEntrada = horaEntrada; } public int getDiaSaida() { return diaSaida; } public void setDiaSaida(int diaSaida) { this.diaSaida = diaSaida; } public int getMesSaida() { return mesSaida; } public void setMesSaida(int mesSaida) { this.mesSaida = mesSaida; } public int getAnoSaida() { return anoSaida; } public void setAnoSaida(int anoSaida) { this.anoSaida = anoSaida; } public int getHoraSaida() { return horaSaida; } public void setHoraSaida(int horaSaida) { this.horaSaida = horaSaida; } public int getQtdeDiarias() { return qtdeDiarias; } public void setQtdeDiarias(int qtdeDiarias) { this.qtdeDiarias = qtdeDiarias; } public static double getValorDiaria() { return valorDiaria; } public static void setValorDiaria(double valorDiaria) { Aluguel.valorDiaria = valorDiaria; } public double getValorPagamento() { return valorPagamento; } public void setValorPagamento(double valorPagamento) { this.valorPagamento = valorPagamento; } }