You are on page 1of 17

INSTITUTO TECNOLGICO DE CIUDAD JUREZ

Prctica 2.7 - Factura, Producto, Cliente

Programacin Orientada a Objetos


CARRERA: INGENIERA EN SISTEMAS COMPUTACIONALES

Alumno:

Daz Martnez Leonardo Favio


12/10/2017

Maestra: Snchez Leal Mara Eugenia


Clase Producto
/**
*
* @author Leonardo Favio Diaz Martinez No. Control: 16112038
*/
public class Producto {
// Atributos
private String codigo;
private String descripcion;
private String cantidadMedida;
private int cantidad;
private double precioUnitario;
// Constructores
public Producto() {
}

public Producto(String codigo, String descripcion, String cantidadMedida, double


precioUnitario, int cantidad) {
this.codigo = codigo;
this.descripcion = descripcion;
this.cantidadMedida = cantidadMedida;
this.precioUnitario = precioUnitario;
this.cantidad = cantidad;
}
// Getters y Setters
public String getCodigo() {
return codigo;
}

public void setCodigo(String codigo) {


this.codigo = codigo;
}

public String getDescripcion() {


return descripcion;
}

public void setDescripcion(String descripcion) {


this.descripcion = descripcion;
}

public String getCantidadMedida() {


return cantidadMedida;
}

public void setCantidadMedida(String cantidadMedida) {


this.cantidadMedida = cantidadMedida;
}

public double getPrecioUnitario() {


return precioUnitario;
}

public void setPrecioUnitario(double precioUnitario) {


this.precioUnitario = precioUnitario;
}

public int getCantidad() {


return cantidad;
}

public void setCantidad(int cantidad) {


this.cantidad = cantidad;
}
// Metodo ToString
@Override
public String toString() {
return "\n " + this.codigo
+ " " + this.descripcion
+ " " + this.cantidadMedida
+ " " + this.cantidad + "."
+ " " + this.precioUnitario + ".";
}
}
Clase Cliente
/**
*
* @author Leonardo Favio Diaz Martinez No. Control: 16112038
*/
public class Cliente {
// Atributos
private String rfc;
private String direccion;
private String razonSocial;
private String telefono;
// Constructores
public Cliente() {
}

public Cliente(String rfc, String direccion, String razonSocial, String telefono) {


this.rfc = rfc;
this.direccion = direccion;
this.razonSocial = razonSocial;
this.telefono = telefono;
}
// Getters y Setters
public String getRfc() {
return rfc;
}

public void setRfc(String rfc) {


this.rfc = rfc;
}

public String getDireccion() {


return direccion;
}

public void setDireccion(String direccion) {


this.direccion = direccion;
}

public String getRazonSocial() {


return razonSocial;
}

public void setRazonSocial(String razonSocial) {


this.razonSocial = razonSocial;
}

public String getTelefono() {


return telefono;
}

public void setTelefono(String telefono) {


this.telefono = telefono;
}
// Metodo ToString
@Override
public String toString() {
return "RFC cliente: " + this.rfc + "\nDireccin: " + this.direccion + "\nRazn
Social: " + this.razonSocial + "\nTelfono: " + this.telefono;
}
}
Clase Factura
import java.util.Date;
import java.util.Scanner;

