ATPS JAVA
Por: brunoslino123 • 1/6/2015 • Trabalho acadêmico • 762 Palavras (4 Páginas) • 439 Visualizações
[pic 1]
Campus Vila Mariana
ATPS Programação Orientada a Objetos
Sistemas de Informação – 4º Semestre
São Paulo - 2013
import java.util.Scanner;
public class SistemaHospedagem {
Aluguel aluguel = null;
int d, m, a, h;
/**
* Método para criar o 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- Atualizar o valor da diária");
System.out.println("4- 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:
System.out.print("Informe o novo valor da diária: ");
vDiaria = scan.nextFloat();
Aluguel.setValorDiaria(vDiaria);
System.out.printf("Valor da diária atualizada para: R$%.2f", vDiaria);
break;
case 4:
opcao = 4;
break;
default:
System.out.println("Opção inválida!!!\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 locatário: ");
nome = scan.nextLine();
System.out.print("Informe a hora de entrada: ");
h = scan.nextInt();
System.out.print("Informe o dia de entrada: ");
d = scan.nextInt();
System.out.print("Informe o mes de entrada: ");
m = scan.nextInt();
System.out.print("Informe o ano de entrada: ");
a = scan.nextInt();
aluguel = new Aluguel(nome, d, m, a, h);
System.out.println("Entrada registrada com sucesso!!!");
}
/**
* Registra a saída do locatario
*/
public void registrarSaida(){
Scanner scan = new Scanner(System.in);
System.out.print("Informe a hora de saída: ");
h = scan.nextInt();
aluguel.setHoraSaida(h);
System.out.print("Informe o dia de saída: ");
d = scan.nextInt();
aluguel.setDiaSaida(d);
System.out.print("Informe o mes de saída: ");
m = scan.nextInt();
aluguel.setMesSaida(m);
System.out.print("Informe o ano de saída: ");
a = scan.nextInt();
aluguel.setAnoSaida(a);
aluguel.calcularNumeroDiarias();
aluguel.calcularValorPagamento();
System.out.println("Saída registrada com sucesso!!\n\n\n");
emitirRelatorio();
}
/**
* Mostra os dados de locação do 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) {
SistemaHospedagem sistema = new SistemaHospedagem();
sistema.montarMenu();
}
}
package atps.etapa2;
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 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;
}
...