Вы находитесь на странице: 1из 12

O documento que voc carregou foi removido devido qualidade ou problemas com direitos autorais.

. Para ver todos os 900000 documentos, por favor, carregue um novo documento.

Ol StainerSilva

Trabalhos e Monografias

Gerador de Citao

Mais

Pesquise 900.000 Trabalhos

Free analytics tag audit Trust your data with a review from a world class team of experts. LimaConsulting.com/FreeAudit Oferea PagSeguro APIs diversas e fcil integrao. Integre PagSeguro sua loja. pagseguro.uol.com.br Certificados Boa Vista e-CPF, e-CNPJ e Outros Certificados Digitais. Compre j e Evite Filas! BoaVistaServicos.com.br/Certificado Download de Livro Grtis Os Melhores Livros Esto no iba. Download Gratuito. Baixe e Leia! iba.com.br/Download_Livros_Gratis

Pgina Inicial

Atps Poo
Enviado por jmslip, marco 2013 | 8 Pginas (1943 Palavras) | 39 Consultas| | |

DESAFIO O Ministrio do Turismo tem incentivado os brasileiros a conhecer melhor o Brasil, exibindo imagens de cenrios de exuberante beleza. Um desses cenrios Mara BA, que uma regio peninsular, reduto de Mata Atlntica preservado. Mara possui piscinas naturais, recifes de coral, mares interiores, manguezais, cachoeiras, trilhas ecolgicas e diversas praias. Prevendo o aumento de turistas em Mara, e sendo uma cidade pequena, alguns moradores resolveram alugar os quartos vagos de suas residncias. Cada um desses moradores precisa de um sistema que possa controlar o aluguel dos quartos, no qual devem ser registrados os seguintes dados: nome do locatrio, data e horrio de entrada do hspede, data e horrio de sada do hspede, nmero de pessoas e valor da diria. As dirias iniciam e terminam sempre s 12h.

Os exemplos a seguir descrevem o nmero de dirias calculado a partir das datas e horrios de entrada e sada. Entrada: 12/07/2011 13h42min Sada: 15/07/2011 11h50min Nmero de dirias: 3 Entrada: 12/07/2011 17h00min Sada: 15/07/2011 16h50min Nmero de dirias: 4 Objetivo do Desafio Desenvolver um Sistema de Informao para controle de hospedagem. ETAPA 1 (tempo para realizao: 5 horas)

Atps Poo
Ver Todos

PASSOS

Passo 1 (Aluno) Ler atentamente os conceitos introdutrios a linguagem Java e definio de classes e objetos no livro texto da disciplina. Passo 2 (Equipe) Fazer uma classe para representar o aluguel de um quarto (dica: armazene as informaes de data e horrio de entrada e sada separadas, ou seja, um campo inteiro para o dia de entrada, um campo inteiro para o ms de entrada, um campo inteiro para o ano de entrada, um campo inteiro para o horrio de entrada etc.). Esta classe deve conter mtodos para calcular o nmero de dirias e o valor a ser pago pelo locatrio. Passo 3 (Equipe) Utilizar a classe desenvolvida no Passo 2 desta etapa e desenvolva um programa capaz de ler do teclado os dados de um aluguel do quarto e imprima o recibo com o seguinte formato: CST em Anlise e Desenvolvimento de Sistemas 4 Srie Programao Orientada a Objetos Cristiane Yae Mi Imamura Pg. 4 de 8 ======================================== Locatrio: Data e horrio de entrada: Data e horrio de sada: Nmero de dirias: Total devido: ========================================

AluguelQuarto.java

package backend;

import java.util.GregorianCalendar;

