Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Ayuda con un programa de compra de libros

Estimados,

Necesito una ayuda con un programa que tengo que hacer en Java. En primer lugar lo que tengo que hacer es generar una clase GestorCliente que haga un ABM y busqueda de Clientes, la parte de modificación y busqueda no la pude hacer, el codigo generado es el siguiente:
package gestores;

import clientes.Cliente;

public class GestorCliente {
protected Boolean registrado;

public Boolean getRegistrado() {
return registrado;
}
public void setRegistrado(Boolean registrado) {
this.registrado = registrado;
}
public Cliente altaCliente(String nombreDeUsuario, String nombre, String apellido, String contrasenia, Integer dni, Double credito){
Cliente c = new Cliente();
c.setNombre(nombre);
c.setNombreDeUsuario(nombreDeUsuario);
c.setApellido(apellido);
c.setContrasenia(contrasenia);
c.setDni(dni);
c.setCredito(credito);
return c;
}
public Cliente bajaCliente(String nombreDeUsuario, String nombre, String apellido, String contrasenia, Integer dni, Double credito){
Cliente c = new Cliente();
c.setNombre(nombre);
c.setNombreDeUsuario(nombreDeUsuario);
c.setApellido(apellido);
c.setContrasenia(contrasenia);
c.setDni(dni);
c.setCredito(credito);
return c;
}

}

Por otro lado lo mismo tengo que hacer con una clase GestorLibro, el codigo que genere hasta ahora es el siguiente:

package gestores;

import java.util.Date;

import libros.Libro;

public class GestorLibro {
protected Boolean registrado;

public Libro bajaLibro(String isbn, String autor, String editorial, Date fechaEdicion, String titulo, Double precio){
Libro l = new Libro();
l.setIsbn(isbn);
l.setAutor(autor);
l.setEditorial(editorial);
l.setFechadeEdicion(fechaEdicion);
l.setTitulo(titulo);
l.setPrecio(precio);
return l;
}

public Boolean getRegistrado() {
return registrado;
}

public void setRegistrado(Boolean registrado) {
this.registrado = registrado;
}

}

Además debo crear una clase Cliente, con una discriminación de cliente. Yo cree otras dos clases llamadas ClienteNormal y ClienteVIP, el clienteVIP debe obtener un descuento del 20% sobre el monto total de la compra, Para todo esto tengo creado este codigo:
package clientes;


public class Cliente {

protected String nombreDeUsuario;
protected String nombre;
protected String apellido;
protected String contrasenia;
protected Integer dni;
protected Double credito;

public String getNombreDeUsuario() {
return nombreDeUsuario;
}

public void setNombreDeUsuario(String nombreDeUsuario) {
this.nombreDeUsuario = nombreDeUsuario;
}

public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

public String getApellido() {
return apellido;
}

public void setApellido(String apellido) {
this.apellido = apellido;
}

public String getContrasenia() {
return contrasenia;
}

public void setContrasenia(String contrasenia) {
this.contrasenia = contrasenia;
}

public Integer getDni() {
return dni;
}

public void setDni(Integer dni) {
this.dni = dni;
}

public Double getCredito() {
return credito;
}

public void setCredito(Double credito) {
this.credito = credito;
}

public void decrementarCredito(Double monto){
this.setCredito(this.getCredito() - monto);
}

public void incrementarCredito(Double monto){
this.setCredito(this.getCredito() + monto);
}

public Cliente() {}
}


package clientes;


public class ClienteNormal {

public void Descuento(int descuento) {
return;
}
}

package clientes;

public class ClienteVip {
public double descuento=0,monto_final=0;
public void CalcularDescuento(double precio)
{
if(precio>0 && precio<=50)
{
descuento=0;
System.out.println("El monto de la compra es "+ precio+"\nUsted ahorro"+descuento );
}
else if(precio>50 && precio<=100)
{
descuento=(precio*20)/100;
monto_final=precio-descuento;
System.out.println("El monto de la compra es "+precio+"\nSu descuento es "+descuento+" El monto final es "+monto_final);
}
}

}

Por otro lado debo crear cuatro clases más, la clase Libro, LibroDigital, LibroImpreso, Venta. Estos son los codigos que tengo armando hasta el momento.

package libros;

import java.util.Date;

