Programação Orientada A Objetos
Monografias: Programação Orientada A Objetos. Pesquise 862.000+ trabalhos acadêmicosPor: dmorais_cpd • 2/11/2013 • 3.204 Palavras (13 Páginas) • 298 Visualizações
INTRODUÇÃO
A finalidade deste trabalho é desenvolver um sistema de hospedagem para o gerenciamento de reservas de hóspedes; para tanto, utilizaremos a linguagem Java, fazendo uso da interface Eclipse. O grupo estudou as várias possibilidades de desenvolvimento e apresenta a solução, considerando todos os requisitos solicitados.
SANTA BÁRBARA D’OESTE 2013
5
ETAPA 1
2.1 Classe Menu /** * Modelagem da Classe Menu Principal * @authores André/Alan/Anselmo/Célio/Tania * @date 20/09/2013 */ import java.util.Scanner;
public class Menu {
public static void main (String args[]) { //Atributos int menu; int ocupado = 0; Scanner scan = new Scanner(System.in); //Instancia da classe Reserva Reserva objReserva = new Reserva();
//Exibindo o Menu do { System.out.println("Sistema de Hospedagem"); System.out.println("==============================="); System.out.println("1 - Registrar entrada em quarto"); System.out.println("2 - Registrar saída do quarto"); System.out.println("0 - Sair"); System.out.println("==============================="); System.out.print("Escolha uma opção: "); menu = scan.nextInt(); scan.nextLine(); System.out.println(); //Verificando a opção escolhida switch(menu) { //Registrar Entrada case 1: //Verifica se o quarto tem disponibilidade if(ocupado == 0) { System.out.print("Nome do hóspede: "); objReserva.setNome(scan.nextLine()); System.out.print("Data: "); if (objReserva.setDataEntrada(scan.nextLine()) == false) { System.out.println("Data inválida!!!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); break; } System.out.print("Horário: "); if (objReserva.setHoraEntrada(scan.nextLine()) == false)
6
{ System.out.println("Horário inválido!!!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); break; } ocupado = 1; System.out.println("\n\n\n\n\n\n\n\n\n"); break; } //Se não tiver disponível, exibe a mensagem else { System.out.println("Quarto indisponível!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); break; } //Registrar Saída case 2: //Verifica se o quarto está ocupado para efetuar a saída if(ocupado == 1) { System.out.print("Data: "); if (objReserva.setDataSaida(scan.nextLine()) == false) { System.out.println("Data inválida!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); break; } System.out.print("Horário: "); if (objReserva.setHoraSaida(scan.nextLine()) == false) { System.out.println("Horário inválido!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); break; } objReserva.setNumDiarias(); System.out.println("============================================"); System.out.println("Locatário: "+ objReserva.getNome()); System.out.println("Data e horário de entrada: "+ objReserva.getDataEntrada() +" às "+ objReserva.getHoraEntrada()); System.out.println("Data e horário de saída: "+ objReserva.getDataSaida() +" às "+ objReserva.getHoraSaida()); System.out.println("Número de diárias: "+ objReserva.getNumDiarias()); System.out.println("============================================"); ocupado = 0; System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); } //Se não tiver ocupado, exibe a mensagem else { System.out.println("Quarto desocupado!");
7
System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); break; }
//Opção para a saída do sistema case 0: System.out.println("Agradecemos a preferência!"); break; default: System.out.println("Opção inválida! Favor escolher uma opção válida"); System.out.println("Tecle ENTER para continuar..."); scan.nextLine(); } } //Se o usuário digitar 0, o sistema é encerrado while(menu != 0); scan.close(); } }
2.2 Classe Reserva
/** * Modelagem da Classe Reserva * @authores André/Alan/Anselmo/Célio/Tania * @date 20/09/2013 */
//referencia à biblioteca GregorianCalendar para o tratamento das datas import java.util.GregorianCalendar;
public class Reserva { //Atributos private String nome; private GregorianCalendar dtEntrada = new GregorianCalendar(); private GregorianCalendar dtSaida = new GregorianCalendar();
private String dataEntrada, dataSaida; private int diaEntrada, diaSaida, mesEntrada, mesSaida, anoEntrada, anoSaida;
private String horaEntrada, horaSaida; private int timeEntrada, timeSaida, minEntrada, minSaida;
private int qtdeDiarias; private double valorDiaria;
//Métodos Setters/Getters public String getNome() { return nome; }
public String getDataEntrada() { return dataEntrada; }
8
public String getDataSaida() { return dataSaida; }
public String getHoraEntrada() { return horaEntrada; }
public String getHoraSaida() { return horaSaida; }
public int getNumDiarias() { return qtdeDiarias; }
public double getValorDiaria() { return valorDiaria; }
public double getTotalReceber() { return this.valorDiaria * this.qtdeDiarias; }
public void setNome(String locatario) { //Valida o valor do parametro locatario (nulo ou em branco) if(locatario != null && !locatario.trim().equals("")) nome = locatario; }
public boolean setDataEntrada(String data) { //Valida o parametro
...