Está en la página 1de 60

Facultad de Ingeniería

UG (Lima Centro)
EVALUACIÓN TEÓRICA 3
TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS
INGENIERÍA DE SISTEMAS COMPUTACIONALES
SEMESTRE 2021-1

CÓDIGO DEL ESTUDIANTE: _N00219980_____________________ _______________ NÚMERO


DE CLASE: 3303
APELLIDOS Y NOMBRES DEL ESTUDIANTE : _Ramos Vilca Joel Rivaldo_______________________ FECHA: 05/2021
DOCENTE: ARCE HUAMÁN, Lenin Froy Duración del examen:

INDICACIONES IMPORTANTES QUE DEBE LEER Y FIRMAR EL ESTUDIANTE


1. Identificarse con la presentación de su ID Card (colocarlo encima de su carpeta para la verificación)
2. Escribir con letra legible y cuide su redacción en la resolución del examen.
3. Una vez iniciada la evaluación, queda prohibido salir del aula.
4. Cumplir con los artículos del Reglamento de Disciplina del estudiante:
Art. 12° Constituyen faltas muy graves:
A, inciso i: Intentar o realizar un plagio parcial o total, al rendir una evaluación, una práctica o durante la elaboración o
presentación de un trabajo o asignación académica, usando cualquier medio, modalidad, objeto o equipos para tal fin, en
forma directa o a través de terceros.
A, inciso iii: Presentar un mismo trabajo, en todo o parte, en más de una asignatura sin el conocimiento y consentimiento
expreso de los docentes involucrados.
A, inciso vii: La suplantación de identidad (suplantar y/o ser suplantado) al momento de rendir una evaluación o actividad
académica, de cualquier tipo, en beneficio propio o ajeno.

Art. 21° Las faltas leves son sancionadas, preferentemente, con amonestación escrita; salvo decisión distinta de la
Autoridad competente.
Art. 22° Las faltas graves son sancionadas, preferentemente, con separación temporal; salvo decisión distinta de la
Autoridad competente.
Art. 20° Las faltas muy graves referidas a las faltas contra la probidad académica, listadas en el literal a) del Art. 12 del
presente, serán sancionadas con la desaprobación con calificación de cero en el curso. En caso de reincidencia, la sanción a
aplicar será la separación definitiva. Las faltas muy graves en general, serán sancionadas, preferentemente, con la
separación definitiva; salvo decisión distinta de la Autoridad competente.

5. Cumplir con los artículos del Reglamento de Estudios:


Art. 29° Revisión de calificación, plazos y procedimientos
a) Una vez cargada la nota en el sistema, el estudiante puede solicitar la recalificación del examen o rectificaciones
de notas al docente del curso, debiendo presentar y sustentar el caso con la evidencia que corresponda en un
plazo máximo de 48 horas de cargada la nota en el sistema, para evaluaciones parciales, continuas y
evaluaciones finales; y de 24 horas de cargada la nota, para el examen sustitutorio. Una vez cerrado el periodo
académico, ya no hay lugar a reclamos o rectificaciones de notas.
b) La solicitud de recalificación solo es admitida en los siguientes casos: • Error en registro de nota u olvido por
parte del docente. • Si hay error de suma en el puntaje del examen. • Hay evidencia de que el docente dejó de
leer accidentalmente parte de la respuesta del examen.
c) La revisión del examen puede implicar una corrección con una nota menor, igual o mayor a la nota original.
d) El docente tiene la obligación de resolver la recalificación o rectificación de nota de forma escrita, atendiendo o
no la solicitud del estudiante, en un plazo máximo de 48 horas.
e) Si el estudiante no está de acuerdo con la recalificación o rectificación puede elevar el caso al responsable de
carrera, quien responde en un plazo máximo de 48 horas, y cuyo fallo es inimpugnable. No aplica para exámenes
sustitutorios.
f) Por ningún motivo proceden las solicitudes de rectificación que estén fuera de los plazos establecidos por la
Universidad.
6. Está prohibido el intercambio de materiales de clase como copias, lapiceros, cuadernos, etc.
7. Escriba con lapicero. Se rechazan las solicitudes de revisión de notas si el examen es respondido con lápiz,
8. Apague y guarde su teléfono celular.
9. No use hojas adicionales.

1
Facultad de Ingeniería
UG (Lima Centro)

___________ _____________
Firma del estudiante
DNI: _70357254_____________

Observaciones o incidencias registradas por parte del docente:

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

_______________________________________________________________________________________

HE RECIBIDO, LEÍDO Y REVISADO EL PUNTAJE OBTENIDO Y:

ES CONFORME
NO ES CONFORME

____________ ____________
Firma del estudiante
DNI: _70357254_____________

2
Facultad de Ingeniería
UG (Lima Centro)
EVALUACIÓN TEÓRICA 3
TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS
INGENIERÍA DE SISTEMAS COMPUTACIONALES
SEMESTRE 2021-1

CÓDIGO DEL ESTUDIANTE: _N0021998____________________________________ NÚMERO


DE CLASE: 3303
APELLIDOS Y NOMBRES DEL ESTUDIANTE : _Ramos Vilca Joel Rivaldo_____________________ FECHA: 05/2021
DOCENTE: ARCE HUAMÁN, Lenin Froy Duración del examen:

Nota:
Los casos propuestos y resueltos deben ser de su autoría y no debe coincidir con otros
estudiantes, además tiene que tener rigor académico.

Estimados estudiantes programar lo solicitado


Según modelo:

Caso 1: Programar un caso donde se aplique herencia simple. Datos ingresados por
el usuario, adjuntar código editable y además el workspace del caso

Animal

Perro Gato Tortuga

Código fuente:

Paquete padre:

package padre;

import interfaz.Movimiento;

public class Animal implements Movimiento{

protected String nombre;


protected String raza;
protected int edad;

public Animal(String nombre, String raza, int edad) {


super();
this.nombre = nombre;
this.raza = raza;
this.edad = edad;
}

public String Datos(){

3
Facultad de Ingeniería
UG (Lima Centro)
return "Nombre: "+nombre+"\nRaza: "+raza+"\nEdad:
"+edad;
}
public String Caminar(){
return "No hay mensaje";
}
public String Dormir(){
return "No hay mensaje";
}
public String Comer(){
return "No hay mensaje";
}
public String Ruido(){
return "No hay mensaje";
}
}

---------------------------------------------------------------------------------

Paquete hijo:

package hijo;

import padre.Animal;

public class Gato extends Animal{

public Gato(String nombre, String raza, int edad) {


super(nombre, raza, edad);
// TODO Auto-generated constructor stub
}

public String Caminar(){


return "El gato está caminando";
}
public String Comer(){
return "El gato está comiendo";
}
public String Ruido(){
return "El gato está maullando";
}

---------------------------------------------------------------------------------

package hijo;

import padre.Animal;

public class Perro extends Animal{

public Perro(String nombre, String raza, int edad) {


super(nombre, raza, edad);
// TODO Auto-generated constructor stub
}

public String Caminar(){


return "El perro está caminando";
}
public String Ruido(){
return "El perro está ladrando";
}

4
Facultad de Ingeniería
UG (Lima Centro)
public String Dormir(){
return "El perro está durmiendo";
}

---------------------------------------------------------------------------------

package hijo;

import padre.Animal;

public class Tortuga extends Animal{

public Tortuga(String nombre, String raza, int edad) {


super(nombre, raza, edad);
// TODO Auto-generated constructor stub
}

public String Caminar(){


return "La tortuga está caminando";
}
public String Comer(){
return "La tortuga está comiendo";
}
public String Dormir(){
return "La tortuga está durmiendo";
}

---------------------------------------------------------------------------------

Paquete interfaz:

package interfaz;

public interface Movimiento {

public String Caminar();


public String Dormir();
public String Comer();

---------------------------------------------------------------------------------

Paquete gui:

package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import hijo.Gato;
import hijo.Perro;
import hijo.Tortuga;
import interfaz.Movimiento;
import padre.Animal;

5
Facultad de Ingeniería
UG (Lima Centro)

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class JFRAME extends JFrame implements ActionListener {

private JPanel contentPane;


private JLabel lblPerro;
private JLabel lblNombre;
private JLabel lblRaza;
private JLabel lblEdad;
private JTextField txtNomP;
private JTextField txtRazaP;
private JTextField txtEdadP;
private JLabel lblGato;
private JLabel lblNombre_1;
private JTextField txtNomG;
private JLabel lblRaza_1;
private JTextField txtRazaG;
private JLabel lblEdad_1;
private JTextField txtEdadG;
private JLabel lblTortuga;
private JLabel lblNombre_2;
private JTextField txtNomT;
private JLabel lblRaza_2;
private JTextField txtRazaT;
private JLabel lblEdad_2;
private JTextField txtEdadT;
private JScrollPane scrollPane;
private JTextArea txtS;
private JButton btnProcesar;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JFRAME frame = new JFRAME();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public JFRAME() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 674, 554);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

6
Facultad de Ingeniería
UG (Lima Centro)
lblPerro = new JLabel("Perro");
lblPerro.setBounds(12, 13, 56, 16);
contentPane.add(lblPerro);

lblNombre = new JLabel("Nombre: ");


lblNombre.setBounds(32, 42, 56, 16);
contentPane.add(lblNombre);

lblRaza = new JLabel("Raza: ");


lblRaza.setBounds(223, 42, 56, 16);
contentPane.add(lblRaza);

lblEdad = new JLabel("Edad: ");


lblEdad.setBounds(394, 42, 56, 16);
contentPane.add(lblEdad);

txtNomP = new JTextField();


txtNomP.setBounds(100, 39, 85, 22);
contentPane.add(txtNomP);
txtNomP.setColumns(10);

txtRazaP = new JTextField();


txtRazaP.setBounds(271, 39, 85, 22);
contentPane.add(txtRazaP);
txtRazaP.setColumns(10);

txtEdadP = new JTextField();


txtEdadP.setBounds(446, 39, 56, 22);
contentPane.add(txtEdadP);
txtEdadP.setColumns(10);

lblGato = new JLabel("Gato");


lblGato.setBounds(12, 86, 56, 16);
contentPane.add(lblGato);

lblNombre_1 = new JLabel("Nombre: ");


lblNombre_1.setBounds(32, 115, 56, 16);
contentPane.add(lblNombre_1);

txtNomG = new JTextField();


txtNomG.setBounds(100, 112, 85, 22);
contentPane.add(txtNomG);
txtNomG.setColumns(10);

lblRaza_1 = new JLabel("Raza: ");


lblRaza_1.setBounds(223, 115, 56, 16);
contentPane.add(lblRaza_1);

txtRazaG = new JTextField();


txtRazaG.setBounds(271, 112, 85, 22);
contentPane.add(txtRazaG);
txtRazaG.setColumns(10);

lblEdad_1 = new JLabel("Edad: ");


lblEdad_1.setBounds(394, 115, 56, 16);
contentPane.add(lblEdad_1);

txtEdadG = new JTextField();


txtEdadG.setBounds(446, 112, 56, 22);
contentPane.add(txtEdadG);
txtEdadG.setColumns(10);

lblTortuga = new JLabel("Tortuga");


lblTortuga.setBounds(12, 154, 56, 16);

7
Facultad de Ingeniería
UG (Lima Centro)
contentPane.add(lblTortuga);

lblNombre_2 = new JLabel("Nombre: ");


lblNombre_2.setBounds(32, 183, 56, 16);
contentPane.add(lblNombre_2);

txtNomT = new JTextField();


txtNomT.setBounds(100, 180, 85, 22);
contentPane.add(txtNomT);
txtNomT.setColumns(10);

lblRaza_2 = new JLabel("Raza: ");


lblRaza_2.setBounds(223, 183, 56, 16);
contentPane.add(lblRaza_2);

txtRazaT = new JTextField();


txtRazaT.setBounds(271, 180, 85, 22);
contentPane.add(txtRazaT);
txtRazaT.setColumns(10);

lblEdad_2 = new JLabel("Edad: ");


lblEdad_2.setBounds(394, 183, 56, 16);
contentPane.add(lblEdad_2);

txtEdadT = new JTextField();


txtEdadT.setBounds(446, 180, 56, 22);
contentPane.add(txtEdadT);
txtEdadT.setColumns(10);

scrollPane = new JScrollPane();


scrollPane.setBounds(32, 233, 589, 245);
contentPane.add(scrollPane);

txtS = new JTextArea();


scrollPane.setViewportView(txtS);

btnProcesar = new JButton("Procesar");


btnProcesar.addActionListener(this);
btnProcesar.setBounds(532, 111, 97, 25);
contentPane.add(btnProcesar);
}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnProcesar) {
do_btnProcesar_actionPerformed(arg0);
}
}
protected void do_btnProcesar_actionPerformed(ActionEvent arg0) {

String NombreP = txtNomP.getText();


String RazaP = txtRazaP.getText();
int EdadP = Integer.parseInt(txtEdadP.getText());
String NombreG = txtNomG.getText();
String RazaG = txtRazaG.getText();
int EdadG = Integer.parseInt(txtEdadG.getText());
String NombreT = txtNomT.getText();
String RazaT = txtRazaT.getText();
int EdadT = Integer.parseInt(txtEdadT.getText());
txtS.append("Perro\n");
Perro p = new Perro(NombreP, RazaP, EdadP);
Listado(p);
Listado2(p);
txtS.append("\nGato\n");
Gato g = new Gato(NombreG, RazaG, EdadG);
Listado(g);

8
Facultad de Ingeniería
UG (Lima Centro)
Listado2(g);
txtS.append("\nTortuga\n");
Tortuga t = new Tortuga(NombreT, RazaT, EdadT);
Listado(t);
Listado2(t);

}
void Listado(Animal x){
Imprimir(x.Datos());
Imprimir(x.Ruido());

}
void Listado2(Movimiento x){
Imprimir(x.Caminar());
Imprimir(x.Comer());
Imprimir(x.Dormir());
}
void Imprimir(String s){
txtS.append(s+"\n");
}
}

