You are on page 1of 56

ATPS Java

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/2012 13h42min
Sada: 15/07/2012 11h50min
Nmero de dirias: 3

Entrada: 12/07/2012 17h00min
Sada: 15/07/2012 16h50min
Nmero de dirias: 4

Objetivo do Desafio
Desenvolver um Sistema de Informao para controle de hospedagem.

-----------------------------------------------------------------------xx-------------------------------------------------------------------
ETAPA1 - Passo 1 (Individual)
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:





=====================================x
Locatrio:
Data e horrio de entrada:
Data e horrio de sada:
Nmero de dirias:
Total devido:
=====================================x

Passo 4 (Equipe)

Elaborar para o relatrio final que ser postado para avaliao. Um documento contendo o nome de Relatrio 1 com exemplo de entrada e sada de
dados e o cdigo fonte comentado do programa, ou seja, os arquivos com extenso java que se referem s classes desenvolvidas no Passo 2 e no Passo 3.


------------------------------------------------------------------------------xx-----------------------------------------------------------------------------------------






ETAPA 2
Passo 1 (Equipe)
Ler o texto e fazer as atividades a seguir.

Como as hospitalidades e quartos oferecidos aos turistas tm o mesmo padro, os moradores decidiram estabelecer o mesmo valor de diria. Sabendo-se
disso, modifiquem o programa da etapa anterior para que o atributo referente ao valor da diria seja compartilhado entre todas as instncias da classe que
representa o aluguel de um quarto.
A sua classe deve conter um mtodo que permita alterar o valor da diria. Alm disso, encapsular os atributos e desenvolvam o mtodo apropriado para
inicializar os valores dos mesmos quando uma instncia da classe for criada.

Passo 2 (Equipe)
Utilizar a classe modificada no Passo 1 desta etapa e faam um programa que leia primeiramente o valor de diria estabelecido por todos os moradores.
Aps isso, o programa deve oferecer um menu com as seguintes opes:
================================x
1. Registrar entrada em quarto.
2. Registrar sada do quarto.
3. Atualizar o valor da diria.
4. Sair.
================================x





A opo 1 deve ler do teclado o nome do locatrio, a data e horrio de entrada. Caso o quarto j esteja ocupado, o sistema deve apresentar um erro
e retornar para o menu sem efetuar qualquer mudana.

A opo 2 deve ler do teclado o horrio de sada e imprimir o recibo com o mesmo formato solicitado na etapa anterior. Caso o quarto no esteja
ocupado, o sistema deve apresentar um erro e retornar para o menu sem efetuar qualquer mudana.

A opo 3 deve ler o novo valor de diria estabelecido pelos moradores. O valor deve ser maior que zero.

As opes 1, 2 e 3 podem ser realizadas diversas vezes at que a opo 0 seja selecionada e encerre a execuo do programa.

Passo 3 (Equipe)
Elaborar para o relatrio final que ser postado para avaliao. Um documento contendo o nome de Relatrio 2 com exemplo de entrada e sada de dados e
o cdigo fonte comentado do programa, ou seja, os arquivos com extenso java e os respectivos bytecodes (com extenso class) que se referem s classes
desenvolvidas no Passo 1 e no Passo 2.

ETAPA 3
Esta atividade importante para que voc compreenda como pode ser estabelecido o relacionamento entre classes e como estes relacionamentos podem
contribuir na elaborao e manuteno de programas com reuso de cdigo e na diminuio da ocorrncia de erros.
Para realiz-la importante seguir os passos descritos.



PASSOS
Passo 1 (Individual)
Ler atentamente os conceitos referentes herana e polimorfismo no livro texto da disciplina.

Passo 2 (Equipe)
Ler o texto e fazer as atividades a seguir.
Com o aumento no fluxo de turistas a associao de moradores de Mara decidiu construir uma pousada com 50 quartos (numerados de 1 a 50) e 10 chals
(numerados de 51 a 60). O aluguel dos quartos tem o mesmo esquema de cobrana definido nas etapas anteriores, j o aluguel dos chals tem um custo da
tarifa 20% maior que o dos quartos e permite que sejam includas camas extras. Cada cama extra tem o custo de 10% do valor de uma diria.
Modificar o programa feito na etapa anterior para criar uma classe que represente o aluguel de um chal que tem os mesmos dados dos quartos e, alm
destes, armazena o nmero de camas extras solicitadas.
Criar uma classe para representar a pousada e nela defina um nico vetor capaz de armazenar as instancias das acomodaes que estejam ocupadas.

