Você está na página 1de 6

FACULDADE ANHANGUERA DE BELO HORIZONTE

SISTEMAS DE INFORMAÇÃO
DESENVOLVIMENTO DE SOFTWARE SEGURO

ATPS
1° ETAPA

Aluno: Rodrigo Ogando 4200053278

Série: 4º Período

PROF:

DATA DE ENTREGA: 23/09/2013

BELO HORIZONTE
2013/2
package anhanguera.edu.atps;
import java.util.Scanner;
public class Hotel {
Aluguel aluguel = null;
int dia, mes, ano, hora;
/**
* Criação do menu do usuário
*/
public void montarMenu(){
Scanner scan = new Scanner(System.in);
float vDiaria;
int opcao=0;

System.out.print("Informe o valor da diária: ");


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 saída do quarto");
System.out.println("3- Sair");
System.out.println("Escolha uma opção 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 não está
ocupado!!!");
}
break;
case 3:
opcao = 3;
break;
default:
System.out.println("Opção inválida!!!\n\n");
}
}
System.out.println("FIM DO PROGRAMA");
}

/**
* Registrar a entrada do hospede no quarto
*/
public void registrarEntrada(){
Scanner scan = new Scanner(System.in);
String nome = null;
System.out.print("Informe o nome do locatário: ");
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 realizada com sucesso!");
}

/**
* Registra a saída do hospede do quarto
*/
public void registrarSaida(){
Scanner scan = new Scanner(System.in);
System.out.print("Informe a hora de saída: ");
hora = scan.nextInt();
aluguel.setHoraSaida(hora);

System.out.print("Informe o dia de saída: ");


dia = scan.nextInt();
aluguel.setDiaSaida(dia);
System.out.print("Informe o mes de saída: ");
mes = scan.nextInt();
aluguel.setMesSaida(mes);
System.out.print("Informe o ano de saída: ");
ano = scan.nextInt();
aluguel.setAnoSaida(ano);
aluguel.calcularNumeroDiarias();
aluguel.calcularValorPagamento();
System.out.println("Saída registrada com sucesso!!\n\n\n");
emitirRelatorio();
}

/**
* Mostra o relatório de entrada no quarto
*/
public void emitirRelatorio(){
System.out.println(" Relatório ");
System.out.println("Locatário: " + aluguel.getLocatario());
System.out.println("Data e horário de entrada: " + aluguel.getDiaEntrada() + "/"
+
aluguel.getMesEntrada() + "/" + aluguel.getAnoEntrada() + " " +
aluguel.getHoraEntrada());
System.out.println("Data e horário de saída: " + aluguel.getDiaSaida() + "/" +
aluguel.getMesSaida() + "/" + aluguel.getAnoSaida() + " " +
aluguel.getHoraSaida());
System.out.println("Número de diárias: " + aluguel.getQtdeDiarias());
System.out.printf("Total devido: %.2f\n", aluguel.getValorPagamento());

System.out.println("==================================================");
aluguel = null;
}
public static void main(String[] args) {
Teste sistema = new Teste();
sistema.montarMenu();
}

}
class Aluguel {
private String locatario;
private int diaEntrada;
private int mesEntrada;
private int anoEntrada;
private int horaEntrada;
private int diaSaida;
private int mesSaida;
private int anoSaida;
private int horaSaida;
private int qtdeDiarias;
private static double valorDiaria;
private double valorPagamento;
/**
* Construtor para inicializar 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;
}
/**
* Função para calcular 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;
}
/*
* Calculo do valor da 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;
}