Ventana de resultado:

9
Facultad de Ingeniería
UG (Lima Centro)

Caso 2: Con respecto a su proyecto de investigación, adjuntar Informe, código


editable y además el workspace de su proyecto

Contenido del informe del proyecto:

1. Título
2. Beneficiario(s)
3. Marco teórico
4. Objetivo general
5. Objetivos específicos
6. Lista de requerimientos
7. Diagrama de clases
8. Diagrama de base de datos con diccionario

10
Facultad de Ingeniería
UG (Lima Centro)

FACULTAD DE INGENIERÍA

CICLO: 2021-1

CURSO: TÉCNICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS

SECCIÓN: NRC3303

DOCENTE DEL CURSO:


LENIN FROY ARCE HUAMÁN

TEMA:
INFORME DEL PROYECTO INTEGRADOR

TÍTULO:

CMS: Coffe Management System (Sistema de gestión para la cafetería “Starbicks”)

INTEGRANTES:

- Rojas Senteno Anaiz Gianella


- Sanchez Caihuaray Sebastian Jesahel
- Saravia Saravia Javier Eduardo
- Ramos Vilca Joel Rivaldo

11
Facultad de Ingeniería
UG (Lima Centro)

ÍNDICE:

1. Título del proyecto


2. Beneficiarios
3. Marco teórico
4. Objetivo general
5. Objetivos específicos
6. Lista de requerimientos
7. Diagrama de clases
8. Diagrama de base de datos con diccionario

1. TÍTULO DEL PROYECTO:

CMS: Coffe Management System (Sistema de gestión para la cafetería “Starbicks”)

2. BENEFICIARIOS:

El presente proyecto beneficiará a la empresa, los clientes, los trabajadores, así como a los
proveedores de esta.
Para la empresa, se mejorará el sistema de registro de los productos ya que se les podrá identificar
por sus características como nombre, código y precio. Esto también ayudará a controlar los gastos
que se realizarán para los productos.
Para los clientes será beneficioso ya que, al estar identificados todos los productos por su nombre,
código y precio, la atención será más rápida.
También será beneficioso para los proveedores ya que podrán ser identificados por su nombre, RUC,
dirección, correo, etc. lo que les beneficiará principalmente al momento de cobrar las facturas por los
suministros entregados. En cuanto a los trabajadores, les beneficiará porque pueden estar en una base
de datos y serán registrados con todos sus datos.
El del proyecto será revisado cada 2 semanas, con el fin controlar los gastos y hacer los ajustes
respectivos. Finalmente, se logrará realizar un software que recopile, administre y muestre
información de manera segura y que, además, cuente con una base de datos de respaldo temporal
para poder restablecer la información y no haya pérdidas de información valiosa para el
establecimiento.

3. MARCO TEÓRICO:

El sistema de gestión productos, se caracteriza por ser un apoyo informático encargado de consultar,
resolver, simplificar y brindar información detallada acerca de los productos y el personal de la
cafetería que trabaje con el sistema "CMS". La información presentada en el sistema se organizará de
manera detallada, para mejorar la búsqueda de información sobre los productos y trabajadores que
estén a cargo en su horario de trabajo. Además, la elaboración de las boletas de cada uno de los
usuarios también será resumida con información precisa de la compra. Toda la información de los
productos y del personal solo podrá ser editada por un administrador de tal manera que
simultáneamente en su labor se guardarán en la base de datos del programa y la base de datos de
respaldo de manera segura. Describiremos cada una de sus funciones:
 A.- Registro de datos por productos ()
 B.- Registro de productos por categoría ()
 C.- Administración de productos ()
 D.- Registro de los datos personales de los trabajadores ()
 E.- Registro de proveedores por producto ()

12
Facultad de Ingeniería
UG (Lima Centro)
 G.- Administración de cantidad de trabajadores ()

4. OBJETIVO GENERAL:

Diseñar un sistema de gestión de productos que se efectivo, claro y conciso para mantener un orden
de los trabajadores, gastos y adquisición de productos para este tipo de negocios.

5. OBJETIVOS ESPECÍFICOS:

1.- Registrar la información que se obtenga de cada venta y delivery realizado.


2.- Registrar la información personal de los trabajadores de la empresa.
3.- Facilitar la manipulación de la información de los productos y trabajadores en un sistema
completo y accesible para los administradores.
4.- Registrar y analizar las recomendaciones u observaciones de los clientes.
5.- Registrar las ventas diarias realizadas.
6.- Analizar los productos de mayor rotación.
7.- Analizar los principales horarios de pedidos.

6. LISTA DE REQUERIMIENTOS:
1. El sistema pedirá a cada trabajador su número de DNI o su número de carnet de extranjería el cual
será su código para identificarlos.
2. El sistema registrará los nombres y apellidos de los trabajadores.
3. El sistema registrará la dirección de domicilio de cada empleado. (distrito)
4. El sistema registrará la fecha de nacimiento de los trabajadores, y así asignará la edad de cada
trabajador, siendo el límite de 48 años.
5. El sistema registrará los correos electrónicos de los trabajadores para enviar comunicados, así
como sus promociones por ser trabajadores.
6. El sistema pedirá el registro de los cargos que ocupan cada trabajador.
7. El sistema pedirá el código de usuario que realizo una venta.
8. El sistema asignará un código a cada producto.
9. El sistema pedirá la marca y nombre del producto.
10. El sistema pedirá número de lote de cada producto.
11. El sistema pedirá la fecha de vencimiento de los productos.
12. El sistema pedirá los nombres de cada empresa proveedora.
13. El sistema pedirá el número de ruc de la empresa que abastecerá el negocio.
14. El sistema pedirá los números de cuenta bancaria de cada empresa proveedora.
15. El sistema pedirá el precio por caja de cada producto.
16. El sistema pedirá la cantidad de productos por caja.
17. El sistema asignará los precios de los productos ganando un 5% por producto y además incluirá el
IGV.
18. El sistema asignará el descuento de seguro a los empleados.
19. El sistema asignará el pago de los empleados.
20. El sistema asignará un bono por tiempo trabajado del empleado
21. El sistema pedirá el número de DNI del cliente
22. EL sistema pedirá el nombre del cliente
23. El sistema pedirá el apellido del cliente
24. El sistema pedirá la edad del cliente

13
Facultad de Ingeniería
UG (Lima Centro)
25. El sistema registrará el nombre del producto a adquirir

26. El sistema registrará la hora del pedido


27. El sistema registrará el número de orden del pedido
28. El sistema informará si el cliente tiene una promoción
29. El sistema informará el monto total comprado por cada cliente
30. El sistema informará el monto total comprado a cada proveedor
31. El sistema informará el total de promociones obtenidas por un cliente
32. El sistema registrará la fecha de ingreso del trabajador
33. El sistema registrará la fecha de cese del trabajador
34. El sistema registrará la talla de polo del uniforme entregado al trabajador
35. El sistema registrara la talla del pantalón del uniforme entregado al trabajador
36. El sistema registrara la talla de las botas del uniforme entregado al trabajador
37. El sistema registrará el gorro del uniforme entregado al trabajador
38. El sistema registrará la mascarilla entregada al trabajador
39. El sistema registrará los guantes entregados al trabajador
40. El sistema registrará el protector facial entregado al trabajador