Passo 3 (Equipe)
Considerar as classes desenvolvidas no Passo 2 desta etapa, alterem o programa para que ao ser selecionada a opo 1 do menu, o sistema solicite o tipo de
acomodao, se um chal ou se um quarto normal.
O sistema deve verificar se existe alguma acomodao livre do tipo especificado e apresentar na tela o nmero da acomodao. Caso no exista
acomodao disponvel do tipo selecionado, o sistema deve apresentar um erro e voltar ao menu. A leitura dos dados dever ser feita de acordo com o tipo
de acomodao requisitada.
A opo 2 deve receber o nmero da ocupao a ser liberada, efetuar a cobrana imprimindo o recibo. Caso o quarto ou chal selecionado no esteja
ocupado, deve ser apresentado um erro e voltar ao menu.


Passo 4 (Equipe)
Elaborar para o relatrio final que ser postado para avaliao. Um documento contendo o nome de Relatrio 3 com exemplo de entrada e sada de dados e
o cdigo fonte comentado do programa, ou seja, os arquivos com extenso java e os respectivos bytecodes (com extenso class) que se referem s classes
desenvolvidas no Passo 2 e no Passo 3 dessa etapa.

ETAPA 4
Esta atividade importante para que voc entenda que possvel criar classes que contenham mtodos que devero ser implementados por sub-classes e
que este mecanismo viabiliza a facilidade na manuteno de um programa. Alm disso, espera-se que voc possa compreender como sinalizar e tratar as
condies que geram inconsistncia na execuo do programa e que possa utilizar as implementaes de estruturas de dados que a linguagem Java oferece.
Para realiz-la importante seguir os passos descritos.

PASSOS
Passo 1 (Individual)
Ler atentamente os conceitos sobre tratamento de excees e colees no livro texto da disciplina.

Passo 2 (Equipe)
Ler o texto e fazer as atividades a seguir. Com os lucros gerados, a pousada foi remodelada, de tal forma que metade dos quartos passou a ter banheira.
Entretanto, o lucro no era suficiente para promover reformas nos chals.

Os quartos que possuem banheira tm tarifa 18% superior aos que no possuem e so numerados de 1 a 25.
Sabendo-se disso, alterem o programa da etapa anterior, criando uma classe Aluguel que ser a mais genrica e da qual as outras classes devem descender.
Esta classe deve ter um mtodo abstrato que deve retornar o valor a ser cobrado pelas dirias.

Passo 3 (Equipe)
Alterar a classe que representa a Pousada substituindo o vetor que armazena as acomodaes ocupadas por uma coleo e faam as adequaes
necessrias nos mtodos que esta classe possui. Entre outros mtodos, esta classe deve ter um que recebe o nmero de um quarto e retorna o valor a ser
cobrado pelas dirias e, se o quarto no estiver ocupado, propaga uma exceo para sinalizar quando a cobrana indevida.
Seu programa deve oferecer o menu com as mesmas opes da etapa anterior, no entanto, na opo 1 se o tipo de acomodao escolhida for um quarto,
deve ser lido se a preferncia por quarto com banheira ou no. A disponibilidade de quartos com o requisito escolhido deve ser verificada e, caso no haja
o da preferncia do cliente, uma notificao deve ser dada e deve ser retornado ao menu.

Passo 4 (Equipe)
Elaborar um documento contendo o nome de Relatrio 4 com exemplo de entrada e sada de dados e o cdigo fonte comentado do programa, ou seja, os
arquivos com extenso java e os respectivos bytecodes (com extenso class) que se referem s classes desenvolvidas no Passo 2 e no Passo 3 dessa etapa.
Elaborar um relatrio final contendo a produo de todas as etapas desta ATPS, seguindo as normas do item Padronizao, em arquivo nico de extenso
.doc.
Post-lo, individualmente, no ambiente virtual de aprendizagem (AVA), para avaliao e validao da nota pelo tutor a distncia.

--------------------------------------------------------------------------------------------------xx---------------------------------------------------------------------------------------






ABAIXO O INCIO DA CONSTRUO DO PROJETO:




Dados:
Montados abaixo 3 classes do objeto:

Cliente Registro locaao Quarto
ID Int ID Int Id Int
NOME String CPFcliente String Nome String
CPF String DATA ENTRADA Date Numero Int
DATA
CADASTRO
date DATA SAIDA Date Valor diria float
Numero pessoas Int
Valor diaria Float
Cod Quarto int



Passo 2 etapa 2
Montar o MENU:
1 registrar entrada
2 registrar saida
3 atualizar valor diria

NO NETBEANS:



Criar os pacotes java:



Criar uma outra classe para organizar o projeto:


Agora temos o pacote .bin e .controlador Feche todos os pacotes..


Criar a classe cliente:




Colocar os atributos da tabela cliente:






Criar o objeto Registro de locao




Proxima classe: QUARTO









Ficou assim:

Vamos trabalhar com o BR.hotelaria.controlador


Criar uma classe menu:



Trabalhar na classe hotelaria:

Executar projeto

You might also like