Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Orientada a Objetos I - Teste 1 Prof. Elder Rizzon Santos Universidade Federal de Santa Catarina Aluno: ____________________________________________________________ O tiozinho que lava os carros no estacionamento da UFSC resolveu ampliar seu portfolio de negócios e abriu um mini-mercado. Visando um negócio bem sucedido, o tiozinho criou um programa de fidelidade o qual ele deseja sistematizar. Portanto, construa as classes Compra e Mercado de acordo com a especificação a seguir. Classe Compra (total: 2,0) Atributos (todos privados): nomeCliente, ehClienteAntigo, qtProdutos, valorCompra (0,5) • nomeCliente armazena o nome do cliente; ehClienteAntigo representa se o cliente é, ou não é, um cliente antigo do tiozinho (de outros empreendimentos); qtProdutos a quantidade de produtos comprados; valorCompra, o total, em R$ da compra do cliente. • Defina os tipos mais adequados à cada informação. Construtor: esta classe possui apenas um construtor, o qual possui 4 parâmetros utilizados para inicializar todos os atributos da classe Compra. (0,5) Método: public void atualizaQtProdutos(int qtProdutos) (0,25) • Atribui a quantidade de produtos informada através do parâmetro no respectivo atributo do objeto. Método public boolean ehClienteAntigo() (0,25) • Retorna verdadeiro caso o cliente seja antigo e falso caso contrário. Método public double informaQtProdutos() (0,25) • Este método retorna o a quantidade de produtos da compra. Método public String informaValorCompra() (0,25) • Este método retorna o valor da compra. Classe Mercado (total: 8,0) Atributos e Construtor: Declare os atributos e implemente o construtor de forma a possibilitar que todas as funcionalidades abaixo sejam implementadas. (0,5) Método public double lucrototal() (1,5) • Informa o total (em R$) do lucro do tiozinho. Cada compra custa (valor estimado) R$ 3,00 em termos de luz e serviço oferecidos pelo Mercado. Método public double descontoCompra(Compra c) (1,5) • Informa o desconto da compra informada por parâmetro. Caso o cliente seja antigo: (a) verifica-se o valor de suas compras e, se o valor for maior do que R$ 100,00, este recebe um desconto de 10%; (b)se o valor for maior do que R$ 200,00 o cliente recebe um desconto de 15%. Caso o cliente não seja antigo, este recebe 5% de desconto apenas se suas compras excederem R$ 150,00. Método public double recebePagamento(Compra c, double valorPago) (2,0) • Recebe o pagamento de uma compra informada parâmetro juntamente com o valor pago pelo cliente - também informado por parâmetro. Retorna o troco do cliente e contabiliza o lucro no total do dia. Este método deve (obrigatoriamente) utilizar o método descontoCompra para obter o desconto do cliente e computar seu troco. Método public String comprasMaisCaras() (2,5) • Retorna os nomes dos clientes e o respectivos valores das duas compras mais caras realizadas no mercado. • Dica: String s = “abc”; int n = 456; String s3 = s1 + n; --> s3 --> “abc 456”. Boa Prova!
Compartilhar