public class Libro {
protected String isbn;
protected String autor;
protected String editorial;
protected Date fechadeEdicion;
protected String titulo;
protected Double precio;

public Libro() {
// TODO Auto-generated constructor stub
}

public String getIsbn() {
return isbn;
}

public void setIsbn(String isbn) {
this.isbn = isbn;
}

public String getAutor() {
return autor;
}

public void setAutor(String autor) {
this.autor = autor;
}

public String getEditorial() {
return editorial;
}

public void setEditorial(String editorial) {
this.editorial = editorial;
}

public Date getFechadeEdicion() {
return fechadeEdicion;
}

public void setFechadeEdicion(Date fechaEdicion) {
this.fechadeEdicion = fechaEdicion;
}

public String getTitulo() {
return titulo;
}

public void setTitulo(String titulo) {
this.titulo = titulo;
}

public Double getPrecio() {
return precio;
}

public void setPrecio(Double precio) {
this.precio = precio;
}

public void setFechaEdicion(Date fechaEdicion) {
// TODO Auto-generated method stub

}

}

package libros;

public class LibroImpreso extends Libro {
private boolean papelBlancoNegro;
private Integer cantidadDeCopias;
public LibroImpreso() {
// TODO Auto-generated constructor stub
}
public boolean isPapelBlancoNegro() {
return papelBlancoNegro;
}
public void setPapelBlancoNegro(boolean papelBlancoNegro) {
this.papelBlancoNegro = papelBlancoNegro;
}
public Integer getCantidadDeCopias() {
return cantidadDeCopias;
}
public void setCantidadDeCopias(Integer cantidadDeCopias) {
this.cantidadDeCopias = cantidadDeCopias;
}
}

package libros;

public class LibroDigital extends Libro {

private String medios;
private Integer cantidadDeLicencias;

public LibroDigital(){}

public String getMedios() {
return medios;
}

public void setMedios(String medios) {
this.medios = medios;
}

public Integer getCantidadDeLicencias() {
return cantidadDeLicencias;
}

public void setCantidadDeLicencias(Integer cantidadDeLicencias) {
this.cantidadDeLicencias = cantidadDeLicencias;
}



}

package ventas;

import java.util.Date;
import java.util.List;

import libros.Libro;
import clientes.Cliente;
import clientes.ClienteVip;

public class Venta {

protected Date fechadeDeVenta;
protected Double precio;
protected Cliente miCliente;
protected List<Libro> misLibros;

public Venta() {
// TODO Auto-generated constructor stub

}

public Cliente getMiCliente() {
return miCliente;
}

public void setMiCliente(Cliente miCliente) {
this.miCliente = miCliente;
}

public List<Libro> getMisLibros() {
return misLibros;
}

public void setMisLibros(List<Libro> misLibros) {
this.misLibros = misLibros;
}

public Date getFechadeDeVenta() {
return fechadeDeVenta;
}

public void setFechadeDeVenta(Date fechadeDeVenta) {
this.fechadeDeVenta = fechadeDeVenta;
}

public Double getPrecio() {
return precio;
}

public void setPrecio(Double precio) {
this.precio = precio;
}


}

Finalmente la clase principal.

package main;

import libros.Libro;
import clientes.Cliente;
import gestores.GestorCliente;
import gestores.GestorLibro;

public class Principal {

public static void main (String [] args){

GestorCliente gc = new GestorCliente();
Cliente c = gc.altaCliente("josealcaraz", "jose", "alcaraz", "123456", 26199317, 1000.0);
System.out.println(c.getNombre());
System.out.println(c.getCredito());

c.decrementarCredito(50.0);
System.out.println(c.getCredito());

}
}

De todo esto que les pase, lo que debe hacer el programa es:

- Se debe dejar registro de la compra del cliente.
- La venta es de libros digitale o impresos.
- El cliente debe estar registrado
- Debe iniciar sesión con usuario y contraseña.
- hay dos categorias de clientes normal y vip, estos cuentan con un credito para la compra que debe poder incrementarse.
- Los libros digitales se venden por licencia y los impresos por copia.
- En la venta se debe tener en cuenta que el cálculo del precio varia si el libro es digital o impreso.
- El tipo de cliente vip recibe un 20% de descuento
- para la compra el cliente debe disponer de credito igual o mayor al valor que tiene que pagar y el libro debe estar en stock

Les agradeceria mucho me puedan dar mano con este tema ya que es un trabajo practico que debo entregar en la universidad y el profesor no explico demaciado de java.

Muchas gracias

noviembre 11, 2014 | Registered Commenterjalcaraz