public class AluguelQuarto { //Atributos private String nome; private String dataStringEntrada, dataStringSaida; private String horaStringEntrada, horaStringSaida; private int horaEntrada, horaSaida, minEntrada, minSaida; private int diaEntrada, diaSaida, mesEntrada, mesSaida, anoEntrada, anoSaida; private int totalDias; private double valorDiaria; private GregorianCalendar dataEntrada = new GregorianCalendar(); private GregorianCalendar dataSaida = new GregorianCalendar();

//Contrutor da Classe public AluguelQuarto() {

/** * Mtodo de obteno do nome do locatrio * @return nome do locatrio */ public String getNome() { return nome; } //Fim getNome

/** * Mtodo de obteno da data de entrada no formato String * @return string data de entrada
Tw eetar

*/ public String getDataEntrada() { return dataStringEntrada; } //Fim getDataEntrada

/** * Mtodo de obteno da data de sada no formato String * @return string data de Saida */ public String getDataSaida() { return dataStringSaida; } //Fim getDataSaida

/** * Mtodo de obteno da hora de entrada no formato String * @return string hora de entrada */ public String getHoraEntrada() { return horaStringEntrada; } //Fim getHoraEntrada

/** * Mtodo de obteno da hora de sada no formato String * @return string hora de sada */ public String getHoraSaida() { return horaStringSaida; } //Fim getHoraSaida

/** * Mtodo de obteno de nmero de dirias * @return totalDiarias */ public int getNumDiarias() {

public int getNumDiarias() { return totalDias; } //Fim getNumDiarias

/** * Mtodo de obteno do total devido * @return valorDiaria */ public double getValorDiaria() { return valorDiaria; } //Fim getValorDiaria

/** * Este mtodo seta o valor do atributo nome * @param locatario no nulo e no vazio */ public void setNome(String locatario) { if(locatario != null && !locatario.trim().equals("")) nome = locatario; } //Fim setNome

/** * Este mtodo seta o valor do atributo dataStringEntrada e dataEntrada * 1- Atributo dataStringEntrada preenchido com a string data * 2- Converso em int e separao da data em dia, mes e ano * 3- Converso dos dados para o formato Calendar * @param data no nulo e no vazio * @return true ou false */ public boolean setDataEntrada(String data) { if(data != null && !data.trim().equals("")) { dataStringEntrada = data; diaEntrada = Integer.parseInt(data.trim().substring(0,2)); mesEntrada = Integer.parseInt(data.trim().substring(3,5)); anoEntrada = Integer.parseInt(data.trim().substring(6,10));

dataEntrada.set(GregorianCalendar.DATE, diaEntrada); dataEntrada.set(GregorianCalendar.MONTH, mesEntrada); dataEntrada.set(GregorianCalendar.YEAR, anoEntrada); dataEntrada.getTime(); return true; } else return false; } //Fim setDataEntrada

/** * Este mtodo seta o valor do atributo dataStringSaida e dataSaida * 1- Atributo dataStringSaida recebe string de data * 2- Converso em int e separao da data em dia, mes e ano

* 2- Converso em int e separao da data em dia, mes e ano * 3- Converso dos dados para o formato Calendar * @param data no nulo e no vazio * @return true || false * obs: Vlida se a data de sada menor que a data de entrada. */ public boolean setDataSaida(String data) { if(data != null && !data.trim().equals("")) { dataStringSaida = data; diaSaida = Integer.parseInt(data.trim().substring(0,2)); mesSaida = Integer.parseInt(data.trim().substring(3,5)); anoSaida = Integer.parseInt(data.trim().substring(6,10));

dataSaida.set(GregorianCalendar.DATE, diaSaida); dataSaida.set(GregorianCalendar.MONTH, mesSaida); dataSaida.set(GregorianCalendar.YEAR, anoSaida); dataSaida.getTime(); } else return false;

if (anoSaida < anoEntrada) { return false; } else if (mesSaida < mesEntrada) { return false; } else if (diaSaida < diaEntrada) { return false; } else return true; } //Fim setDataSaida

/** * Este mtodo seta o valor dos atributos horaStringEntrada, horaEntrada e minEntrada * 1- Atributo horaStringEntrada recebe string de hora * 2- Converso em int para preenchimento dos atributos horaEntrada e minEntrada * @param hora no nulo e no vazio * @return true || false */ public boolean setHoraEntrada(String hora) { if(hora != null && !hora.trim().equals("")) {

horaStringEntrada = hora;

horaEntrada = Integer.parseInt(hora.trim().substring(0,2)); minEntrada = Integer.parseInt(hora.trim().substring(3,5));

return true; } else return false; } //Fim setHoraEntrada

/** * Este mtodo seta o valor dos atributos horaStringSaida, horaSaida e minSaida * 1- Atributo horaStringSaida recebe string de hora * 2- Converso em int para preenchimento dos atributos horaSaida e minSaida * @param hora no nulo e no vazio * @return treu || false * Obs: Vlida se o horrio de sada digitado menor que horrio de entrada */ public boolean setHoraSaida(String hora) { if(hora != null && !hora.trim().equals("")) { horaStringSaida = hora;

horaSaida = Integer.parseInt(hora.trim().substring(0,2)); minSaida = Integer.parseInt(hora.trim().substring(3,5)); } else return false;

if (diaEntrada == diaSaida && mesEntrada == mesSaida && anoEntrada == anoSaida) { if (horaSaida < horaEntrada) return false; else if (horaSaida == horaEntrada && minSaida < minEntrada) return false; else return true; } else return true; } //Fim setHoraSaida

/** * Este mtodo calcula a quantidade de dias de hospedagem * 1- Verifica se hospedagem iniciou antes de 12h. Se sim, h1 recebe 1. * 2- Verifica se hospedagem finalizou depois de 12h. Se sim, h2 recebe 2. * 3- Converte dataEntrada e dataSaida em milissegundos

* 3- Converte dataEntrada e dataSaida em milissegundos * 4- Armazena o valor convertido da quantidade de dias de hospegagem em inteiro no atributo totalDias */ public void setNumDiarias() { int h1 = 0, h2 = 0; if(horaEntrada < 12) h1 = 1; if(horaSaida >= 12) h2 = 1;

long cIn = dataEntrada.getTimeInMillis(); long cOut = dataSaida.getTimeInMillis(); totalDias = (int) ((cOut - cIn) / (24*60*60*1000) + h1 + h2); } //Fim calcNumDiarias

/** * Mtodo para clculo da diria da hospedagem * this.valorDiaria recebe o resultado da multiplicao do totalDias e valorDiaria * @param valorDiaria definido pelo usurio */ public void setValorDiaria(double valorDiaria) { this.valorDiaria = (totalDias * valorDiaria); } //Fim setValorDiaria } //Fim Classe

Principal.java

package frontend;

import java.util.Scanner; import backend.AluguelQuarto;

public class Principal { public static void main(String[] args) { //Atributos int menu; int ocupado = 0; Scanner scan = new Scanner(System.in); AluguelQuarto objAluguel = new AluguelQuarto();

//Menu do { System.out.println("Bem-vindo ao sistema de hospedagem!"); System.out.println("==============================="); System.out.println("1- Check-in."); System.out.println("2- Check-out."); System.out.println("--"); System.out.println("0- Sair."); System.out.println("==============================="); System.out.print("Escolha uma opo: ");

System.out.print("Escolha uma opo: "); menu = scan.nextInt(); scan.nextLine(); //Limpa o buffer System.out.println(); //Quebra de linha

switch(menu) { case 1: if(ocupado == 0) { System.out.print("Nome do locatrio: "); objAluguel.setNome(scan.nextLine()); System.out.print("Data no formato \"dd/mm/yyyy\": "); if (objAluguel.setDataEntrada(scan.nextLine()) == false) { System.out.println("Erro! Data invlida!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; }//Fim if System.out.print("Horrio no formato \"hh:mm\": "); if (objAluguel.setHoraEntrada(scan.nextLine()) == false) { System.out.println("Erro! Horrio invlido!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim if ocupado = 1; System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim if else { System.out.println("Erro! Quarto ocupado!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim else case 2: if(ocupado == 1) { System.out.print("Data no formato \"dd/mm/yyyy\": "); if (objAluguel.setDataSaida(scan.nextLine()) == false) { System.out.println("Erro! Data invlida!"); System.out.print("Tecle ENTER para continuar...");

scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim if System.out.print("Horrio no formato \"hh:mm\": "); if (objAluguel.setHoraSaida(scan.nextLine()) == false) { System.out.println("Erro! Horrio invlido!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim if objAluguel.setNumDiarias(); System.out.print("Valor da diria: "); objAluguel.setValorDiaria(scan.nextDouble()); scan.nextLine(); //Limpa buffer System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha;

//Recibo System.out.println("============================================"); System.out.println("Locatrio: "+ objAluguel.getNome()); System.out.println("Data e horrio de entrada: "+ objAluguel.getDataEntrada() +" s "+ objAluguel.getHoraEntrada()); System.out.println("Data e horrio de sada: "+ objAluguel.getDataSaida() +" s "+ objAluguel.getHoraSaida()); System.out.println("Nmero de dirias: "+ objAluguel.getNumDiarias()); System.out.println("Total devido: R$ "+ objAluguel.getValorDiaria()); System.out.println("============================================"); ocupado = 0; System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim if else { System.out.println("Erro! Quarto desocupado!"); System.out.print("Tecle ENTER para continuar..."); scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; break; } //Fim else case 0: System.out.println("Saindo do aplicativo..."); break; default: System.out.println("Opo invlida! Favor escolher uma opo entre 0 e 2."); System.out.println("Tecle ENTER para continuar..."); scan.nextLine();

scan.nextLine(); System.out.println("\n\n\n\n\n\n\n\n\n"); //Quebra de linha; } //Fim switch }while(menu != 0); scan.close(); //Finaliza scan } //Fim main } //Fim Classe

Resultados:

Bem-vindo ao sistema de hospedagem! =============================== 1- Check-in. 2- Check-out. -0- Sair. =============================== Escolha uma opo: 1

Nome do locatrio: Fulano de tal Data no formato "dd/mm/yyyy": 20/03/2013 Horrio no formato "hh:mm": 11:35

Bem-vindo ao sistema de hospedagem! =============================== 1- Check-in. 2- Check-out. -0- Sair. =============================== Escolha uma opo: 2

Data no formato "dd/mm/yyyy": 25/03/2013 Horrio no formato "hh:mm": 18:20 Valor da diria: 60,00

============================================ Locatrio: Fulano de tal Data e horrio de entrada: 20/03/2013 s 11:35 Data e horrio de sada: 25/03/2013 s 18:20 Nmero de dirias: 7 Total devido: R$ 420.0 ============================================ Tecle ENTER para continuar...

Resultados Erros:

Bem-vindo ao sistema de hospedagem! =============================== 1- Check-in. 2- Check-out.

2- Check-out. -0- Sair. =============================== Escolha uma opo: 2

Erro! Quarto desocupado! Tecle ENTER para continuar...

Bem-vindo ao sistema de hospedagem! =============================== 1- Check-in. 2- Check-out. -0- Sair. =============================== Escolha uma opo: 5

Opo invlida! Favor escolher uma opo entre 0 e 2. Tecle ENTER para continuar...

Bem-vindo ao sistema de hospedagem! =============================== 1- Check-in. 2- Check-out. -0- Sair. =============================== Escolha uma opo: 1

Erro! Quarto ocupado! Tecle ENTER para continuar...

Visualizar como multi-pginas

Citar Este Trabalho


APA MLA MLA 7 CHICAGO

(2013, 03). Atps Poo. TrabalhosFeitos.com. Retirado 03, 2013, de http://www.trabalhosfeitos.com/ensaios/Atps-Poo/676255.html

Comentar...

Publicando como Stainer Silva (Trocar) Publicar no Facebook


P lug-in social do F acebook

Comentar

Compartilhe Sua Experincia

Nossos Produtos
Trabalhos e Monografias Gerador de Citao

Sobre Ns
Sobre Trabalhos Feitos Ajuda Contate-nos

Siga-nos
Facebook Twitter Google+ RSS

Envie Seus Trabalhos

2013 TrabalhosFeitos.com

Legal

Mapa do Site

Divulgar

Оценить