/**
*
* @author Leonardo Favio Diaz Martinez No. Control: 16112038
*/
public class Factura {

// Atributos
private String noFactura;
private double importe;

private Producto[] productos = new Producto[5];


private Cliente clientes;
private Date fecha;

// Constructores
public Factura() {
}

public Factura(String noFactura, double importe, Producto[] productos, Cliente


clientes, Date fecha) {
this.noFactura = noFactura;
this.importe = importe;
this.productos = productos;
this.clientes = clientes;
this.fecha = fecha;
}
// Getters y Setters
public String getNoFactura() {
return noFactura;
}

public double getImporte() {


return importe;
}

public Producto[] getProductos() {


return productos;
}

public Cliente getClientes() {


return clientes;
}

public Date getFecha() {


return fecha;
}

public void setNoFactura(String noFactura) {


this.noFactura = noFactura;
}

public void setImporte(double importe) {


this.importe = importe;
}
public void setProductos(Producto[] productos) {
this.productos = productos;
}

public void setClientes(Cliente clientes) {


this.clientes = clientes;
}

public void setFecha(Date fecha) {


this.fecha = fecha;
}

// Metodos

// Metodo ToString

@Override
public String toString() {
return "\n " + this.noFactura
+ " " + this.importe
+ " " + this.productos
+ " " + this.clientes + "."
+ " " + this.fecha + ".";
}
}
Clase Empresa
import java.util.Scanner;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Hacker-L
*/
public class Empresa {

// Atributos
private String nombre;
private String telefono;
private String direccion;

// Constructores

public Empresa() {
nombre="La Choza de los Pequeines";
telefono="656-157-2250";
direccion="Privada Donato Guerra";
}

// Metodos
// VENDER
// CORTE DE CAJA
// FACTURAR No. Factura,

// Getters y Setters
public String getDireccion() {
return direccion;
}

public void setDireccion(String direccion) {


this.direccion = direccion;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public String getTelefono() {


return telefono;
}

public void setTelefono(String telefono) {


this.telefono = telefono;
}

@Override
public String toString() {
return "Empresa{" + "nombre=" + nombre + ", telefono=" + telefono + ",
direccion=" + direccion + '}';
}

public void agregarProducto(Producto[] prod, Factura f) {


int opc = 0;

do {
Scanner capturar = new Scanner(System.in);
String cod = "";
double imp;
int cant, cont = 0;

System.out.println("Ingrese codigo: ");


cod = capturar.nextLine();
for (int i = 0; i < prod.length; i++) {
if (cod.equals(prod[i].getCodigo())) {
System.out.println("Ingrese cantidad deseada: ");
cant = capturar.nextInt();

if (cant <= prod[i].getCantidad()) {


prod[i].setCantidad(prod[i].getCantidad() - cant);
System.out.println("Existencia actualizada: " + prod[i].getCantidad());
imp = cant * prod[i].getPrecioUnitario();
f.setImporte(f.getImporte() + imp);
f.getProductos()[cont] = prod[i];
cont++;
System.out.println("Desea otro producto? \n1) si. \n0)No.");
opc = capturar.nextInt();

}
else {
System.err.println("Producto Agotado");
System.out.println("Desea otro producto? \n1) si. \n0)No.");

opc = capturar.nextInt();
}
}

}
} while (opc == 1);
}

}
Clase AppFactura
import java.util.Date;
import java.util.Scanner;

/**
*
* @author Leonardo Favio Diaz Martinez No. Control: 16112038
*/
public class AppFactura {

public static int i;

public static void main(String[] args) {

String acumulador = "";


int a = 0;
Scanner capturar = new Scanner(System.in);

Empresa emp = new Empresa();


System.out.println(" --------------Datos de la Empresa--------------");
System.out.println(" " + emp.getNombre());
System.out.println(" " + emp.getTelefono());
System.out.println(" " + emp.getDireccion());
System.out.println(" -----------------------------------------------");

Factura fac = new Factura();


Cliente[] clientes = new Cliente[5];
clientes[0] = new Cliente("ABCDE123", "Donato Guerra", "Amrica",
"6561795349");
clientes[1] = new Cliente("ABC123", "Insurgentes", "Leonardo", "6561572250");
clientes[2] = new Cliente("AEIO123", "Felipe Angeles", "Ramon",
"6564975238");
clientes[3] = new Cliente("ALE123", "20 de noviembre", "Javier",
"6564697315");

Producto[] productos = new Producto[5];


Producto[] productos2 = new Producto[5];
productos[0] = new Producto("123", "Galletas Marias", "Paquete", 23, 800);
productos[1] = new Producto("124", "Galletas Chokis", "Paquete", 15, 8000);
productos[2] = new Producto("125", "Galletas Emperador", "Paquete", 38, 500);
productos[3] = new Producto("126", "Galletas Spunch", "Paquete", 38, 800);
productos[4] = new Producto("127", "Galletas Oreo", "Paquete", 26, 300);
for (int i = 0; i < productos.length; i++) {
acumulador += productos[i];
}
System.out.println(acumulador);

System.out.println("Que cliente es? " + "Inserte una opcion");


System.out.println("1: Amrica");
System.out.println("2: Leonardo");
System.out.println("3: Ramon");
System.out.println("4: Javier");
System.out.println("0: Para salir");
a = capturar.nextInt();

// for (i = 1; i != 0; i++);
// {}
Cliente fg = clientes[a-1];
Factura f1 = new Factura("Numero" + i + ":", 00, productos2, fg, new Date(12,
10, 2017));
emp.agregarProducto(productos, f1);
System.out.println(f1);

System.out.println(clientes[0]);
System.out.println(fg);

}
}

You might also like