7. DIAGRAMAS DE CLASE:

Clientes
Nombre (String)
Apellido (String)
Dni (int)
Sexo (String)
Edad(int)
Nomdprod(String)
MontoTotal(double)

Trabajador Producto
Nombre (String) Código (int)
Apellido (String) Empresas
Nombre (String)
Dni (int) Nombre (String)
Marca (String)
Sexo (String) Numdruc (int)
NumDLote (int)
Edad (int) Numdecuenta (int)
FechdVenc (int)
Direcpost (String) Cantdprod (int)
Precio (double)
FechdeNAc (int) Igv (double)
Correo (String) TipdeCmpago (String)
RegistrarDatos ()
RegistroProducto()
RegistrarDatos() AdministracionCantidad(
AdministracionCantidad( )
)

14
Facultad de Ingeniería
UG (Lima Centro)

Medidas de Seguridad
Tallpolo(int)
Tallpant(int)
Tallbotas(int)
Guantes(int)
Mascarillas(int)
ProtectorFac(int)

8. DIAGRAMAS DE BASE DE DATOS CON DICCIONARIO:

  CLIENTE  
ATRIBUTO TIPO DESCRIPCIÓN
Nombre String Almacena nombre del cliente
Apellido String Almacena apellido del cliente
Dni int Almacena DNI del cliente
Género String Almacena el género del cliente
Edad int Almacena la edad del cliente
Nomdprod String Almacena el nombre del producto
Montotal double Monto total

  EMPLEADO  
ATRIBUTO TIPO DESCRIPCIÓN
Nombre String Almacena nombre del empleado
Apellido String Almacena apellido del empleado
Dni int Almacena DNI del empleado
Género String Almacena género del empleado
Edad int Almacena edad del empleado
Direcpost String Almacena dirección postal
Fechadnaci int Almacena fecha de nacimiento
Correo String Almacena correo del empleado

  PRODUCTO  
ATRIBUTO TIPO DESCRIPCIÓN
Código int Almacena código del producto
Nombre String Almacena nombre del producto
Marca String Almacena marca del producto
Numdlote int Almacena número de lote
Fechdven int Almacena fecha de vencimiento
Precio double Almacena precio del producto

15
Facultad de Ingeniería
UG (Lima Centro)

MEDIDAS
DE
  SEGURIDAD  
ATRIBUTO TIPO DESCRIPCION
Tallpolo int Almacena talla de polo del empleado
Tallpant int Almacena talla de pantalón del empleado
Tallbotas int Almacena talla de botas del empleado
Almacena cantidad de guantes que se le entregará al
Guantes
int empleado
Almacena cantidad de mascarillas que se le entregará al
Mascarillas
int empleado
Almacena cantidad de protectores facial que se le
Protecfaci
int entregará al empleado

Código fuente:

Clase Empleados:
package clases;

public class Empleados {


private String nombre,apellido;
private int dni,edad;
private String genero,direcpost,correo;
private String fecdnaci;

private static int cont = 1;


public Empleados(String nombre, String apellido, int dni, int edad, String
fecdnaci, String genero, String direcpost,
String correo) {
//super();
this.nombre = nombre;
this.apellido = apellido;
this.dni = dni;
this.edad = edad;
this.fecdnaci = fecdnaci;
this.genero = genero;
this.direcpost = direcpost;
this.correo = correo;
cont++;
}

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 int getDni() {
return dni;

16
Facultad de Ingeniería
UG (Lima Centro)
}
public void setDni(int dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getFecdnaci() {
return fecdnaci;
}
public void setFecdnaci(String fecdnaci) {
this.fecdnaci = fecdnaci;
}
public String getGenero() {
return genero;
}
public void setGenero(String genero) {
this.genero = genero;
}
public String getDirecpost() {
return direcpost;
}
public void setDirecpost(String direcpost) {
this.direcpost = direcpost;
}
public String getCorreo() {
return correo;
}
public void setCorreo(String correo) {
this.correo = correo;
}
public static int getCont() {
return cont;
}
public static void setCont(int cont) {
Empleados.cont = cont;
}
}

package arreglos;

import java.util.ArrayList;

import clases.Empleados;

public class ArregloEmpleados {

private ArrayList<Empleados> tra;

public ArregloEmpleados(){
tra = new ArrayList<Empleados>();
Adicionar(new Empleados("Sebas", "Sanchez", 4234235, 19, "diciembre",
"Masculino", "Urb. Villa vitoria", "aaaaa@aa.com"));
Adicionar(new Empleados("Andrea", "Ramirez", 123155, 34, "octubre", "Femenino",
"Federico Villareal", "abcde@gh.com"));
}

public void Adicionar(Empleados x){


tra.add(x);

17
Facultad de Ingeniería
UG (Lima Centro)
}
public int Tamaño(){
return tra.size();
}
public Empleados Obtener(int i){
return tra.get(i);
}
public Empleados Buscar(int dni){
for(int i=0; i<Tamaño(); i++){
if(Obtener(i).getDni()==dni){
return Obtener(i);
}
}
return null;
}
public void Eliminar(Empleados x){
tra.remove(x);
}

package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import arreglos.ArregloEmpleados;
import clases.Clientes;
import clases.Empleados;

import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.image.ImageProducer;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTable;
import javax.swing.JTextPane;

public class VentanaEmpleados extends JFrame implements ActionListener {

private JPanel contentPane;


private JButton btnAdicionar;
private JButton btnReportar;
private JLabel lblIngrese;
private JLabel lblIngreseNombre;
private JLabel lblIngreseApellido;
private JLabel lblIngreseEdad;
private JLabel lblIngreseFechaDe;
private JComboBox comboBox;
private JComboBox comboBox_1;
private JComboBox comboBox_2;

18
Facultad de Ingeniería
UG (Lima Centro)
private JLabel lblIngreseGnero;
private JTextField txtCorreo;
private JTextField txtEdad;
private JTextField txtApe;
private JTextField txtNom;
private JTextField txtDni;
private JLabel lblIngreseGnero_1;
private JComboBox comboBox_3;
private JLabel lblIngreseDireccinPostal;
private JTextField txtDire;
private JButton btnModificar;
private JButton btnBuscar;
private JButton btnEliminar;
ArregloEmpleados ae = new ArregloEmpleados();
private JTextArea txtS;
private JTable table;
private JScrollPane scrollPane;
private JTable TABLETA;
private DefaultTableModel modelo;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VentanaEmpleados frame = new VentanaEmpleados();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public VentanaEmpleados() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 790, 671);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

btnAdicionar = new JButton("Adicionar");


btnAdicionar.addActionListener(this);
btnAdicionar.setBounds(475, 86, 112, 45);
contentPane.add(btnAdicionar);

btnReportar = new JButton("Reportar");


btnReportar.addActionListener(this);
btnReportar.setBounds(611, 115, 112, 45);
contentPane.add(btnReportar);

lblIngrese = new JLabel("Ingrese dni: ");


lblIngrese.setBounds(12, 13, 112, 16);
contentPane.add(lblIngrese);

lblIngreseNombre = new JLabel("Ingrese nombre: ");


lblIngreseNombre.setBounds(12, 42, 112, 16);
contentPane.add(lblIngreseNombre);

19
Facultad de Ingeniería
UG (Lima Centro)

lblIngreseApellido = new JLabel("Ingrese apellido:");


lblIngreseApellido.setBounds(12, 71, 112, 16);
contentPane.add(lblIngreseApellido);

lblIngreseEdad = new JLabel("Ingrese edad: ");


lblIngreseEdad.setBounds(12, 100, 112, 16);
contentPane.add(lblIngreseEdad);

lblIngreseFechaDe = new JLabel("Ingrese fecha de nacimiento: ");


lblIngreseFechaDe.setBounds(12, 129, 182, 16);
contentPane.add(lblIngreseFechaDe);

comboBox = new JComboBox();


comboBox.setModel(new DefaultComboBoxModel(new String[] {"D\u00EDa", "1", "2",
"3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
"17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
"30", "31"}));
comboBox.setBounds(197, 126, 45, 22);
contentPane.add(comboBox);

comboBox_1 = new JComboBox();


comboBox_1.setModel(new DefaultComboBoxModel(new String[] {"Mes", "Enero",
"Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre",
"Octubre", "Noviembre", "Diciembre"}));
comboBox_1.setBounds(254, 126, 88, 22);
contentPane.add(comboBox_1);

comboBox_2 = new JComboBox();


comboBox_2.setModel(new DefaultComboBoxModel(new String[] {"A\u00F1o", "2021",
"2020", "2019", "2018", "2017", "2016", "2015", "2014", "2013", "2012", "2011",
"2010", "2009", "2008", "2007", "2006", "2005", "2004", "2003", "2002", "2001",
"2000", "1999", "1998", "1997", "1996", "1995", "1994", "1993", "1992", "1991",
"1990", "1989", "1988", "1987", "1986", "1985", "1984", "1983", "1982", "1981",
"1980", "1979", "1978", "1977", "1976", "1975", "1974", "1973", "1972", "1971",
"1970", "1969", "1968", "1967", "1966", "1965", "1964", "1963", "1962", "1961",
"1960", "1959", "1958", "1957", "1956", "1955", "1954", "1953", "1952", "1951",
"1950", "1949", "1948", "1947", "1946", "1945", "1944", "1943", "1942", "1941",
"1940", "1939", "1938", "1937", "1936", "1935", "1934", "1933", "1932", "1931",
"1930", "1929", "1928", "1927", "1926", "1925", "1924", "1923", "1922", "1921",
"1920", "1919", "1918", "1917", "1916", "1915", "1914", "1913", "1912", "1911",
"1910", "1909", "1908", "1907", "1906", "1905"}));
comboBox_2.setBounds(354, 126, 60, 22);
contentPane.add(comboBox_2);

lblIngreseGnero = new JLabel("Ingrese correo:");


lblIngreseGnero.setBounds(12, 158, 112, 16);
contentPane.add(lblIngreseGnero);

txtCorreo = new JTextField();


txtCorreo.setBounds(197, 155, 116, 22);
contentPane.add(txtCorreo);
txtCorreo.setColumns(10);

txtEdad = new JTextField();


txtEdad.setBounds(197, 97, 116, 22);
contentPane.add(txtEdad);
txtEdad.setColumns(10);

txtApe = new JTextField();


txtApe.setBounds(197, 68, 116, 22);
contentPane.add(txtApe);
txtApe.setColumns(10);

20
Facultad de Ingeniería
UG (Lima Centro)
txtNom = new JTextField();
txtNom.setBounds(197, 39, 116, 22);
contentPane.add(txtNom);
txtNom.setColumns(10);

txtDni = new JTextField();


txtDni.setBounds(197, 10, 116, 22);
contentPane.add(txtDni);
txtDni.setColumns(10);

lblIngreseGnero_1 = new JLabel("Ingrese g\u00E9nero: ");


lblIngreseGnero_1.setBounds(12, 187, 112, 16);
contentPane.add(lblIngreseGnero_1);

comboBox_3 = new JComboBox();


comboBox_3.setModel(new DefaultComboBoxModel(new String[] {"G\u00E9nero",
"Masculino", "Femenino", "Otros"}));
comboBox_3.setBounds(197, 184, 95, 22);
contentPane.add(comboBox_3);

lblIngreseDireccinPostal = new JLabel("Ingrese direcci\u00F3n postal: ");


lblIngreseDireccinPostal.setBounds(12, 216, 156, 16);
contentPane.add(lblIngreseDireccinPostal);

txtDire = new JTextField();


txtDire.setBounds(197, 213, 116, 22);
contentPane.add(txtDire);
txtDire.setColumns(10);

btnModificar = new JButton("Modificar");


btnModificar.addActionListener(this);
btnModificar.setBounds(611, 173, 112, 45);
contentPane.add(btnModificar);

btnBuscar = new JButton("Buscar");


btnBuscar.addActionListener(this);
btnBuscar.setBounds(475, 144, 112, 45);
contentPane.add(btnBuscar);

btnEliminar = new JButton("Eliminar");


btnEliminar.addActionListener(this);
btnEliminar.setBounds(611, 57, 112, 45);
contentPane.add(btnEliminar);

txtS = new JTextArea();


txtS.setBounds(12, 452, 730, 159);
contentPane.add(txtS);

table = new JTable();


table.setBounds(384, 391, 1, 1);
contentPane.add(table);

scrollPane = new JScrollPane();


scrollPane.setBounds(12, 246, 730, 193);
contentPane.add(scrollPane);

TABLETA = new JTable();


TABLETA.setFillsViewportHeight(true);
scrollPane.setViewportView(TABLETA);
modelo = new DefaultTableModel();
modelo.addColumn("Dni");
modelo.addColumn("Nombre");
modelo.addColumn("Apellido");
modelo.addColumn("Edad");

21
Facultad de Ingeniería
UG (Lima Centro)
modelo.addColumn("Fecha de nacimiento");
modelo.addColumn("Género");
modelo.addColumn("Correo");
modelo.addColumn("Dirección");
TABLETA.setModel(modelo);
Listado();
}

public void actionPerformed(ActionEvent arg0) {


if (arg0.getSource() == btnReportar) {
do_btnReportar_actionPerformed(arg0);
}
if (arg0.getSource() == btnEliminar) {
do_btnEliminar_actionPerformed(arg0);
}
if (arg0.getSource() == btnBuscar) {
do_btnBuscar_actionPerformed(arg0);
}
if (arg0.getSource() == btnModificar) {
do_btnModificar_actionPerformed(arg0);
}
if (arg0.getSource() == btnAdicionar) {
do_btnAdicionar_actionPerformed(arg0);
}
}
protected void do_btnAdicionar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empleados e = ae.Buscar(Dni());
if(e==null){
Empleados em = new Empleados(Nombre(), Apellido(), Dni(), Edad(),
Fechadenacimiento(), Genero() , Direccion(), Correo());
ae.Adicionar(em);
Listado();
}
else{
Mensaje("El dni "+Dni()+" existe");
}
}
protected void do_btnModificar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empleados e = ae.Buscar(Dni());
if(e!=null){
e.setNombre(Nombre());
e.setApellido(Apellido());
e.setEdad(Edad());
e.setGenero(Genero());
e.setCorreo(Correo());
e.setDirecpost(Direccion());
Listado();
}
else{
Mensaje("El dni "+Dni()+" no existe");
}
}
protected void do_btnBuscar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empleados e = ae.Buscar(Dni());
if(e!=null){
Imprimir(" "+e.getDni()+" "+e.getNombre()+" "+e.getApellido()+" "+e.getEdad()+"
"+e.getFecdnaci()+" "+
e.getGenero()+" "+e.getCorreo()+" "+e.getDirecpost());
}
else{
Mensaje("El dni "+Dni()+" no existe");

22
Facultad de Ingeniería
UG (Lima Centro)
}

}
protected void do_btnEliminar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empleados e = ae.Buscar(Dni());
if(e!=null){
ae.Eliminar(e);
Listado();
}
else{
Mensaje("El dni "+Dni()+" no existe");
}

}
protected void do_btnReportar_actionPerformed(ActionEvent arg0) {
Imprimir("Cantidad de empleados: "+ae.Tamaño());
Listado();

}
void Imprimir(String s){
txtS.append(s+"\n");
}
void Listado(){
modelo.setRowCount(0);
for(int i=0; i<ae.Tamaño(); i++){
Object[] fila
={ae.Obtener(i).getDni(),ae.Obtener(i).getNombre(),ae.Obtener(i).getApellido(),ae
.Obtener(i).getEdad(),
ae.Obtener(i).getFecdnaci(),ae.Obtener(i).getGenero(),ae.Obtener(i).getCorreo(),a
e.Obtener(i).getDirecpost()};
modelo.addRow(fila);
}
}
int Dni(){
return Integer.parseInt(txtDni.getText());
}
String Nombre(){
return txtNom.getText();
}
String Apellido(){
return txtApe.getText();
}
String Genero(){
return comboBox_3.getSelectedItem().toString();
}
int Edad(){
return Integer.parseInt(txtEdad.getText());
}
String Fechadenacimiento(){
return comboBox.getSelectedItem().toString()+"
"+comboBox_1.getSelectedItem().toString()+"
"+comboBox_2.getSelectedItem().toString();
}
String Correo(){
return txtCorreo.getText();
}
String Direccion(){
return txtDire.getText();
}
void Mensaje(String s){
JOptionPane.showMessageDialog(this, s);
}
}

23
Facultad de Ingeniería
UG (Lima Centro)

Clase Clientes:

package clases;

public class Clientes {

private String nombre,apellido;


private int dni,edad;
private String sexo,nombdprod;
private double montotal;

private static int cont = 1;

public Clientes(String nombre, String apellido, int dni, int edad, String sexo, String
nombdprod, double montotal) {
this.nombre = nombre;
this.apellido = apellido;
this.dni = dni;
this.edad = edad;
this.sexo = sexo;
this.nombdprod = nombdprod;
this.montotal = montotal;
}

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 int getDni() {


return dni;
}

public void setDni(int dni) {


this.dni = dni;
}

public int getEdad() {


return edad;
}

public void setEdad(int edad) {


this.edad = edad;
}

public String getSexo() {


return sexo;
}

24
Facultad de Ingeniería
UG (Lima Centro)

public void setSexo(String sexo) {


this.sexo = sexo;
}

public String getNombdprod() {


return nombdprod;
}

public void setNombdprod(String nombdprod) {


this.nombdprod = nombdprod;
}

public double getMontotal() {


return montotal;
}

public void setMontotal(double montotal) {


this.montotal = montotal;
}

public static int getCont() {


return cont;
}

public static void setCont(int cont) {


Clientes.cont = cont;
}

package ArregloClientes;

import java.util.ArrayList;

import clases.Clientes;

public class ArregloClientes {

private ArrayList<Clientes> cli;

public ArregloClientes(){
cli = new ArrayList<Clientes>();
Adicionar(new Clientes("Luis", "Rojas", 123456, 15, "Masculino", "Capuchino", 15.50));
Adicionar(new Clientes("Maria", "Leveau", 5423412, 18, "Femenino", "Cafe", 13.20));
}

public void Adicionar(Clientes x){


cli.add(x);
}
public int Tamaño(){
return cli.size();
}
public Clientes Obtener(int i){
return cli.get(i);
}
public Clientes Buscar( int Dni){
for(int i=0; i<Tamaño(); i++){
if(Obtener(i).getDni()==Dni)
return Obtener(i);
}

25
Facultad de Ingeniería
UG (Lima Centro)
return null;
}
public void Eliminar(Clientes x){
cli.remove(x);
}
}

package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import ArregloClientes.ArregloClientes;
import clases.Clientes;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTable;

public class Ventana1 extends JFrame implements ActionListener {

private JPanel contentPane;


private JLabel lblNombre;
private JTextField txtNom;
private JLabel lblApellido;
private JTextField txtApe;
private JLabel lblDni;
private JTextField txtDni;
private JLabel lblEdad;
private JTextField txtEd;
private JLabel lblSexo;
private JTextField txtSex;
ArregloClientes adc=new ArregloClientes();
private JLabel lblNombdprod;
private JTextField txtNomProd;
private JLabel lblMontotal;
private JTextField txtMonTot;
private JButton btnAdicionar;
private JButton btnReportar;
private JButton btnEliminar;
private JButton btnModificar;
private JButton btnBuscar;
private JTextArea txtS;
private DefaultTableModel modelo;
private JScrollPane scrollPane;
private JTable tblTable;

/**

26
Facultad de Ingeniería
UG (Lima Centro)
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Ventana1 frame = new Ventana1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Ventana1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 487);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

lblNombre = new JLabel("Nombre");


lblNombre.setBounds(10, 8, 46, 17);
contentPane.add(lblNombre);

txtNom = new JTextField();


txtNom.setBounds(63, 8, 86, 20);
contentPane.add(txtNom);
txtNom.setColumns(10);

lblApellido = new JLabel("Apellido");


lblApellido.setBounds(10, 36, 46, 18);
contentPane.add(lblApellido);

txtApe = new JTextField();


txtApe.setBounds(63, 37, 86, 20);
contentPane.add(txtApe);
txtApe.setColumns(10);

lblDni = new JLabel("Dni");


lblDni.setBounds(20, 70, 36, 14);
contentPane.add(lblDni);

txtDni = new JTextField();


txtDni.setBounds(63, 68, 86, 20);
contentPane.add(txtDni);
txtDni.setColumns(10);

lblEdad = new JLabel("Edad");


lblEdad.setBounds(10, 95, 46, 14);
contentPane.add(lblEdad);

txtEd = new JTextField();


txtEd.setBounds(63, 92, 86, 17);
contentPane.add(txtEd);
txtEd.setColumns(10);

27
Facultad de Ingeniería
UG (Lima Centro)
lblSexo = new JLabel("Sexo");
lblSexo.setBounds(10, 120, 46, 14);
contentPane.add(lblSexo);

txtSex = new JTextField();


txtSex.setBounds(63, 117, 86, 20);
contentPane.add(txtSex);
txtSex.setColumns(10);

lblNombdprod = new JLabel("Nombdprod");


lblNombdprod.setBounds(0, 143, 67, 14);
contentPane.add(lblNombdprod);

txtNomProd = new JTextField();


txtNomProd.setBounds(63, 140, 86, 20);
contentPane.add(txtNomProd);
txtNomProd.setColumns(10);

lblMontotal = new JLabel("Montotal");


lblMontotal.setBounds(10, 168, 46, 14);
contentPane.add(lblMontotal);

txtMonTot = new JTextField();


txtMonTot.setBounds(63, 165, 86, 20);
contentPane.add(txtMonTot);
txtMonTot.setColumns(10);

btnAdicionar = new JButton("Adicionar");


btnAdicionar.addActionListener(this);
btnAdicionar.setBounds(335, 7, 89, 23);
contentPane.add(btnAdicionar);

btnReportar = new JButton("Reportar");


btnReportar.addActionListener(this);
btnReportar.setBounds(335, 36, 89, 23);
contentPane.add(btnReportar);

btnEliminar = new JButton("Eliminar ");


btnEliminar.addActionListener(this);
btnEliminar.setBounds(335, 66, 89, 23);
contentPane.add(btnEliminar);

btnModificar = new JButton("Modificar");


btnModificar.addActionListener(this);
btnModificar.setBounds(335, 94, 89, 23);
contentPane.add(btnModificar);

btnBuscar = new JButton("Buscar");


btnBuscar.addActionListener(this);
btnBuscar.setBounds(335, 120, 89, 20);
contentPane.add(btnBuscar);

txtS = new JTextArea();


txtS.setBounds(10, 315, 414, 122);
contentPane.add(txtS);

scrollPane = new JScrollPane();


scrollPane.setBounds(20, 202, 404, 102);
contentPane.add(scrollPane);

tblTable = new JTable();


tblTable.setFillsViewportHeight(true);

28
Facultad de Ingeniería
UG (Lima Centro)
scrollPane.setViewportView(tblTable);
modelo=new DefaultTableModel();
modelo.addColumn("Nombre");
modelo.addColumn("Apellido");
modelo.addColumn("Dni");
modelo.addColumn("Edad");
modelo.addColumn("Sexo");
modelo.addColumn("Nompdprod");
modelo.addColumn("Montotal");
tblTable.setModel(modelo);

}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnBuscar) {
do_btnBuscar_actionPerformed(arg0);
}
if (arg0.getSource() == btnModificar) {
do_btnModificar_actionPerformed(arg0);
}
if (arg0.getSource() == btnReportar) {
do_btnReportar_actionPerformed(arg0);
}
if (arg0.getSource() == btnEliminar) {
do_btnEliminar_actionPerformed(arg0);
}
if (arg0.getSource() == btnAdicionar) {
do_btnAdicionar_actionPerformed(arg0);
}
}
protected void do_btnAdicionar_actionPerformed(ActionEvent arg0) {
Clientes dc= new Clientes(nombre(), apellido(), dni(), edad(), sexo(), nombdprod(),
montotal());
adc.Adicionar(dc);
Listado();
}
int dni(){
return Integer.parseInt(txtDni.getText());
}
String nombre(){
return txtNom.getText();
}
String apellido(){
return txtApe.getText();
}
String sexo(){
return txtSex.getText();
}
String nombdprod(){
return txtNomProd.getText();
}
int edad(){
return Integer.parseInt(txtEd.getText());
}
double montotal(){
return Double.parseDouble(txtMonTot.getText());
}
void Imprimir(String s){
txtS.append(s+"\n");
}
void Listado(){
modelo.setRowCount(0);
for(int i=0; i< adc.Tamaño(); i++){

29
Facultad de Ingeniería
UG (Lima Centro)
Object[]
fila={adc.Obtener(i).getNombre(),adc.Obtener(i).getApellido(),adc.Obtener(i).getDni(),ad
c.Obtener(i).getEdad(),adc.Obtener(i).getSexo(),adc.Obtener(i).getNombdprod(),adc.Obtene
r(i).getMontotal()};
modelo.addRow(fila);
}
}
protected void do_btnEliminar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Clientes dc= adc.Buscar(dni());
if(dc!=null){
adc.Eliminar(dc);
Listado();
}
else{
Mensaje("El dni "+ dni()+ "no existe");
}
}
void Mensaje(String s){
JOptionPane.showMessageDialog(this, s);
}
protected void do_btnReportar_actionPerformed(ActionEvent arg0) {
Imprimir("Cantidad de clientes: " +adc.Tamaño());
Listado();
}
protected void do_btnModificar_actionPerformed(ActionEvent arg0) {
Clientes dc= adc.Buscar(dni());
if(dc!=null){
dc.setNombre(nombre());
dc.setApellido(apellido());
dc.setSexo(sexo());
dc.setNombdprod(nombdprod());
dc.setEdad(edad());
dc.setDni(dni());
dc.setMontotal(montotal());;
Listado();

}
else {
Mensaje("El dni "+ dni()+ "no existe");
}
}
protected void do_btnBuscar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Clientes dc=adc.Buscar(dni());
if(dc!=null){
Imprimir(""+dc.getDni()+""+dc.getNombre()+""+dc.getApellido()+""+dc.getSexo()
+""+dc.getEdad()+""+dc.getNombdprod()+""+dc.getMontotal());
}
else{
Mensaje("El dni "+ dni()+ " no existe");
}
}
}
Clase Empresas:
package clases;

public class Empresas {


private String nombre;
private int numderuc,numdecuenta,cantdproduc;
//private double igv;
//private String tipodecompago;

30
Facultad de Ingeniería
UG (Lima Centro)
public Empresas(String nombre, int numderuc, int numdecuenta, int
cantdproduc) {

this.nombre = nombre;
this.numderuc = numderuc;
this.numdecuenta = numdecuenta;
this.cantdproduc = cantdproduc;
//this.igv = igv;
//this.tipodecompago = tipodecompago;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getNumderuc() {
return numderuc;
}
public void setNumderuc(int numderuc) {
this.numderuc = numderuc;
}
public int getNumdecuenta() {
return numdecuenta;
}
public void setNumdecuenta(int numdecuenta) {
this.numdecuenta = numdecuenta;
}
public int getCantdproduc() {
return cantdproduc;
}
public void setCantdproduc(int cantdproduc) {
this.cantdproduc = cantdproduc;
}
/*public double getIgv() {
return igv;
}
public void setIgv(double igv) {
this.igv = igv;
}*/
/*public String getTipodecompago() {
return tipodecompago;
}
public void setTipodecompago(String tipodecompago) {
this.tipodecompago = tipodecompago;
}*/

}
package arreglo;
import java.util.ArrayList;

import clases.Empresas;;

public class ArregloEmpresas {


private ArrayList <Empresas> emp;

public ArregloEmpresas(){
emp = new ArrayList<Empresas>();
Adicionar(new Empresas("El gran verde ", 102895273 , 182218963 , 5 ));
Adicionar(new Empresas("El mercadito de las frutas ", 1028596273 , 1878518963 , 10 ));
}

31
Facultad de Ingeniería
UG (Lima Centro)
public void Adicionar(Empresas x){
emp.add(x);
}
public int Tamaño(){
return emp.size();
}
public Empresas Obtener(int i){
return emp.get(i);
}
public Empresas Buscar( int numderuc){
for(int i=0; i<Tamaño(); i++){
if(Obtener(i).getNumderuc()==numderuc)
return Obtener(i);
}
return null;
}
public void Eliminar(Empresas x){
emp.remove(x);
}

package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;

import arreglo.ArregloEmpresas;
import clases.Empresas;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JTable;
import javax.swing.JTextPane;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class VentanaEmpresas extends JFrame implements ActionListener {

private JPanel contentPane;


private JLabel lblNewLabel;
private JLabel lblIngreseNombreDe;
private JLabel lblIngreseNDe;
private JLabel lblCantidadDeProductos;
private JLabel lblTipoDePago;
private JComboBox comboBox;
private JTextField txtNom;
private JTextField txtRuc;
private JTextField txtCuenta;
private JTable TABLETA;
private JTextField txtCant;

32
Facultad de Ingeniería
UG (Lima Centro)
private JButton btnAdicionar;
private JButton btnReportar;
ArregloEmpresas ae = new ArregloEmpresas();
private int numderuc;
private JButton btnEliminar;
private JButton btnModificar;
private JButton btnBuscar;
private JScrollPane scrollPane_1;
private JScrollPane scrollPane;
private JTextArea txtS;
private JTable tblTabla;
private DefaultTableModel modelo;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VentanaEmpresas frame = new VentanaEmpresas();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public VentanaEmpresas() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 694, 519);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

lblNewLabel = new JLabel("Ingrese N\u00B0 de Ruc: ");


lblNewLabel.setBounds(28, 40, 153, 14);
contentPane.add(lblNewLabel);

lblIngreseNombreDe = new JLabel("Ingrese Nombre de la Empresa: ");


lblIngreseNombreDe.setBounds(28, 15, 165, 14);
contentPane.add(lblIngreseNombreDe);

lblIngreseNDe = new JLabel("Ingrese N\u00B0 de Cuenta: ");


lblIngreseNDe.setBounds(28, 65, 165, 14);
contentPane.add(lblIngreseNDe);

lblCantidadDeProductos = new JLabel("Cantidad de Productos: ");


lblCantidadDeProductos.setBounds(28, 90, 153, 14);
contentPane.add(lblCantidadDeProductos);

lblTipoDePago = new JLabel("Tipo de pago: ");


lblTipoDePago.setBounds(28, 115, 165, 14);
contentPane.add(lblTipoDePago);

comboBox = new JComboBox();

33
Facultad de Ingeniería
UG (Lima Centro)
comboBox.setModel(new DefaultComboBoxModel(new String[] {"", "Pago
Efectivo", "Tarjeta Cr\u00E9dito", "Tarjeta D\u00E9bito"}));
comboBox.setBounds(203, 114, 113, 17);
contentPane.add(comboBox);

txtNom = new JTextField();


txtNom.setBounds(203, 12, 113, 20);
contentPane.add(txtNom);
txtNom.setColumns(10);

txtRuc = new JTextField();


txtRuc.setColumns(10);
txtRuc.setBounds(203, 37, 113, 20);
contentPane.add(txtRuc);

txtCuenta = new JTextField();


txtCuenta.setColumns(10);
txtCuenta.setBounds(203, 62, 113, 20);
contentPane.add(txtCuenta);

txtCant = new JTextField();


txtCant.setColumns(10);
txtCant.setBounds(203, 87, 113, 20);
contentPane.add(txtCant);

btnAdicionar = new JButton("Adiconar");


btnAdicionar.addActionListener(this);
btnAdicionar.setBounds(416, 11, 89, 23);
contentPane.add(btnAdicionar);

btnReportar = new JButton("Reportar");


btnReportar.addActionListener(this);
btnReportar.setBounds(416, 56, 89, 23);
contentPane.add(btnReportar);

btnEliminar = new JButton("Eliminar");


btnEliminar.addActionListener(this);
btnEliminar.setBounds(416, 106, 89, 23);
contentPane.add(btnEliminar);

btnModificar = new JButton("Modificar");


btnModificar.addActionListener(this);
btnModificar.setBounds(542, 36, 89, 23);
contentPane.add(btnModificar);

btnBuscar = new JButton("Buscar");


btnBuscar.addActionListener(this);
btnBuscar.setBounds(542, 86, 89, 23);
contentPane.add(btnBuscar);

scrollPane_1 = new JScrollPane();


scrollPane_1.setBounds(28, 157, 629, 162);
contentPane.add(scrollPane_1);

tblTabla = new JTable();


tblTabla.setFillsViewportHeight(true);
scrollPane_1.setViewportView(tblTabla);
modelo=new DefaultTableModel();
modelo.addColumn("Nombre");
modelo.addColumn("N° Ruc");
modelo.addColumn("N° Cuenta");
modelo.addColumn("Cantidad Productos");

34
Facultad de Ingeniería
UG (Lima Centro)
tblTabla.setModel(modelo);

scrollPane = new JScrollPane();


scrollPane.setBounds(28, 330, 629, 139);
contentPane.add(scrollPane);

txtS = new JTextArea();


scrollPane.setViewportView(txtS);
Listado();

}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnBuscar) {
do_btnBuscar_actionPerformed(arg0);
}
if (arg0.getSource() == btnModificar) {
do_btnModificar_actionPerformed(arg0);
}
if (arg0.getSource() == btnEliminar) {
do_btnEliminar_actionPerformed(arg0);
}
if (arg0.getSource() == btnReportar) {
do_btnNewButton_1_actionPerformed(arg0);
}
if (arg0.getSource() == btnAdicionar) {
do_btnNewButton_actionPerformed(arg0);
}
}
protected void do_btnNewButton_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empresas e = new Empresas(Nombre(), Ruc(), Cuenta(), Cantidad());
ae.Adicionar(e);
Listado();

void mensaje(String s){


JOptionPane.showMessageDialog(this, s);
}
void Imprimir(String s){
txtS.append(s+"\n");
}
protected void do_btnNewButton_1_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Listado();
Imprimir("Cantidad de Empresas: "+ae.Tamaño());
}
void Listado(){
modelo.setRowCount(0);
for(int i=0; i<ae.Tamaño(); i++){
Object[]fila={ae.Obtener(i).getNombre(),ae.Obtener(i).getNumderuc(),ae.Obtener(i).getNum
decuenta(),ae.Obtener(i).getCantdproduc()};
modelo.addRow(fila);
}
}

String Nombre(){
return txtNom.getText();
}
int Ruc(){

35
Facultad de Ingeniería
UG (Lima Centro)
return Integer.parseInt(txtRuc.getText());
}
int Cuenta(){
return Integer.parseInt(txtCuenta.getText());
}
int Cantidad(){
return Integer.parseInt(txtCant.getText());
}
protected void do_btnEliminar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empresas es = ae.Buscar(Ruc());
if(es!=null){
ae.Eliminar(es);
Listado();
}
else{
mensaje("El N° de ruc "+Ruc()+ "no existe");
}
}
protected void do_btnModificar_actionPerformed(ActionEvent arg0) {
txtS.setText("");
Empresas es = ae.Buscar(Ruc());
if(es!=null){
es.setNombre(Nombre());
es.setNumderuc(Ruc());
es.setNumdecuenta(Cuenta());
es.setCantdproduc(Cantidad());
Listado();

}else{ mensaje("El N° de Ruc "+Ruc()+"no existe"); }


}

protected void do_btnBuscar_actionPerformed(ActionEvent arg0) {


txtS.setText("");
Empresas es = ae.Buscar(Ruc());
if(ae!=null){
Imprimir(" "+es.getNombre()+" "+es.getNumderuc()+" "+es.getNumdecuenta()+"
"+es.getCantdproduc());
}else{ mensaje("El N° de ruc "+Ruc() +"no existe");}
}
}
Agregación y composición:
Cliente – Empresa – Empleado
Clase Cliente:
package agregación_composición;

public class Cliente {

private String nombre,apellido;


private int dni,edad;
private String género,nombdprod;
private double montotal;
private static int cont = 1;

public Cliente() {
//super();
nombre = null;
apellido = null;
dni = 0;
edad = 0;
género = null;

36
Facultad de Ingeniería
UG (Lima Centro)
nombdprod = null;
montotal = 0;
}

public Cliente(String nombre, int dni) {


//super();
this.nombre = nombre;
this.apellido = apellido;
this.dni = dni;
this.edad = edad;
this.género = género;
this.nombdprod = nombdprod;
this.montotal = montotal;
cont++;
}

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 int getDni() {
return dni;
}
public void setDni(int dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getGénero() {
return género;
}
public void setGénero(String género) {
this.género = género;
}
public String getNombdprod() {
return nombdprod;
}
public void setNombdprod(String nombdprod) {
this.nombdprod = nombdprod;
}
public double getMontotal() {
return montotal;
}
public void setMontotal(double montotal) {
this.montotal = montotal;
}
public static int getCont() {
return cont;
}
public static void setCont(int cont) {
Cliente.cont = cont;
}

37
Facultad de Ingeniería
UG (Lima Centro)

Clase Empresa:
package agregación_composición;

public class Empresa {

private String nombre;


private int numdruc,numdcuenta;
private int cantdprod;
private double igv;
private String tipdcompago;
private Cliente cliente;
private Empleado empleado;

public Empresa() {
//super();
nombre = null;
numdruc = 0;
numdcuenta = 0;
cantdprod = 0;
igv = 0;
tipdcompago = null;
empleado = new Empleado();
}

public Empresa(String nombre, int numdruc) {


//super();
this.nombre = nombre;
this.numdruc = numdruc;
this.numdcuenta = numdcuenta;
this.cantdprod = cantdprod;
this.igv = igv;
this.tipdcompago = tipdcompago;
empleado = new Empleado();
}

public String getNombre() {


return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getNumdruc() {
return numdruc;
}
public void setNumdruc(int numdruc) {
this.numdruc = numdruc;
}
public int getNumdcuenta() {
return numdcuenta;
}
public void setNumdcuenta(int numdcuenta) {
this.numdcuenta = numdcuenta;
}
public int getCantdprod() {
return cantdprod;
}
public void setCantdprod(int cantdprod) {
this.cantdprod = cantdprod;
}
public double getIgv() {

38
Facultad de Ingeniería
UG (Lima Centro)
return igv;
}
public void setIgv(double igv) {
this.igv = igv;
}
public String getTipdcompago() {
return tipdcompago;
}
public void setTipdcompago(String tipdcompago) {
this.tipdcompago = tipdcompago;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public Empleado getEmpleado() {
return empleado;
}
public void setEmpleado(Empleado empleado) {
this.empleado = empleado;
}

}
Clase Empleado:
package agregación_composición;

public class Empleado {

private String nombre,apellido;


private int dni,edad;
private String género,direcpost,correo;
private String fecdnaci;
private static int cont = 1;

public Empleado() {
//super();
nombre = null;
apellido = null;
dni = 0;
edad = 0;
género = null;
direcpost = null;
correo = null;
fecdnaci = null;
}

public Empleado(String nombre, int dni) {


//super();
this.nombre = nombre;
this.apellido = apellido;
this.dni = dni;
this.edad = edad;
this.género = género;
this.direcpost = direcpost;
this.correo = correo;
this.fecdnaci = fecdnaci;
cont++;
}

public String getNombre() {


return nombre;

39
Facultad de Ingeniería
UG (Lima Centro)
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
public int getDni() {
return dni;
}
public void setDni(int dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getGénero() {
return género;
}
public void setGénero(String género) {
this.género = género;
}
public String getDirecpost() {
return direcpost;
}
public void setDirecpost(String direcpost) {
this.direcpost = direcpost;
}
public String getCorreo() {
return correo;
}
public void setCorreo(String correo) {
this.correo = correo;
}
public String getFecdnaci() {
return fecdnaci;
}
public void setFecdnaci(String fecdnaci) {
this.fecdnaci = fecdnaci;
}
public static int getCont() {
return cont;
}
public static void setCont(int cont) {
Empleado.cont = cont;
}

JFrame VentanaEmpresa:
package gui;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;

40
Facultad de Ingeniería
UG (Lima Centro)
import javax.swing.border.EmptyBorder;

import agregación_composición.Cliente;
import agregación_composición.Empleado;
import agregación_composición.Empresa;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class VentanaEmpresa extends JFrame implements ActionListener {

private JPanel contentPane;


private JLabel lblEmpresa;
private JLabel lblNombre;
private JTextField txtNomEmpresa;
private JLabel lblRuc;
private JTextField txtRuc;
private JButton btnProcesar;
private JLabel lblEmpleado;
private JLabel lblNombre_1;
private JTextField txtNomEmpleado;
private JLabel lblDni;
private JTextField txtDniEmpleado;
private JLabel lblCliente;
private JLabel lblNombre_2;
private JTextField txtNomCliente;
private JLabel lblDni_1;
private JTextField txtDniCliente;
private JScrollPane scrollPane;
private JTextArea txtS;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
VentanaEmpresa frame = new VentanaEmpresa();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public VentanaEmpresa() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 685, 483);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

lblEmpresa = new JLabel("Empresa");

41
Facultad de Ingeniería
UG (Lima Centro)
lblEmpresa.setBounds(12, 13, 56, 16);
contentPane.add(lblEmpresa);

lblNombre = new JLabel("Nombre: ");


lblNombre.setBounds(32, 42, 56, 16);
contentPane.add(lblNombre);

txtNomEmpresa = new JTextField();


txtNomEmpresa.setBounds(117, 39, 116, 22);
contentPane.add(txtNomEmpresa);
txtNomEmpresa.setColumns(10);

lblRuc = new JLabel("Ruc: ");


lblRuc.setBounds(277, 42, 56, 16);
contentPane.add(lblRuc);

txtRuc = new JTextField();


txtRuc.setBounds(345, 39, 116, 22);
contentPane.add(txtRuc);
txtRuc.setColumns(10);

btnProcesar = new JButton("Procesar");


btnProcesar.addActionListener(this);
btnProcesar.setBounds(516, 107, 97, 25);
contentPane.add(btnProcesar);

lblEmpleado = new JLabel("Empleado");


lblEmpleado.setBounds(12, 82, 56, 16);
contentPane.add(lblEmpleado);

lblNombre_1 = new JLabel("Nombre: ");


lblNombre_1.setBounds(32, 111, 56, 16);
contentPane.add(lblNombre_1);

txtNomEmpleado = new JTextField();


txtNomEmpleado.setBounds(117, 108, 116, 22);
contentPane.add(txtNomEmpleado);
txtNomEmpleado.setColumns(10);

lblDni = new JLabel("Dni: ");


lblDni.setBounds(277, 111, 56, 16);
contentPane.add(lblDni);

txtDniEmpleado = new JTextField();


txtDniEmpleado.setBounds(345, 108, 116, 22);
contentPane.add(txtDniEmpleado);
txtDniEmpleado.setColumns(10);

lblCliente = new JLabel("Cliente");


lblCliente.setBounds(12, 151, 56, 16);
contentPane.add(lblCliente);

lblNombre_2 = new JLabel("Nombre: ");


lblNombre_2.setBounds(32, 180, 56, 16);
contentPane.add(lblNombre_2);

txtNomCliente = new JTextField();


txtNomCliente.setBounds(117, 177, 116, 22);
contentPane.add(txtNomCliente);
txtNomCliente.setColumns(10);

lblDni_1 = new JLabel("Dni: ");


lblDni_1.setBounds(277, 180, 56, 16);
contentPane.add(lblDni_1);

42
Facultad de Ingeniería
UG (Lima Centro)

txtDniCliente = new JTextField();


txtDniCliente.setBounds(345, 177, 116, 22);
contentPane.add(txtDniCliente);
txtDniCliente.setColumns(10);

scrollPane = new JScrollPane();


scrollPane.setBounds(12, 227, 632, 196);
contentPane.add(scrollPane);

txtS = new JTextArea();


scrollPane.setViewportView(txtS);
}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnProcesar) {
do_btnProcesar_actionPerformed(arg0);
}
}
protected void do_btnProcesar_actionPerformed(ActionEvent arg0) {

String NomEmpresa = txtNomEmpresa.getText();


int Ruc = Integer.parseInt(txtRuc.getText());
String NomEmpleado = txtNomEmpleado.getText() ;
int DniEmpleado = Integer.parseInt(txtDniEmpleado.getText());
String NomCliente = txtNomCliente.getText();
int DniCliente = Integer.parseInt(txtDniCliente.getText());

Empresa empresa = new Empresa(NomEmpresa, Ruc);


Empleado empleado = new Empleado(NomEmpleado, DniEmpleado);
Listado(empresa, empleado);

Cliente cliente = new Cliente(NomCliente, DniCliente);


Listado(empresa, cliente);

}
void Listado(Empresa x, Empleado y){
Imprimir("El nombre de la empresa es: "+x.getNombre());
Imprimir("El Ruc de la empresa es: "+x.getNumdruc());
Imprimir("El nombre del empleado es: "+y.getNombre());
Imprimir("El dni del empreado es: "+y.getDni());
Imprimir("-------------------------------------------------------------");
}
void Listado(Empresa x, Cliente y){
Imprimir("El nombre de la empresa es: "+x.getNombre());
Imprimir("El Ruc de la empresa es: "+x.getNumdruc());
Imprimir("El nombre del cliente es: "+y.getNombre());
Imprimir("El dni del cliente es: "+y.getDni());
Imprimir("-------------------------------------------------------------");
}
void Imprimir(String s){
txtS.append(s+"\n");
}
}
EMPLEADO-CLIENTE (ASOCIACIÓN)

43
Facultad de Ingeniería
UG (Lima Centro)

package asociación;

public class Empleados1 {


private String nombre, apellido;
private int dni;
private DatosClientes1 dcli;
public Empleados1(String nombre, String apellido, int dni, DatosClientes1 dcli) {
this.nombre = nombre;
this.apellido = apellido;
this.dni = dni;
this.dcli = dcli;
}
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 int getDni() {
return dni;
}
public void setDni(int dni) {
this.dni = dni;
}
public DatosClientes1 getDcli() {
return dcli;
}

44
Facultad de Ingeniería
UG (Lima Centro)
public void setDcli(DatosClientes1 dcli) {
this.dcli = dcli;
}

package asociación;

public class DatosClientes1 {


private String nombre, apellido, nomProd;
private int dni;
private double montoTotal;
public DatosClientes1(String nombre, String apellido, String nomProd, int dni, double
montoTotal) {
super();
this.nombre = nombre;
this.apellido = apellido;
this.nomProd = nomProd;
this.dni = dni;
this.montoTotal = montoTotal;
}
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 getNomProd() {
return nomProd;
}
public void setNomProd(String nomProd) {
this.nomProd = nomProd;
}
public int getDni() {
return dni;
}
public void setDni(int dni) {
this.dni = dni;
}
public double getMontoTotal() {
return montoTotal;
}
public void setMontoTotal(double montoTotal) {
this.montoTotal = montoTotal;
}

package guiAsociación2;

45
Facultad de Ingeniería
UG (Lima Centro)

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import asociación.*;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class V1 extends JFrame implements ActionListener {

private JPanel contentPane;


private JLabel lblEmpleado;
private JLabel lblNombre;
private JLabel lblApellido;
private JLabel lblDni;
private JLabel lblCliente;
private JButton btnProcesar;
private JLabel lblNombre_1;
private JLabel lblApellido_1;
private JLabel lblDni_1;
private JLabel lblNomprod;
private JLabel lblMontotal;
private JTextField txtNomEmp;
private JTextField txtApeEmp;
private JTextField txtDniEmp;
private JTextField txtNomCli;
private JTextField txtApeCli;
private JTextField txtDniCli;
private JTextField txtNomProd;
private JTextField txtMonTot;
private JScrollPane scrollPane;
private JTextArea txtS;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
V1 frame = new V1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public V1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

46
Facultad de Ingeniería
UG (Lima Centro)
setBounds(100, 100, 450, 495);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

lblEmpleado = new JLabel("Empleado");


lblEmpleado.setBounds(10, 11, 46, 14);
contentPane.add(lblEmpleado);

lblNombre = new JLabel("Nombre");


lblNombre.setBounds(10, 36, 46, 14);
contentPane.add(lblNombre);

lblApellido = new JLabel("Apellido");


lblApellido.setBounds(10, 59, 46, 14);
contentPane.add(lblApellido);

lblDni = new JLabel("Dni");


lblDni.setBounds(10, 84, 46, 14);
contentPane.add(lblDni);

lblCliente = new JLabel("Cliente");


lblCliente.setBounds(10, 111, 46, 14);
contentPane.add(lblCliente);

btnProcesar = new JButton("Procesar");


btnProcesar.addActionListener(this);
btnProcesar.setBounds(335, 7, 89, 23);
contentPane.add(btnProcesar);

lblNombre_1 = new JLabel("Nombre");


lblNombre_1.setBounds(10, 134, 46, 14);
contentPane.add(lblNombre_1);

lblApellido_1 = new JLabel("Apellido");


lblApellido_1.setBounds(10, 159, 46, 14);
contentPane.add(lblApellido_1);

lblDni_1 = new JLabel("Dni");


lblDni_1.setBounds(10, 182, 46, 14);
contentPane.add(lblDni_1);

lblNomprod = new JLabel("NomProd");


lblNomprod.setBounds(10, 202, 46, 14);
contentPane.add(lblNomprod);

lblMontotal = new JLabel("Montotal");


lblMontotal.setBounds(10, 227, 46, 14);
contentPane.add(lblMontotal);

txtNomEmp = new JTextField();


txtNomEmp.setBounds(49, 33, 86, 20);
contentPane.add(txtNomEmp);
txtNomEmp.setColumns(10);

txtApeEmp = new JTextField();


txtApeEmp.setBounds(49, 56, 86, 20);
contentPane.add(txtApeEmp);
txtApeEmp.setColumns(10);

txtDniEmp = new JTextField();

47
Facultad de Ingeniería
UG (Lima Centro)
txtDniEmp.setBounds(34, 81, 86, 20);
contentPane.add(txtDniEmp);
txtDniEmp.setColumns(10);

txtNomCli = new JTextField();


txtNomCli.setBounds(49, 131, 86, 20);
contentPane.add(txtNomCli);
txtNomCli.setColumns(10);

txtApeCli = new JTextField();


txtApeCli.setBounds(49, 156, 86, 20);
contentPane.add(txtApeCli);
txtApeCli.setColumns(10);

txtDniCli = new JTextField();


txtDniCli.setBounds(34, 179, 86, 20);
contentPane.add(txtDniCli);
txtDniCli.setColumns(10);

txtNomProd = new JTextField();


txtNomProd.setBounds(59, 199, 86, 20);
contentPane.add(txtNomProd);
txtNomProd.setColumns(10);

txtMonTot = new JTextField();


txtMonTot.setBounds(66, 224, 86, 20);
contentPane.add(txtMonTot);
txtMonTot.setColumns(10);

scrollPane = new JScrollPane();


scrollPane.setBounds(10, 252, 414, 193);
contentPane.add(scrollPane);

txtS = new JTextArea();


scrollPane.setViewportView(txtS);
}

public void actionPerformed(ActionEvent e) {


if (e.getSource() == btnProcesar) {
do_btnProcesar_actionPerformed(e);
}
}
protected void do_btnProcesar_actionPerformed(ActionEvent e) {
String nombre=txtNomEmp.getText();
String apellido=txtApeEmp.getText();
int dni=Integer.parseInt(txtDniEmp.getText());
String nombreCli=txtNomCli.getText();
String apellidoCli=txtApeCli.getText();
int dniCli=Integer.parseInt(txtDniCli.getText());
String nomProd=txtNomProd.getText();
Double monTot=Double.parseDouble(txtMonTot.getText());
DatosClientes1 dc1=new DatosClientes1(nombreCli, apellidoCli, nomProd, dni, monTot);
Empleados1 e1=new Empleados1(nombre, apellido, dni, dc1);
Listado(e1, dc1);
}
void Listado(Empleados1 e, DatosClientes1 dc){
Imprimir("El nombre del empleado es: "+e.getNombre());
Imprimir("El apellido del empleado es: "+e.getApellido());
Imprimir("El dni del empleado es: "+e.getDni());
Imprimir("El nombre del cliente es: "+dc.getNombre());
Imprimir("El apellido del cliente es: "+dc.getApellido());
Imprimir("El dni del cliente es: "+dc.getDni());

48
Facultad de Ingeniería
UG (Lima Centro)
Imprimir("El producto consumido es: "+dc.getNomProd());
Imprimir("El precio total es: "+dc.getMontoTotal());
}
void Imprimir(String s){
txtS.append(s+"\n");
}
}

CLIENTE-PRODUCTO (ASOCIACIÓN)
package asociación;

public class Clientes {


private String nombre,apellido,sexo;
private int dni, edad;
private Productos produ;
public Clientes(String nombre, String apellido, String sexo, int dni, int edad,
Productos produ) {
super();
this.nombre = nombre;
this.apellido = apellido;
this.sexo = sexo;
this.dni = dni;
this.edad = edad;
this.produ = produ;
}
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 getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public int getDni() {
return dni;
}
public void setDni(int dni) {
this.dni = dni;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public Productos getProdu() {
return produ;
}
public void setProdu(Productos produ) {

49
Facultad de Ingeniería
UG (Lima Centro)
this.produ = produ;
}

}
package asociación;

public class Productos {


private int cod,NumLote,FechaV;
private String nombreP,marca;
private double precio;
public Productos(int cod, int numLote, int fechaV, String nombreP, String marca, double
precio) {
super();
this.cod = cod;
this.NumLote = numLote;
this.FechaV = fechaV;
this.nombreP = nombreP;
this.marca = marca;
this.precio = precio;
}
public int getCod() {
return cod;
}
public void setCod(int cod) {
this.cod = cod;
}
public int getNumLote() {
return NumLote;
}
public void setNumLote(int numLote) {
NumLote = numLote;
}
public int getFechaV() {
return FechaV;
}
public void setFechaV(int fechaV) {
FechaV = fechaV;
}
public String getNombreP() {
return nombreP;
}
public void setNombreP(String nombreP) {
this.nombreP = nombreP;
}
public String getMarca() {
return marca;
}
public void setMarca(String marca) {
this.marca = marca;
}
public double getPrecio() {
return precio;
}
public void setPrecio(double precio) {
this.precio = precio;
}

}
package gui;

50
Facultad de Ingeniería
UG (Lima Centro)
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import asociación.Clientes;
import asociación.Productos;

import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;

public class V1 extends JFrame implements ActionListener {

private JPanel contentPane;


private JLabel lblCliente;
private JLabel lblNombre;
private JLabel lblApellido;
private JLabel lblDni;
private JLabel lblSexo;
private JLabel lblProducto;
private JLabel lblCdigo;
private JLabel lblNombre_1;
private JLabel lblMarca;
private JLabel lblNmeroDeLote;
private JLabel lblFechaVencimiento;
private JLabel lblPrecio;
private JTextField txtNom;
private JTextField txtApe;
private JTextField txtDni;
private JTextField txtCod;
private JTextField txtNomprodu;
private JTextField txtMarca;
private JTextField txtNumLote;
private JTextField txtFecha;
private JTextField txtPrecio;
private JScrollPane scrollPane;
private JTextArea txtS;
private JButton btnProcesar;
private JLabel lblEdad;
private JTextField txtEdad;
private JTextField txtSex;

/**

51
Facultad de Ingeniería
UG (Lima Centro)
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
V1 frame = new V1();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public V1() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 457);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

lblCliente = new JLabel("Cliente");


lblCliente.setBounds(10, 11, 76, 14);
contentPane.add(lblCliente);

lblNombre = new JLabel("Nombre:");


lblNombre.setBounds(20, 34, 66, 14);
contentPane.add(lblNombre);

lblApellido = new JLabel("Apellido:");


lblApellido.setBounds(20, 59, 66, 14);
contentPane.add(lblApellido);

lblDni = new JLabel("DNI:");


lblDni.setBounds(20, 84, 66, 14);
contentPane.add(lblDni);

lblSexo = new JLabel("Sexo:");


lblSexo.setBounds(20, 109, 66, 14);
contentPane.add(lblSexo);

lblProducto = new JLabel("Producto");


lblProducto.setBounds(10, 186, 76, 14);
contentPane.add(lblProducto);

lblCdigo = new JLabel("C\u00F3digo");


lblCdigo.setBounds(20, 209, 66, 14);

52
Facultad de Ingeniería
UG (Lima Centro)
contentPane.add(lblCdigo);

lblNombre_1 = new JLabel("Nombre:");


lblNombre_1.setBounds(20, 234, 66, 14);
contentPane.add(lblNombre_1);

lblMarca = new JLabel("Marca:");


lblMarca.setBounds(20, 259, 66, 14);
contentPane.add(lblMarca);

lblNmeroDeLote = new JLabel("N\u00FAmero de lote:");


lblNmeroDeLote.setBounds(20, 284, 99, 14);
contentPane.add(lblNmeroDeLote);

lblFechaVencimiento = new JLabel("Fecha vencimiento:");


lblFechaVencimiento.setBounds(10, 309, 104, 14);
contentPane.add(lblFechaVencimiento);

lblPrecio = new JLabel("Precio:");


lblPrecio.setBounds(20, 334, 46, 14);
contentPane.add(lblPrecio);

txtNom = new JTextField();


txtNom.setBounds(113, 31, 86, 20);
contentPane.add(txtNom);
txtNom.setColumns(10);

txtApe = new JTextField();


txtApe.setColumns(10);
txtApe.setBounds(113, 56, 86, 20);
contentPane.add(txtApe);

txtDni = new JTextField();


txtDni.setColumns(10);
txtDni.setBounds(113, 84, 86, 20);
contentPane.add(txtDni);

txtCod = new JTextField();


txtCod.setColumns(10);
txtCod.setBounds(113, 200, 86, 20);
contentPane.add(txtCod);

txtNomprodu = new JTextField();


txtNomprodu.setColumns(10);
txtNomprodu.setBounds(113, 225, 86, 20);
contentPane.add(txtNomprodu);

txtMarca = new JTextField();


txtMarca.setColumns(10);
txtMarca.setBounds(113, 253, 86, 20);
contentPane.add(txtMarca);

53
Facultad de Ingeniería
UG (Lima Centro)
txtNumLote = new JTextField();
txtNumLote.setColumns(10);
txtNumLote.setBounds(113, 278, 86, 20);
contentPane.add(txtNumLote);

txtFecha = new JTextField();


txtFecha.setColumns(10);
txtFecha.setBounds(113, 309, 86, 20);
contentPane.add(txtFecha);

txtPrecio = new JTextField();


txtPrecio.setColumns(10);
txtPrecio.setBounds(113, 334, 86, 20);
contentPane.add(txtPrecio);

scrollPane = new JScrollPane();


scrollPane.setBounds(228, 34, 196, 373);
contentPane.add(scrollPane);

txtS = new JTextArea();


scrollPane.setViewportView(txtS);

btnProcesar = new JButton("Procesar");


btnProcesar.addActionListener(this);
btnProcesar.setBounds(52, 384, 89, 23);
contentPane.add(btnProcesar);

lblEdad = new JLabel("Edad:");


lblEdad.setBounds(20, 137, 66, 14);
contentPane.add(lblEdad);

txtEdad = new JTextField();


txtEdad.setColumns(10);
txtEdad.setBounds(113, 140, 86, 20);
contentPane.add(txtEdad);

txtSex = new JTextField();


txtSex.setBounds(113, 109, 86, 20);
contentPane.add(txtSex);
txtSex.setColumns(10);
}
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == btnProcesar) {
do_btnProcesar_actionPerformed(arg0);
}
}
protected void do_btnProcesar_actionPerformed(ActionEvent arg0) {
String nom = txtNom.getText();
String ape = txtApe.getText();
String sexo = txtSex.getText();
int edad= Integer.parseInt(txtEdad.getText());
int dni = Integer.parseInt(txtDni.getText());

54
Facultad de Ingeniería
UG (Lima Centro)
int cod = Integer.parseInt(txtCod.getText());
String nomProd = txtNomprodu.getText();
String marca = txtMarca.getText();
int numlote = Integer.parseInt(txtNumLote.getText());
int fecha = Integer.parseInt(txtFecha.getText());
double precio = Double.parseDouble(txtPrecio.getText());
Productos p = new Productos(cod, numlote, fecha, nomProd, marca, precio);
Clientes c = new Clientes(nom, ape, sexo, dni, edad,p);
Listado(c, p);

}
void Listado(Clientes c1, Productos p1){
imprimir("El nombre del cliente es: "+c1.getNombre());
imprimir("El apellido del cliente es: "+c1.getApellido());
imprimir("El DNI del cliente es: "+c1.getDni());
imprimir("El Sexo del cliente es: "+c1.getSexo());
imprimir("La edad del cliente es: "+c1.getEdad());
imprimir("El código del producto es: "+p1.getCod());
imprimir("El nombre del producto es: "+p1.getNombreP());
imprimir("La marca del producto es: "+p1.getMarca());
imprimir("El número de lote es: "+p1.getNumLote());
imprimir("La fecha de vencimiento: "+p1.getFechaV());
imprimir("El precio total es: "+p1.getPrecio());
}

void imprimir(String s){


txtS.append(s+"\n");
}
}

55
Facultad de Ingeniería
UG (Lima Centro)

Ventana de resultado:

56
Facultad de Ingeniería
UG (Lima Centro)

57
Facultad de Ingeniería
UG (Lima Centro)

58
Facultad de Ingeniería
UG (Lima Centro)

59
Facultad de Ingeniería
UG (Lima Centro)

Rúbrica de evaluación

Define el caso de
acuerdo a lo solicitado,
Define el caso de
el código tiene lógica
acuerdo a lo solicitado,
de programación y los Define el caso de
el código tiene lógica de
resultados es lo acuerdo a lo
programación y los
esperado. solicitado. Se
resultados es lo No presenta
Adjunta código descontará 1
Caso 1 esperado. el caso
editable y el punto por cada
Adjunta código editable
workspace error ortográfico y
Se descontará 1 punto
Se descontará 1 gramatical.
por cada error
punto por cada error
ortográfico y gramatical.
ortográfico y
gramatical.
10 puntos 5 puntos 2 puntos 0 puntos
Adjunta
Adjunta
informe(mínimo 6 Adjunta informe(mínimo
informe(mínimo 2
elementos), código 4 elementos), código
elementos), código
editable y el editable
editable No presenta
workspace Se descontará 1 punto
Caso 2 Se descontará 1 el caso
Se descontará 1 por cada error
punto por cada
punto por cada error ortográfico y/o
error ortográfico
ortográfico y/o gramatical.
y/o gramatical.
gramatical.
10 puntos 5 puntos 2 puntos 0 puntos

60

También podría gustarte