0% encontró este documento útil (0 votos)
34 vistas61 páginas

Informe sobre Software de Ventas de Laptops

Cargado por

Lalala1234
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas61 páginas

Informe sobre Software de Ventas de Laptops

Cargado por

Lalala1234
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

2

Informe del Proyecto de Introducción a la Algoritmia

INDICE

.I. Introducción...........................................................................................................................3
II. Justificación..........................................................................................................................3
III. Objetivos............................................................................................................................4
IV. Definición:.........................................................................................................................4
Ventanas del programa...........................................................................................................4
Menú Archivo............................................................................................................................5
 Submenú Salir..............................................................................................................5
Menú Ventas..............................................................................................................................6
Submenú Vender:.................................................................................................................6
 Ventana de Aviso de ventas.....................................................................................6
 Submenú Generar reportes......................................................................................7
 Menú Mantenimiento......................................................................................................7
 Submenú Consultar Laptops...................................................................................7
 Submenú Modificar Laptops....................................................................................8
 Submenú Listar Laptops...........................................................................................8
Menú Configurar.......................................................................................................................9
 Submenú Porcentajes de descuentos...................................................................9
 Submenú Configurar obsequios.............................................................................9
 Submenú Configurar cantidad optima.................................................................10
 Submenú Configurar cuota diaria.........................................................................10
Menú Ayuda.............................................................................................................................10
Submenú Acerca de tienda:.............................................................................................10
V. Entregables: Código Fuente Java.............................................................................11
VI. Conclusiones....................................................................................................................60
VII. Recomendaciones..............................................................................................................60
VIII. Bibliografía........................................................................................................................60
3
Informe del Proyecto de Introducción a la Algoritmia

I. Introducción

El presente informe muestra el desarrollo de un software orientado a facilitar el


proceso de ventas de una tienda que comercializa laptops para estudiantes de
nivel escolar y técnico superior.
Aunque, originalmente, el uso de ordenadores fue concebido para gestión de
negocios o realizar cálculos complejos en la actualidad el uso de estas máquinas
se ha diversificado hasta convertirlos en accesorios de uso cotidiano con
programas o “softwares” compatibles para cualquier edad. Así como su uso fue
variando, también se desarrollaron nuevos modelos de ordenadores, pasando de
ser grandes máquinas que utilizaban el espacio de un sótano hasta convertirse en
equipos portables que pueden ser transportados en una mochila, nos referimos a
las laptops.

Las laptops son equipos que gracias a su portabilidad se han convertido en


accesorios útiles para estudiantes.

Las limitaciones de este informe incluyen antecedentes de fabricación de


productos, almacenamiento de fichas técnicas detalladas de los productos y
posteriormente la distribución externa del producto, el servicio post venta de las
laptops, garantías u otros vinculados a la atención al cliente.

II. Justificación

En la implementación de este software se requiere optimizar y mejorar la


eficiencia en el equipo comercial, entregando así una mejor experiencia al cliente,
optimizar el seguimiento de las oportunidades y tomar futuras decisiones en base
a sus datos registrados, lo que tendrá como fin un incremento en sus ventas y una
mejor satisfacción del cliente en la atención.
Beneficiarios directos:
 El equipo de ventas que tendrá una mayor organización y productividad a
la hora de vender sus productos.
 El responsable de ventas, ya que tendrá un mayor control y visibilidad de
sus ventas.
 El responsable del marketing, porque tendrá registros que le permitan
enfocar su trabajo al publico más objetivo sobre los equipos que más
ventas tienen.
4
Informe del Proyecto de Introducción a la Algoritmia

Beneficiarios indirectos:
 Los estudiantes, pues tendrán una mejor experiencia y un servicio más
personalizado de acuerdos a sus necesidades de estudio.
 Los profesores que tendrán alumnos que cuenten con equipos óptimos
para poder aprender y desarrollar en una mejor manera las clases.
 Los padres de familia, porque verán un mejor desarrollo y aprendizaje en
sus hijos lo que causara en ellos una mayor satisfacción.

III. Objetivos
Los objetivos determinados para este proyecto son los siguientes:
Objetivo 1: Mejorar la gestión del proceso de ventas, al agilizar el proceso de
cotización, presentación de especificaciones técnicas y gestión de inventario
disponible.
Objetivo2: Aumentar el valor promedio de venta de laptops ofreciendo
descuentos y proveyendo de accesorios, y ofreciendo mejoras según la
disponibilidad y uso del cliente.
Objetivo3: Asegurar una mejor generación de ventas o cotizaciones mediante
procesos de automatizaciones, ya que solo se ingresará datos de pedido, que se
validaran y se podrá tener mejores resultados.

IV. Definición:
Ventanas del programa
5
Informe del Proyecto de Introducción a la Algoritmia

En la ventana principal podemos visualizar la barra de menú y los submenús que


tienen las siguientes opciones:
 Menú Archivo:
o submenú: Salir
 Menú Mantenimiento:
o submenú: consulta Laptops, modificar Laptops y listar Laptops.
 Menú Ventas:
o submenú: vender y generar reportes.
 Menú Configuración:
o submenú: configurar descuento, configurar obsequios, configurar
cantidad óptima y configurar cuota diaria.
 Menú Ayuda:
o submenú: acerca de tienda

A continuación, se explica el funcionamiento de cada submenú:

Menú Archivo
 Submenú Salir: Al pulsar esta opción se cerrará toda la ventana de
simulación.
6
Informe del Proyecto de Introducción a la Algoritmia

Menú Ventas
Submenú Vender:
Al seleccionar esta opción del menú Ventas, podremos ver y accionar la
ventana que efectúa la venta y te brindara el costo total, el descuento y los
obsequios según el modelo seleccionado es por ello que para realizar una
venta se ingresa el modelo de los vehículos y la cantidad de unidades por
adquirir. Al elegir un modelo se pude visualizar su precio unitario.

 Ventana de Aviso de ventas

 Esta ventana mostrará el avance de las ventas. Cada 5 operaciones


notifican el importe total vendido y su porcentaje respecto a la cuota diaria.
7
Informe del Proyecto de Introducción a la Algoritmia

 Submenú Generar reportes


Al seleccionar este submenú, podremos ver la ventana en la que se podrán
obtener distintos tipos de reportes.
Los reportes que se generan, son los siguientes:
 Ventas por modelo
 Ventas en relación a la venta óptima
 Precios en relación al precio promedio
 Promedios, menores y mayores Para salir de la ventana, se pulsa el botón
cerrar.
8
Informe del Proyecto de Introducción a la Algoritmia

0A continuación, la descripción de cada reporte:

 Menú Mantenimiento
 Submenú Consultar Laptops
Al seleccionar este submenú, veremos la caja de diálogo en la que se puede
elegir un modelo de laptop y consultar sus características y precio unitario.
Al abrir, inmediatamente se ven los datos del primer modelo de laptop.
 Al seleccionar un modelo, podremos ver sus características, como precio,
memoria RAM, tamaño, disco duro, Duración de batería.
 Al pulsar el botón Cerrar, se cierra la ventana.
9
Informe del Proyecto de Introducción a la Algoritmia

Submenú Modificar Laptops


Al seleccionar este submenú, veremos la ventana donde se puede elegir un
modelo de laptop para modificar el costo de laptop.
 Al pulsar el botón grabar se guardarán los cambios que se hayan registrado.
 Al pulsar el botón Cerrar se cierra la caja de diálogo.

 Submenú Listar Laptops


 Al seleccionar esta opción del menú podremos ver la ventana en la que se
muestra un listado de todos los modelos de las laptops con características
y su precio respectivo por unidad.
 Al pulsar el botón Listar muestra un reporte de todos los modelos de
laptops.
 Al pulsar el botón Cerrar se cerrará la ventana.
10
Informe del Proyecto de Introducción a la Algoritmia

Menú Configurar
 Submenú Porcentajes de descuentos
 En esta ventana de submenú, el usuario tiene la posibilidad de modificar
los descuentos que se le dará al cliente según la cantidad de unidades

compradas.
 Al pulsar el botón aceptar se guardarán las modificaciones realizadas.
 El botón cancelar cierra la ventana sin que se guarden las modificaciones.
11
Informe del Proyecto de Introducción a la Algoritmia

 Submenú Configurar obsequios

 En este submenú permite que el usuario modifique el tipo de obsequio que se


le dará al cliente que compre una determinada cantidad de laptops.
 Al pulsar el botón “Aceptar” se guarda la información modificada.
 Al pulsar en “Cancelar” se cierra la ventana sin guardar los cambios

Submenú Configurar cantidad optima

 En esta ventana el usuario tiene la posibilidad de modificar la cantidad optima


de unidades vendidas que se desean alcanzar.
 Al pulsar en el botón aceptar se guarda la información modificada.
 Al pulsar en el botón cancelar se cierra la ventana sin guardarse información.

 Submenú Configurar cuota diaria


 En esta ventana el usuario tiene la posibilidad de modificar la cuota diaria
esperada, es decir, la suma total de los importes de venta a la cual se
desea llegar.
12
Informe del Proyecto de Introducción a la Algoritmia

Menú Ayuda
Submenú Acerca de tienda:
Al seleccionar este submenú se muestra la ventana con la información del nombre
del sistema, y los nombres de los autores.
Al pulsar en “Cerrar”, se cierra la ventana.

V. Entregables: Código Fuente Java


VENTANA PRINCIPAL – JFRAME [Link]
1 package Tienda;
2 //import [Link];
3 import [Link];
4
5 import [Link];
6 //import [Link];
7 import [Link]; import [Link]; import
8 [Link]; import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12
13 public class Menu extends JFrame implements ActionListener {
14 private static final long serialVersionUID = 1l;
15
13
Informe del Proyecto de Introducción a la Algoritmia

16 private JMenuBar menuBar;


17 private JMenu mnArchivo;
18 private JMenu mnMantenimiento;
19 //private JMenu mnVentas;
20 private JMenu mnConfiguracion;
21 private JMenu mnAyuda;
22 private JMenuItem mntmSalir;
23 private JMenuItem mntmConsultarCeramico;
24 private JMenuItem mntmModificarCeramico;
25 private JMenuItem mntmListarCeramico;
26 //private JMenuItem mntmVender;
27 //private JMenuItem mntmGenerarReportes;
28 private JMenuItem mntmConfigurarDescuento;
29 private JMenuItem mntmConfigurarObsequios;
30 private JMenuItem mntmConfigurarCantidadOptima;
31
32
33 private JMenuItem mntmConfigurarCuotaDiaria;
34 private JMenuItem mntmAcercaDeTienda;
35
36
37 // Datos minimos del primer producto
38 public static String modelo0 = "HP 14-EP1001LA Intel Core Ultra 5 ";
39 public static double precio0 = 2849;
40 public static String MemRam0 = "8 GB";
41 public static String Taman0 = "14 pulgadas";
42 public static String DDuro0 = "512 GB";
43 public static String duracion0 = "11 horas";
44 //Datos minimos del segundo producto
45 public static String modelo1 = "Asus Vivobook Intel Core i5";
46 public static double precio1 = 2299;
47 public static String MemRam1 = "8 GB";
48 public static String Taman1 = "15.6 pulgadas";
49 public static String DDuro1 = "512 GB";
50 public static String duracion1 = "7 horas";
51 //Datos minimos del tercer producto
52 public static String modelo2 = "Acer Aspire Go Intel Core i3";
53 public static double precio2 = 1399;
54 public static String MemRam2 = "8 GB";
55 public static String Taman2 = "15.6 pulgadas";
56 public static String DDuro2 = "512 GB";
57 public static String duracion2 = "7 horas";
58 //Datos minimos del cuarto producto
59 public static String modelo3 = "Lenovo Ideapad Slim 3i Intel Core
60 i5";
61 public static double precio3 = 2699;
62 public static String MemRam3 = "16 GB";
63 public static String Taman3 = "15.6 pulgadas";
64 public static String DDuro3 = "1 TB";
65 public static String duracion3 = "7 horas";
66 //Datos minimos del quinto producto
67 public static String modelo4 = "2 en 1 HP Pavilion x360 Intel Core
68 i5";
69 public static double precio4 = 1799;
70 public static String MemRam4 = "8 GB";
71 public static String Taman4 = "14 pulgadas";
72 public static String DDuro4= "512 GB";
73 public static String duracion4 = "11 horas";
74 //Porcentajes de descuento
75 public static double porcentaje1 = 7.5;
76 public static double porcentaje2 = 10.0;
14
Informe del Proyecto de Introducción a la Algoritmia

77 public static double porcentaje3 = 12.5;


78 public static double porcentaje4 = 15.0;
79 //Obsequio
80 public static String tipoObsequio = "Kit de limpieza";
81 public static int obsequioCantidad1 = 2;
82 public static int obsequioCantidad2 = 3;
83 public static int obsequioCantidad3 = 4;
84 //Cantidad optima de unidades vendidas por d�a
85 public static int cantidadOptima = 10;
86 //Cuota diaria
87 public static double cuotaDiaria = 30000;
88
89
90 //Asignar los valores formateados a las cajas de texto
91
92
93 //VARIABLES PUBLIC STATICS GLOBALES NUEVAS
94 //importe acumulado de ventas por modelo
95 public static double importeAcumulado0,
96 importeAcumulado1 = 0.00,
97 importeAcumulado2 = 0.00,
98 importeAcumulado3 = 0.00,
99 importeAcumulado4 = 0.00,
100 importeAcumuladoTotal = 0.00;
101 //porcentaje de cuota diria por modelo
102 public static double porcentajeCuota0, porcentajeCuota1,
103 porcentajeCuota2, porcentajeCuota3, porcentajeCuota4,
104 porcentajeCuotaTotal;
105 //contador de cantidad acumulada de ventas por modelo
106 public static int contadorVenta0,
107 contadorVenta1 = 0,
108 contadorVenta2 = 0,
109 contadorVenta3 = 0,
110 contadorVenta4 = 0,
111 contadorVentaTotal = 0;
112 //cantidad acumulada de unidades vendidas por modelo
113 public static int cantUniVendidas0, cantUniVendidas1,
114 cantUniVendidas2, cantUniVendidas3, cantUniVendidas4;
115 private JMenu mnVentas;
116 private JMenuItem mntmVender;
117 private JMenuItem mntmGenerarReportes;
118
119
120 /**
121 * Launch the application.
122 */
123 public static void main(String[] args) {
124 try {
125
126 [Link]("[Link]
127 AndFeel");
128 } catch (Throwable e) { [Link]();
129 }
130 [Link](new Runnable() {
131 public void run() {
132 try {
133 Menu frame = new Menu(); [Link](true);
134 } catch (Exception e) { [Link]();
135 }
136 }
137 });
15
Informe del Proyecto de Introducción a la Algoritmia

138 }
139
140 /**
141 * Create the frame.
142 */
143 public Menu() {
144 setTitle(" Sistema de
145 Venta de Laptop"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
146 setBounds(100, 100, 502, 320);
147
148 menuBar = new JMenuBar();
149 setJMenuBar(menuBar);
150
151 mnArchivo = new JMenu("Archivo");
152 [Link](mnArchivo);
153
154 mntmSalir = new JMenuItem("Salir");
155 [Link](this);
156 [Link](mntmSalir);
157 mnVentas = new JMenu("Ventas");
158 [Link](mnVentas);
159 mntmVender = new JMenuItem("Vender");
160 [Link](this);
161 [Link](mntmVender);
162 mntmGenerarReportes = new JMenuItem("Generar Reportes");
163 [Link](this);
164 [Link](mntmGenerarReportes);
165
166 mnMantenimiento = new JMenu("Mantenimiento");
167 [Link](mnMantenimiento);
168
169 mntmConsultarCeramico = new JMenuItem("Consultar Laptop");
17 [Link](this);

[Link](mntmConsultarCeramico);

mntmModificarCeramico = new JMenuItem("Modificar Laptop");


[Link](this);
[Link](mntmModificarCeramico);

mntmListarCeramico = new JMenuItem("Listar Laptop");


[Link](this);
[Link](mntmListarCeramico);

mnVentas = new JMenu("Ventas");


//mntmVender = new JMenuItem("Vender");
//[Link](this);
//[Link](mntmVender);

//mntmGenerarReportes = new JMenuItem("Generar Reportes");


//[Link](this);
//[Link](mntmGenerarReportes);

mnConfiguracion = new JMenu("Configuracion");


[Link](mnConfiguracion);

mntmConfigurarDescuento = new JMenuItem("Descuentos");


[Link](this);
16
Informe del Proyecto de Introducción a la Algoritmia

[Link](mntmConfigurarDescuento);

mntmConfigurarObsequios = new JMenuItem("Obsequios");


[Link](this);
[Link](mntmConfigurarObsequios);

mntmConfigurarCantidadOptima = new JMenuItem("Cantidad optima");


[Link](this);
[Link](mntmConfigurarCantidadOptima);

mntmConfigurarCuotaDiaria = new JMenuItem("Cuota Diaria");


[Link](this);
[Link](mntmConfigurarCuotaDiaria);

mnAyuda = new JMenu("Ayuda");


[Link](mnAyuda);

mntmAcercaDeTienda = new JMenuItem("Acerca de Tienda");


[Link](this);
[Link](mntmAcercaDeTienda);

/*contentPane = new JPanel();


[Link]([Link]);
[Link](new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane); [Link](null);*/
}

public void actionPerformed(ActionEvent e) {


if ([Link]() == mntmGenerarReportes) {
do_mntmGenerarReportes_actionPerformed(e);
}
if ([Link]() == mntmVender) {
do_mntmVender_actionPerformed(e);
}
if ([Link]() == mntmAcercaDeTienda) {

actionPerformedMntmAcercaDeTienda(e);
}
if ([Link]() == mntmConfigurarCuotaDiaria)
{ actionPerformedMntmConfigurarCuotaDiaria(e);
}
if ([Link]() == mntmConfigurarCantidadOptima)
{ actionPerformedMntmConfigurarCantidadOptima(e);
}
if ([Link]() == mntmConfigurarObsequios)
{ actionPerformedMntmConfigurarObsequios(e);
}
if ([Link]() == mntmConfigurarDescuento)
{ actionPerformedMntmConfigurarDescuento(e);
}

if ([Link]() == mntmListarCeramico)
{ actionPerformedMntmListarCeramico(e);
}
if ([Link]() == mntmModificarCeramico)
{ actionPerformedMntmModificarCeramico(e);
}
if ([Link]() == mntmConsultarCeramico)
{ actionPerformedMntmConsultarCeramico(e);
}
if ([Link]() == mntmSalir) { actionPerformedMntmSalir(e);
17
Informe del Proyecto de Introducción a la Algoritmia

}
}
protected void actionPerformedMntmSalir(ActionEvent e)
{ [Link](0);
}
protected void actionPerformedMntmConsultarCeramico(ActionEvent e) {
DialogoConsultarVehiculos consultarCeramico = new
DialogoConsultarVehiculos();
[Link](this);
[Link](true);

}
protected void actionPerformedMntmModificarCeramico(ActionEvent e) {
DialogoModificarVehiculo modificarCeramico = new
DialogoModificarVehiculo();
[Link](this);
[Link](true);
}

protected void actionPerformedMntmListarCeramico(ActionEvent e) {


DialogoListadodeVehiculos listarCeramico = new
DialogoListadodeVehiculos();
[Link](this);
[Link](true);

}
protected void actionPerformedMntmConfigurarDescuento(ActionEvent e)
{
DialogoCalcularPorcentajesdeDescuento configurarDescuento =
new DialogoCalcularPorcentajesdeDescuento();
[Link](this);
[Link](true);
}
protected void actionPerformedMntmConfigurarObsequios(ActionEvent e)
{
DialogoConfigurarObsequio configurarObsequio = new
DialogoConfigurarObsequio();
[Link](this);
[Link](true);
}
protected void
actionPerformedMntmConfigurarCantidadOptima(ActionEvent e) {
Configurarcantidadoptima configurarCantidadOptima = new
Configurarcantidadoptima();
[Link](this);
[Link](true);

protected void actionPerformedMntmConfigurarCuotaDiaria(ActionEvent


e) {
Configurarcuotadiaria configurarCuotaDiaria = new
Configurarcuotadiaria();
[Link](this);
[Link](true);
}

protected void actionPerformedMntmAcercaDeTienda(ActionEvent e) {


Acercadelatienda acercaDeSistema = new Acercadelatienda();
[Link](this);
[Link](true);
18
Informe del Proyecto de Introducción a la Algoritmia

}
protected void do_mntmVender_actionPerformed(ActionEvent e) {
DialogoVender vender = new DialogoVender();
[Link](this);
[Link](true);
}

protected void
do_mntmGenerarReportes_actionPerformed(ActionEvent e) {
DialogoGenerarReporte generarReportes = new
DialogoGenerarReporte();
[Link](this);
[Link](true);
}

2. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4
5
6 import [Link]; import [Link]; import
7 [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14 import [Link];
15 import [Link]; import
16 [Link];
17 import [Link];
18
19
20 public class DialogoConsultarVehiculos extends JDialog implements
21 ActionListener, ItemListener {
22
23 /**
24 *
25 */
26 private static final long serialVersionUID = 1L;
19
Informe del Proyecto de Introducción a la Algoritmia

27 private final JPanel contentPanel = new JPanel();


28 private JLabel lblNewLabel;
29 private JLabel lblPrecios;
30 private JLabel lblAnchocm;
31 private JLabel lblLargocm;
32 private JLabel lblEspesorcm;
33 private JComboBox<String> cboModelo;
34 private JTextField txtprecio;
35 private JTextField txtMemRam;
36 private JTextField txtTaman;
37 private JTextField txtduracion;
38 private JButton btnCerrar;
39 private JLabel lblNewLabel_1;
40 private JTextField txtDDuro;
41
42 /**
43 * Launch the application.
44 */
45
46 public static void main(String[] args) {
47 try
48 { [Link]("[Link]
49 okAndFeel");
50
51 }
52 catch (Throwable e) { [Link]();
53 }
54 try {
55 DialogoConsultarVehiculos dialog = new
56 DialogoConsultarVehiculos();
57 [Link](JDialog.DISPOSE_ON_CLOSE);
58 [Link](true);
59 }
60
61 catch (Exception e) { [Link]();
62 }
63 }
64 /**
65 * Create the dialog.
66 */
67 public DialogoConsultarVehiculos() { setResizable(false);
68 setModal(true); setTitle("Consultar Laptop"); setBounds(100, 100,
69 432, 242);
70 getContentPane().setLayout(new BorderLayout());
71 [Link](new EmptyBorder(5, 5, 5, 5));
72 getContentPane().add(contentPanel, [Link]);
73 [Link](null);
74
75 lblNewLabel = new JLabel("Modelo");
76 [Link](10, 15, 46, 14);
77
78 [Link](lblNewLabel);
79 lblPrecios = new JLabel("Precio (S/.)");
80 [Link](10, 40, 54, 14);
81
82 [Link](lblPrecios);
83 lblAnchocm = new JLabel("Memorira Ram");
84 [Link](10, 65, 91, 14);
85
86 [Link](lblAnchocm);
87 lblLargocm = new JLabel("Tamaño ");
20
Informe del Proyecto de Introducción a la Algoritmia

88 [Link](10, 90, 91, 14);


89
90 [Link](lblLargocm);
91 lblEspesorcm = new JLabel("Duración");
92 [Link](10, 142, 91, 14);
93
94 [Link](lblEspesorcm);
95 cboModelo = new JComboBox<String>();
96 [Link](this);
97 [Link](new DefaultComboBoxModel(new String[] {"HP 14-
98 EP1001LA Intel Core Ultra 5", "Asus Vivobook Intel Core i5", "Acer
99 Aspire Go Intel Core i3", "Lenovo Ideapad Slim 3i Intel Core i5", "2
100 en 1 HP Pavilion x360 Intel Core i5"}));
101 [Link](86, 13, 200, 20); [Link](cboModelo);
102
103 txtprecio = new JTextField();
104 [Link](false); [Link](111, 40, 119, 20);
105 [Link](txtprecio); [Link](10);
106
107 txtMemRam = new JTextField();
108 [Link](false);
109 [Link](10);
110 [Link](111, 65, 119, 20);
111 [Link](txtMemRam);
112
113 txtTaman = new JTextField();
114 [Link](false);
115 [Link](10);
116 [Link](111, 90, 119, 20);
117 [Link](txtTaman);
118
11 txtduracion = new JTextField();
[Link](false);
[Link](10);
[Link](111, 142, 119, 20);
[Link](txtduracion);

btnCerrar = new JButton("Cerrar");


[Link](this);
[Link](319, 11, 89, 23);
[Link](btnCerrar);
lblNewLabel_1 = new JLabel("Disco duro");
lblNewLabel_1.setBounds(10, 115, 91, 14);
[Link](lblNewLabel_1);
txtDDuro = new JTextField();
[Link](false);
[Link](112, 115, 118, 20);
[Link](txtDDuro);
[Link](10);

}
public void actionPerformed(ActionEvent e) {
if ([Link]() == btnCerrar) { actionPerformedBtnNewButton(e);
}
}
protected void actionPerformedBtnNewButton(ActionEvent e)
{ dispose();
}
public void itemStateChanged(ItemEvent e) {
if ([Link]() == cboModelo) { itemStateChangedCboModelo(e);
}
21
Informe del Proyecto de Introducción a la Algoritmia

}
protected void itemStateChangedCboModelo(ItemEvent e) {

//declarando las variables que se usar�n para mostrar los


resultados en el

double precio;
String Taman, MemRam, DDuro, duracion;

int item, contenido;

//asignando las variables al valor de retorno de los metodos


item = [Link](); //indice del jcomboBox

precio = precio(item);
MemRam = MemRam(item);
Taman = Taman(item);
DDuro = DDuro(item);
duracion= duracion(item);

//mostrando resultados
mostrarResultado(precio, Taman, MemRam, DDuro, duracion);
}

//CREANDO LOS METODOS


//obteniendo los precios
double precio(int item) {
switch (item) {
case 0: return Menu.precio0;
case 1: return Menu.precio1;
case 2: return Menu.precio2;
case 3: return Menu.precio3;
default: return Menu.precio4;
}
}
//obteniendo el MemRam
String MemRam(int item) {
switch(item) {
case 0: return Menu.MemRam0;
case 1: return Menu.MemRam1;
case 2: return Menu.MemRam2;
case 3: return Menu.MemRam3;
default: return Menu.MemRam4;
}
}
//obteniendo el largo
String Taman(int item) {
switch(item) {
case 0: return Menu.Taman0;
case 1: return Menu.Taman1;
case 2: return Menu.Taman2;
case 3: return Menu. Taman3;
default: return Menu.Taman4;
}
}
//obteniendo el alto
String DDuro(int item) {
switch(item) {
case 0: return Menu.DDuro0;
22
Informe del Proyecto de Introducción a la Algoritmia

case 1: return Menu.DDuro1;


case 2: return Menu.DDuro2;
case 3: return Menu.DDuro3;
default: return Menu.DDuro4;
}
}

String duracion (int item){


switch(item) {
case 0: return Menu.duracion0;
case 1: return Menu.duracion1;
case 2: return Menu.duracion2;
case 3: return Menu.duracion3;
default: return Menu.duracion4;
}
}

//mostrando los resultados


void mostrarResultado(double precio, String Taman, String MemRam,
String DDuro, String duracion)
{
[Link](""+precio);
[Link](""+Taman);
[Link](""+MemRam);
[Link](""+DDuro);
[Link](""+duracion);
}

3. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14 import [Link];
15 import [Link];
16 import [Link];
17 public class DialogoGenerarReporte extends JDialog implements
18 ActionListener, ItemListener {
19 /**
20 *
21 */
22 private static final long serialVersionUID = 1L;
23 private JLabel lblNewLabel;
24 private JComboBox<String> cboTipoReporte;
25 private JButton btnCerrar;
26 private JScrollPane scrollPane;
27 private JTextArea txtS;
28 /**
23
Informe del Proyecto de Introducción a la Algoritmia

29 * Launch the application.


30 */
31 public static void main(String[] args) {
32 try {
33 [Link]([Link]());
34 } catch (Throwable e) {
35 [Link]();
36 }
37 [Link](new Runnable() {
38 public void run() {
39 try {
40 DialogoGenerarReporte dialog = new DialogoGenerarReporte();
41 [Link](JDialog.DISPOSE_ON_CLOSE);
42 [Link](true);
43 } catch (Exception e) {
44 [Link]();
45 }
46 }
47 });
48 }
49
50 //VARIABLE GLOBAL PARA JCOMBOBOX TIPO REPORTE
51 //Variable que captura el indice del item selccionado en el JcomboBox
52 int item;
53
54 //variables que guardan los valores de las variables globales Public
55 Static de Menu:
56 String modelo0 = Menu.modelo0, modelo1 = Menu.modelo1, modelo2 =
57 Menu.modelo2, modelo3 = Menu.modelo3, modelo4 = Menu.modelo4;
58 int cantVentas0 = Menu.contadorVenta0, cantVentas1 =
59 Menu.contadorVenta1,
60 cantVentas2 = Menu.contadorVenta2, cantVentas3 = Menu.contadorVenta3,
61 cantVentas4 = Menu.contadorVenta4;
62 int unidVendidas0 = Menu.cantUniVendidas0, unidVendidas1 =
63 Menu.cantUniVendidas1, unidVendidas2 = Menu.cantUniVendidas2,
64 unidVendidas3 =
65 Menu.cantUniVendidas3, unidVendidas4 = Menu.cantUniVendidas4;
66 double impAcum0 = Menu.importeAcumulado0, impAcum1 =
67 Menu.importeAcumulado1, impAcum2 = Menu.importeAcumulado2, impAcum3 =
68 Menu.importeAcumulado3, impAcum4 = Menu.importeAcumulado4;
69 double porCuota0 = Menu.porcentajeCuota0, porCuota1 =
70 Menu.porcentajeCuota1, porCuota2 = Menu.porcentajeCuota2, porCuota3 =
71 Menu.porcentajeCuota3, porCuota4 = Menu.porcentajeCuota4;
72 int cantOptima = [Link];
73 double precio0 = Menu.precio0, precio1 = Menu.precio1, precio2 =
74 Menu.precio2, precio3 = Menu.precio3, precio4 = Menu.precio4;
75
76
77 //Calculando variables globales precioPromedio y anchoPromedio
78 double precioPromedio = (precio0 + precio1 + precio2 + precio3 +
79 precio4)/5;
80
81
82 //Creando el objeto formato1 tipo DecimalFormat que realizar� el
83 redondeo de los valores a 2 decimales
84 DecimalFormat formato1 = new DecimalFormat("0.00");
85
86 /**
87 * Create the dialog.
88 */
89 public DialogoGenerarReporte() {
24
Informe del Proyecto de Introducción a la Algoritmia

90 setModal(true);
91 setResizable(false);
92 setTitle("Generar Reportes");
93 setBounds(100, 100, 666, 402);
94 getContentPane().setLayout(null);
95
96 lblNewLabel = new JLabel("Tipo de Reporte");
97 [Link](10, 26, 77, 14);
98 getContentPane().add(lblNewLabel);
99
100 cboTipoReporte = new JComboBox<String>();
101 [Link](this);
102 [Link](new DefaultComboBoxModel(new String[]
103 {"Venta por modelo", "Venta en relacion a la venta optima", "Precios
104 en relacion al precio promedio", "Promedios, menores y mayores"}));
105 [Link](97, 22, 205, 20);
106 getContentPane().add(cboTipoReporte);
107
108 btnCerrar = new JButton("Cerrar");
109 [Link](this);
110 [Link](539, 22, 89, 23);
111 getContentPane().add(btnCerrar);
112
113 scrollPane = new JScrollPane();
114 [Link](10, 65, 618, 280);
115 getContentPane().add(scrollPane);
116 txtS = new JTextArea();
117 [Link](false);
118 [Link](txtS);
119
120 //MOSTRANDO EL PRIMER REPORTE EN EL TXTAREA (REPORTE DEL ITEM 0 DEL
121 JCOMBOBOX)
122 reportePorModelo();
123 }
124 public void actionPerformed(ActionEvent e) {
125 if ([Link]() == btnCerrar) {
126 actionPerformedBtnCerrar(e);
127 }
128 }
129 protected void actionPerformedBtnCerrar(ActionEvent e) {
130 dispose();
131 }
132 public void itemStateChanged(ItemEvent e) {
133 if ([Link]() == cboTipoReporte) {
134 itemStateChangedCboTipoReporte(e);
135 }
136 }
137 protected void itemStateChangedCboTipoReporte(ItemEvent e) {
138 //Llamando al Metodo
139 obtenerTipoReporte();
140
141 }
142
143 //METODOS PARA EL JCOMBOBOX TIPO REPORTE
144 void obtenerTipoReporte() {
145
146 //Capturando el indice del elemento seleccionado en el JcomboBox
147 item = [Link]();
148
149 //Obteniendo el reporte de acuerdo al item seleccionado
150 switch(item) {
25
Informe del Proyecto de Introducción a la Algoritmia

151 case 0:
152 //Llamando al Metodo
153 reportePorModelo();
154 break;
155
156 case 1:
157 //Llamando al Metodo
158 reporteVentaOptima();
159
160 break;
161
162 case 2:
163 //Llamando al Metodo
164 reportePrecioPromedio();
165
166 break;
167
168 default:
169 //Llamando al Metodo
170 reportePromedioMenoresMayores();
171
172 }
173 //colocando el cursor en la posicion 0 del JtextArea para que
174 muestre la primera linea de los reportes
175 [Link](0);
176 }
177 //METODO REPORTE VENTAS POR MODELO POR MODELO
178 void reportePorModelo() {
179 //imprimir titulo del reporte generado
180 [Link]("VENTAS POR MODELO \r\n\r\n");
181
182 //imprimiendo listado del reporte por modelo
183 [Link]("Modelo : " + modelo0 + "\n");
184 [Link]("Cantidad de Ventas : " + cantVentas0 + "\n");
185 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas0 + "\
186 n");
187 [Link]("Importe total vendido : S/." +
188 [Link](impAcum0) +
189 "\n");
190 [Link]("Aporte a la cuota diaria : " +
191 [Link](porCuota0) +
192 "%" + "\n\n");
193
194 [Link]("Modelo : " + modelo1 + "\n");
195 [Link]("Cantidad de Ventas : " + cantVentas1 + "\n");
196 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas1 + "\
197 n");
198 [Link]("Importe total vendido : S/." +
199 [Link](impAcum1) +
200 "\n");
201 [Link]("Aporte a la cuota diaria : " +
202 [Link](porCuota1) +
203 "%" + "\n\n");
204
205 [Link]("Modelo : " + modelo2 + "\n");
206 [Link]("Cantidad de Ventas : " + cantVentas2 + "\n");
207 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas2 + "\
208 n");
209 [Link]("Importe total vendido : S/." +
210 [Link](impAcum2) +
211 "\n");
26
Informe del Proyecto de Introducción a la Algoritmia

212 [Link]("Aporte a la cuota diaria : " +


213 [Link](porCuota2) +
214 "%" + "\n\n");
215
216 [Link]("Modelo : " + modelo3 + "\n");
217 [Link]("Cantidad de Ventas : " + cantVentas3 + "\n");
218 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas3 + "\
219 n");
220 [Link]("Importe total vendido : S/." +
221 [Link](impAcum3) +
222 "\n");
223 [Link]("Aporte a la cuota diaria : " +
224 [Link](porCuota3) +
225 "%" + "\n\n");
226
227 [Link]("Modelo : " + modelo4 + "\n");
228 [Link]("Cantidad de Ventas : " + cantVentas4 + "\n");
229 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas4 + "\
230 n");
231 [Link]("Importe total vendido : S/." +
232 [Link](impAcum4) +
233 "\n");
234 [Link]("Aporte a la cuota diaria : " +
235 [Link](porCuota4) +
236 "%" + "\n\n");
237
238 //colocando el cursor en la posicion 0 del JtextArea para que
239 muestre la primera linea del reporte
240 [Link](0);
241 }
242
243 //METODO REPORTE VENTAS EN RELACION A LA VENTA �PTIMA
244 void reporteVentaOptima() {
245
246 //imprimir titulo del reporte generado
247 [Link]("VENTAS EN RELACIÓN A LA VENTA ÓPTIMA" + "\n\n");
248
249 //Imprimiendo el listado por modelo
250 //Modelo0
251 [Link]("Modelo : " + modelo0 + "\n");
252 if (unidVendidas0 < cantOptima)
253 [Link]("Cantidad de unidades vendidas : " + unidVendidas0 + "("
254 +
255 (cantOptima - unidVendidas0) + " menos que la cantidad óptima)" + "\
256 n\n");
257
258 else if(unidVendidas0 > cantOptima)
259 [Link]("Cantidad de unidades vendidas : " + unidVendidas0 + "("
260 +
261 (unidVendidas0 - cantOptima) + " m�s que la cantidad óptima)" + "\
262 n\n");
263
264 else
265 [Link]("Cantidad de unidades vendidas : " + unidVendidas0 +
266 "(igual a la cantidad óptima)" + "\n\n");
267
268 //Modelo1
269 [Link]("Modelo : " + modelo1 + "\n");
270 if (unidVendidas1 < cantOptima)
271 [Link]("Cantidad de unidades vendidas : " + unidVendidas1 + "("
272 +
27
Informe del Proyecto de Introducción a la Algoritmia

273 (cantOptima - unidVendidas1) + " menos que la cantidad óptima)" + "\


274 n\n");
275
276 else if(unidVendidas1 > cantOptima)
277 [Link]("Cantidad de unidades vendidas : " + unidVendidas1 + "("
278 +
279 (unidVendidas1 - cantOptima) + " más que la cantidad óptima)" + "\n\
280 n");
281
282 else
283 [Link]("Cantidad de unidades vendidas : " + unidVendidas1 +
284 "(igual a la cantidad óptima)" + "\n\n");
285
286 //Modelo2
287 [Link]("Modelo : " + modelo2 + "\n");
288 if (unidVendidas2 < cantOptima)
289 [Link]("Cantidad de unidades vendidas : " + unidVendidas2 + "("
290 + (cantOptima - unidVendidas2) + " menos que la cantidad óptima)" +
291 "\n\n");
292
293 else if(unidVendidas2 > cantOptima)
294 [Link]("Cantidad de unidades vendidas : " + unidVendidas2 + "("
295 +
296 (unidVendidas2 - cantOptima) + " m�s que la cantidad �ptima)" +
297 "\n\n");
298
299 else
300 [Link]("Cantidad de unidades vendidas : " + unidVendidas2 +
301 "(igual a la cantidad óptima)" + "\n\n");
302
303 //Modelo3
304 [Link]("Modelo : " + modelo3 + "\n");
305 if (unidVendidas3 < cantOptima)
306 [Link]("Cantidad de unidades vendidas : " + unidVendidas3 + "("
307 +
308 (cantOptima - unidVendidas3) + " menos que la cantidad óptima)" + "\
309 n\n");
310
311 else if(unidVendidas3 > cantOptima)
312 [Link]("Cantidad de unidades vendidas : " + unidVendidas3 + "("
313 +
314 (unidVendidas3 - cantOptima) + " m�s que la cantidad óptima)" + "\
315 n\n");
316
317 else
318 [Link]("Cantidad de unidades vendidas : " + unidVendidas3 +
319 "(igual a la cantidad óptima)" + "\n\n");
320
321 //Modelo4
322 [Link]("Modelo : " + modelo4 + "\n");
323
324 if (unidVendidas4 < cantOptima)
325 [Link]("Cantidad de unidades vendidas : " + unidVendidas4 + "("
326 + (cantOptima - unidVendidas4) + " menos que la cantidad óptima)" +
327 "\n\n");
328
329 else if(unidVendidas4 > cantOptima)
330 [Link]("Cantidad de unidades vendidas : " + unidVendidas4 + "("
331 + (unidVendidas4 - cantOptima) + " más que la cantidad �ptima)" +
332 "\n\n");
333 else
28
Informe del Proyecto de Introducción a la Algoritmia

334 [Link]("Cantidad de unidades vendidas : " + unidVendidas4 +


335 "(igual a la cantidad óptima)" + "\n\n");
336 }
337 //METODO REPORTE EN RELACION AL PRECIO PROMEDIO
338 void reportePrecioPromedio() {
339
340 //imprimir titulo del reporte generado
341 [Link]("PRECIO EN RELACIÓN AL PRECIO PROMEDIO" + "\n\n");
342
343 //Imprimiendo el listado por modelo
344 //Modelo0
345 [Link]("Modelo : " + modelo0 + "\n");
346 if (precio0 < precioPromedio)
347 [Link]("Precio : S/. " + precio0 + "(Menor al Promedio)\n\n");
348
349 else if(precio0 > precioPromedio)
350 [Link]("Precio : S/. " + precio0 + "(Mayor al Promedio)\n\n");
351
352 else
353 [Link]("Precio : S/. " + precio0 + "(Igual al Promedio)\n\n");
354
355 //Modelo1
356 [Link]("Modelo : " + modelo1 + "\n");
357 if (precio1 < precioPromedio)
358 [Link]("Precio : S/. " + precio1 + "(Menor al Promedio)\n\n");
359
360 else if(precio1 > precioPromedio)
361 [Link]("Precio : S/. " + precio1 + "(Mayor al Promedio)\n\n");
362
363 else
364 [Link]("Precio : S/. " + precio1 + "(Igual al Promedio)\n\n");
365
366 //Modelo2
367 [Link]("Modelo : " + modelo2 + "\n");
368 if (precio2 < precioPromedio)
369 [Link]("Precio : S/. " + precio2 + "(Menor al Promedio)\n\n");
370
371 else if(precio2 > precioPromedio)
372 [Link]("Precio : S/. " + precio2 + "(Mayor al Promedio)\n\n");
373
374 else
375 [Link]("Precio : S/. " + precio2 + "(Igual al Promedio)\n\n");
376 //Modelo3
377 [Link]("Modelo : " + modelo3 + "\n");
378 if (precio3 < precioPromedio)
379 [Link]("Precio : S/. " + precio3 + "(Menor al Promedio)\n\n");
380
381 else if(precio3 > precioPromedio)
382 [Link]("Precio : S/. " + precio3 + "(Mayor al Promedio)\n\n");
383
384 else
385 [Link]("Precio : S/. " + precio3 + "(Igual al Promedio)\n\n");
386
387 //Modelo4
388 [Link]("Modelo : " + modelo4 + "\n");
389 if (precio4 < precioPromedio)
390 [Link]("Precio : S/. " + precio4 + "(Menor al Promedio)\n\n");
391 else if(precio4 > precioPromedio)
392 [Link]("Precio : S/. " + precio4 + "(Mayor al Promedio)\n\n");
393
394 else
29
Informe del Proyecto de Introducción a la Algoritmia

395 [Link]("Precio : S/. " + precio4 + "(Igual al Promedio)\n\n");


396
397 }
398
399 //METODO REPORTE PROMEDIOS, MENORES Y MAYORES
400 void reportePromedioMenoresMayores() {

//imprimir titulo del reporte generado


[Link]("PROMEDIOS, MENORES Y MAYORES" + "\n\n");

[Link]("Precio Promedio : S/. " +


[Link](precioPromedio) + "\n");

//hallando e imprimiendo el precio menor


if (precio0 <= precio1 && precio0 <= precio2 && precio0 <= precio3
&& precio0 <=
precio4)
[Link]("Precio menor : S/. " + precio0 + "\n");

else if (precio1 <= precio0 && precio1 <= precio2 && precio1 <=
precio3 &&
precio1 <= precio4)
[Link]("Precio menor : S/. " + precio1 + "\n");

else if (precio2 <= precio0 && precio2 <= precio1 && precio2 <=
precio3 &&
precio2 <= precio4)
[Link]("Precio menor : S/. " + precio2 + "\n");

else if (precio3 <= precio0 && precio3 <= precio2 && precio3 <=
precio1 &&
precio3 <= precio4)
[Link]("Precio menor : S/. " + precio3 + "\n");

else
[Link]("Precio menor : S/. " + precio4 + "\n");

//hallando e imprimiendo el precio mayor


if (precio0 >= precio1 && precio0 >= precio2 && precio0 >= precio3
&& precio0 >=
precio4)
[Link]("Precio mayor : S/. " + precio0 + "\n\n");

else if (precio1 >= precio0 && precio1 >= precio2 && precio1 >=
precio3 &&
precio1 >= precio4)
[Link]("Precio mayor : S/. " + precio1 + "\n\n");

else if (precio2 >= precio0 && precio2 >= precio1 && precio2 >=
precio3 &&
precio2 >= precio4)
[Link]("Precio mayor : S/. " + precio2 + "\n\n");

else if (precio3 >= precio0 && precio3 >= precio2 && precio3 >=
precio1 &&
precio3 >= precio4)
[Link]("Precio mayor : S/. " + precio3 + "\n\n");

else
30
Informe del Proyecto de Introducción a la Algoritmia

[Link]("Precio mayor : S/. " + precio4 + "\n\n");

}
}

4. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 public class DialogoListadodeVehiculos extends JDialog implements
12 ActionListener {
13 /**
14 *
15 */
16 private static final long serialVersionUID = 1L;
17 private JScrollPane scrollPane;
18 private JTextArea txtListado;
19 private JButton btnCerrar;
20 private JButton btnListar;
21 /**
22 * Launch the application.
23 */
24 public static void main(String[] args) {
25 try {
26 [Link]([Link]());
27 } catch (Throwable e) {
28 [Link]();
29 }
30 [Link](new Runnable() {
31 public void run() {
32 try {
33 DialogoListadodeVehiculos dialog = new
34 DialogoListadodeVehiculos();
35 [Link](JDialog.DISPOSE_ON_CLOSE);
36 [Link](true);
37 } catch (Exception e) {
38 [Link]();
39 }
40 }
31
Informe del Proyecto de Introducción a la Algoritmia

41 });
42 }
43 /**
44 * Create the dialog.
45 */
46 public DialogoListadodeVehiculos() {
47 setResizable(false);
48 setModal(true);
49 setTitle("Listado de Laptops");
50 setBounds(100, 100, 566, 346);
51 getContentPane().setLayout(null);
52
53 scrollPane = new JScrollPane();
54 [Link](10, 11, 530, 248);
55 getContentPane().add(scrollPane);
56
57 txtListado = new JTextArea();
58 [Link](false);
59 [Link](txtListado);
60
61 btnCerrar = new JButton("Cerrar");
62 [Link](this);
63 [Link](166, 270, 89, 23);
64 getContentPane().add(btnCerrar);
65
66 btnListar = new JButton("Listar");
67 [Link](this);
68 [Link](265, 270, 89, 23);
69 getContentPane().add(btnListar);
70 }
71 public void actionPerformed(ActionEvent e) {
72 if ([Link]() == btnListar) {
73 actionPerformedBtnListar(e);
74 }
75 if ([Link]() == btnCerrar) {
76 actionPerformedBtnCerrar(e);
77 }
78 }
79 protected void actionPerformedBtnCerrar(ActionEvent e) {
80 dispose();
81 }
82 protected void actionPerformedBtnListar(ActionEvent e) {
83 [Link]("LISTADO DE LAPTOPS\n");
84
85
86 //LLAMANDO A LOS METODOS QUE LISTAN LOS MODELOS
87 listadoModelo0();
88 listadoModelo1();
89 listadoModelo2();
90 listadoModelo3();
91 listadoModelo4();
92
93 //COLOCANDO EL CURSOR EN LA PRIMERA POSICION DEL JTEXTAREA
94 [Link](1);
95 }
96 //METODOS PARA LISTAR POR MODELO
97 void listadoModelo0() {
98 [Link]("Modelo : "+ Menu.modelo0 + "\n");
99 [Link]("Precio : "+"$/. "+Menu.precio0 + "\n");
100 [Link]("Memoria Ram : "+ Menu.MemRam0 +"\n");
101 [Link]("Tamaño : "+ Menu.Taman0 +"\n");
32
Informe del Proyecto de Introducción a la Algoritmia

[Link]("Disco Duro : "+ Menu.DDuro0 +"\n");


[Link]("Duración de batería : "+ Menu.duracion0 + "\n\
n");
}
102
void listadoModelo1() {
103
[Link]("Modelo : "+ Menu.modelo1 + "\n");
104
[Link]("Precio : "+"$/. "+Menu.precio1 + "\n");
105
[Link]("Memoria Ram : "+ Menu.MemRam1 +"\n");
106
[Link]("Tamaño : "+ Menu.Taman1 +"\n");
107
[Link]("Disco Duro : "+ Menu.DDuro1 +"\n");
108
[Link]("Duración de batería : "+ Menu.duracion1 + "\n\
109
n");
110
}
111
void listadoModelo2() {
112
[Link]("Modelo : "+ Menu.modelo2 + "\n");
113
[Link]("Precio : "+"S/. "+Menu.precio2 + "\n");
114
[Link]("Memoria Ram : "+ Menu.MemRam2 +"\n");
115
[Link]("Tamaño : "+ Menu.Taman2 +"\n");
116
[Link]("Disco Duro : "+ Menu.DDuro2 +"\n");
117
[Link]("Duración de batería : "+ Menu.duracion2 + "\n\
118
n");
119
}
120
void listadoModelo3() {
121
[Link]("Modelo : "+ Menu.modelo3 + "\n");
122
[Link]("Precio : "+"S/. "+Menu.precio3 + "\n");
123
[Link]("Memoria Ram : "+ Menu.MemRam3 +"\n");
124
[Link]("Tamaño : "+ Menu.Taman3 +"\n");
125
[Link]("Disco Duro : "+ Menu.DDuro3 +"\n");
126
[Link]("Duración de batería : "+ Menu.duracion3 + "\n\
127
n");
128
}
129
void listadoModelo4() {
130
[Link]("Modelo : "+ Menu.modelo4 + "\n");
131
[Link]("Precio : "+"S/. "+Menu.precio4 + "\n");
132
[Link]("Memoria Ram : "+ Menu.MemRam4 +"\n");
133
[Link]("Tamaño : "+ Menu.Taman4 +"\n");
134
[Link]("Disco Duro : "+ Menu.DDuro4 +"\n");
135
[Link]("Duración de batería : "+ Menu.duracion4 + "\n\
n");
}
}

5. Ventana Secundaria – [Link]


01 package Tienda;
0

2 import [Link];

3 import [Link];
import [Link];0
4 import [Link];
import [Link];
5 import [Link];
import [Link];
6 import [Link];
import [Link];
7 import [Link];
import [Link];
8 import [Link];
33
Informe del Proyecto de Introducción a la Algoritmia

import [Link];
9 import [Link];
import [Link];
10 import [Link];
import [Link];
11 import [Link];
import [Link];
12 import [Link];
import [Link];
13
public class DialogoVender extends JFrame implements ActionListener,
14 KeyListener, WindowListener{

15 /**
*
16 */
private static final long serialVersionUID = 1L;
17 private JPanel contentPane;
private JLabel lblModelo;
18 private JComboBox<String> cboModelo;
private JLabel lblPrecios;
19 private JTextField txtPrecio;
private JLabel lblCantidad;
20 private JTextField txtCantidad;
private JButton btnVender;
21 private JButton btnCerrar;
private JScrollPane scrl;
22 private JTextArea txtS;

23 DecimalFormat df=new DecimalFormat("0.00");


/**
24 * Launch the application.
*/
25 public static void main(String[] args) {
[Link](new Runnable() {
26 public void run() {
try {
27 DialogoVender frame = new
DialogoVender();
28 [Link](true);
} catch (Exception e) {
29 [Link]();
}
30 }
});
31 }

32 /**
* Create the frame.
33 */
public DialogoVender() {
34 addWindowListener(this);
setTitle("Vender");
35 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 425, 300);
36 contentPane = new JPanel();
[Link](new EmptyBorder(5, 5, 5, 5));
37 setContentPane(contentPane);
[Link](null);
38
34
Informe del Proyecto de Introducción a la Algoritmia

39 lblModelo = new JLabel("Modelo");


[Link](new Font("Consolas", [Link],
40 11));
[Link](10, 11, 70, 14);
41 [Link](lblModelo);

42 cboModelo = new JComboBox<String>();


[Link](this);
43 [Link](new DefaultComboBoxModel(new
String[] {"HP 14-EP1001LA Intel Core Ultra 5", "Asus Vivobook Intel
44 Core i5", "Acer Aspire Go Intel Core i3", "Lenovo Ideapad Slim 3i
Intel Core i5", "2 en 1 HP Pavilion x360 Intel Core i5"}));
45 [Link](90, 8, 194, 20);
[Link](cboModelo);
46
lblPrecios = new JLabel("Precio ($/)");
47 [Link](new Font("Consolas", [Link],
11));
48 [Link](10, 36, 70, 14);
[Link](lblPrecios);
49
txtPrecio = new JTextField();
50
[Link](false);
[Link](90, 33, 147, 20);
51
[Link](txtPrecio);
[Link](10);
52

53 lblCantidad = new JLabel("Cantidad");


[Link](new Font("Consolas", [Link],
54 11));
[Link](10, 61, 70, 14);
55 [Link](lblCantidad);

56 txtCantidad = new JTextField();


[Link](this);
57 [Link](this);
[Link](90, 58, 147, 20);
58 [Link](txtCantidad);
[Link](10);
59
btnVender = new JButton("Vender");
60 [Link]([Link]);
[Link]([Link]);
61 [Link](this);
[Link](306, 7, 89, 23);
62 [Link](btnVender);

63 btnCerrar = new JButton("Cerrar");


[Link]([Link]);
64 [Link]([Link]);
[Link](this);
65 [Link](306, 32, 89, 23);
[Link](btnCerrar);
66
scrl = new JScrollPane();
67
[Link](10, 86, 390, 164);
[Link](scrl);
68

69 txtS = new JTextArea();


35
Informe del Proyecto de Introducción a la Algoritmia

[Link](false);
70 [Link](new Font("MS Reference Sans Serif",
[Link], 13));
71 [Link](txtS);
}
72
public void actionPerformed(ActionEvent e) {
73 if ([Link]() == btnCerrar) {
actionPerformedBtnCerrar(e);
74 }
if ([Link]() == btnVender) {
75 actionPerformedBtnVender(e);
}
76 if ([Link]() == cboModelo) {
actionPerformedCboModelo(e);
77 }
}
78 //Datos de los precios correspondientes
protected void actionPerformedCboModelo(ActionEvent e) {
79 String modelo=(String)[Link]();
switch(modelo){
80 case "HP 14-EP1001LA Intel Core Ultra 5":
[Link](Menu.precio0+""); break;
81 case "Asus Vivobook Intel Core i5":
[Link](Menu.precio1+""); break;
82 case "Acer Aspire Go Intel Core i3":
[Link](Menu.precio2+""); break;
83 case "Lenovo Ideapad Slim 3i Intel Core i5":
[Link](Menu.precio3+""); break;
84 default: [Link](Menu.precio4+"");
}
85 }
//BOTON VENDER
86 protected void actionPerformedBtnVender(ActionEvent e) {
try{
87 int modelo, cant, cantObsequio;
double precio, impCompra, desc, impPago;
88 String nomModelo;
//Variables para el aviso
89 int contVentas=0;
@SuppressWarnings("unused")
90 double acumImp= 0;
//Ingreso de Datos
91 modelo = leerModelo();
nomModelo = nombreModelo(modelo);
92 cant = leerCantidad();
precio = leerPrecio(modelo);
93 impCompra = calcularImporteCompra(modelo, cant);
desc = calcularDescuento(cant, impCompra);
94 impPago = calcularImportePago(impCompra, desc);
cantObsequio = calcularCantObsequio(cant);
95 mostrarResultados(nomModelo, precio, cant, impCompra,
desc, impPago, cantObsequio);
96 //Ingreso de datos del AVISO
reconocerUnidadesVendidas(modelo, cant);
97 contVentas=contUnidadesVendidas();
acumImp=contImpGeneral();
98 mensaje(contVentas);
}
99 catch (Exception e2) {
10 [Link](this, "Ingresa una
36
Informe del Proyecto de Introducción a la Algoritmia

0 Cantidad.", "ERROR", JOptionPane.INFORMATION_MESSAGE);


10 }
1 }
10 //METODOS - PROCESOS
2 int leerModelo(){
10 return [Link]();
3 }
10 String nombreModelo(int modelo){
4 switch(modelo){
10 case 0: return Menu.modelo0;
5 case 1: return Menu.modelo1;
10 case 2: return Menu.modelo2;
6 case 3: return Menu.modelo3;
10 default: return Menu.modelo4;
7 }
10 }
8 int leerCantidad(){
10 return [Link]([Link]());
9 }
11 double leerPrecio(int modelo){
0 switch(modelo){
11 case 0: return Menu.precio0;
1 case 1: return Menu.precio1;
11 case 2: return Menu.precio2;
2 case 3: return Menu.precio3;
11 default: return Menu.precio4;
3 }
11 }
4 double calcularImporteCompra(int modelo, int cant){
11 switch(modelo){
5 case 0: return Menu.precio0 * cant;
11 case 1: return Menu.precio1 * cant;
6 case 2: return Menu.precio2 * cant;
11 case 3: return Menu.precio3 * cant;
7 default: return Menu.precio4 * cant;
11 }
8 }
11 double calcularDescuento(int cant, double impCompra){
9 if(cant>=1 && cant<=5)
12 return 0.075 * impCompra;
0 else if(cant>=6 && cant <=10)
12 return 0.10 * impCompra;
1 else if(cant>11 && cant <=15)
12 return 0.125 * impCompra;
2 else
12 return 0.15 * impCompra;
3 }
12 double calcularImportePago(double impCompra, double desc){
4 return impCompra - desc;
12 }
5 int calcularCantObsequio(int cant){
12 if(cant>=1 && cant<=5)
6 return Menu.obsequioCantidad1;
12 else if(cant>=6 && cant <=10)
7 return Menu.obsequioCantidad2;
12 else
8 return Menu.obsequioCantidad3;
12 }
9
13 //METODO SALIDA DE DATOS
0
37
Informe del Proyecto de Introducción a la Algoritmia

void mostrarResultados(String nomMod, double precio, int cant,


double ic, double desc, double ip, int obs){
[Link]("");
imprimir("BOLETA DE VENTA");
imprimir("Modelo de laptop : " + nomMod);
imprimir("Precio unitario : " +
[Link](precio));
imprimir("Importe de Compra : " +
[Link](ic));
imprimir("Importe del Descuento : " +
[Link](desc));
imprimir("Importe a Pagar : " +
[Link](ip));
imprimir("Tipo de Obsequio : " +
[Link]);
imprimir("Unidades adquiridas : " + obs);
}
//IMPRIMIR
void imprimir(String cad) {
[Link](cad + "\n");
}

//Contador de unidades Vendidas


int contUnidadesVendidas() {
@SuppressWarnings("unused")
int sumaCont=0;
return
sumaCont=Menu.contadorVenta1+Menu.contadorVenta2+Menu.contadorVenta3+M
13 enu.contadorVenta4+[Link];
1 }
1 //Acumulador de los importes
double contImpGeneral() {
@SuppressWarnings("unused")
double sumaImp=0.00;
return
sumaImp=Menu.importeAcumulado1+Menu.importeAcumulado2+[Link]
ulado3+Menu.importeAcumulado4+[Link];
}
//Contador y acumulador
void reconocerUnidadesVendidas(int modelo, int cant){
switch(modelo){
case 0: Menu.importeAcumulado1+=cant*Menu.precio0;
Menu.contadorVenta1++; break;
case 1: Menu.importeAcumulado2+=cant*Menu.precio1;
Menu.contadorVenta2++; break;
case 2: Menu.importeAcumulado3+=cant*Menu.precio2;
Menu.contadorVenta3++; break;
case 3: Menu.importeAcumulado4+=cant*Menu.precio3;
Menu.contadorVenta4++; break;
case 4: [Link]+=cant*Menu.precio4;
[Link]++; break;
}
}
//Porcentaje de la cuota diaria
double porcentajeCuotaDiaria() {
double impGeneral=contImpGeneral();
double cuotaDiaria=[Link];
@SuppressWarnings("unused")
double porcentaje;
return porcentaje=(cuotaDiaria/impGeneral)*10;
38
Informe del Proyecto de Introducción a la Algoritmia

}
//BOTON CERRAR
protected void actionPerformedBtnCerrar(ActionEvent e) {
dispose();
}
//MENSAJE DE AVISO DE VENTAS
void aviso(int contadorVentas) {
[Link](this, "Venta Nro.
"+contadorVentas+
"\n"+"Importe total general acumulado:
$/."+[Link](contImpGeneral())+
"\n"+"Porcentaje de la cuota
diaria:"+[Link](porcentajeCuotaDiaria())+"%");
}
//Contador de Ventas
void mensaje(int contVentas) {
if(contUnidadesVendidas()==5 )
aviso(contVentas);
if(contUnidadesVendidas()==10)
aviso(contVentas);
if(contUnidadesVendidas()==15)
aviso(contVentas);
if(contUnidadesVendidas()==20)
aviso(contVentas);
if(contUnidadesVendidas()==25)
aviso(contVentas);
if(contUnidadesVendidas()==30)
aviso(contVentas);
if(contUnidadesVendidas()==35)
aviso(contVentas);
if(contUnidadesVendidas()==40)
aviso(contVentas);
if(contUnidadesVendidas()==45)
aviso(contVentas);
if(contUnidadesVendidas()==50)
aviso(contVentas);
if(contUnidadesVendidas()==55)
aviso(contVentas);
if(contUnidadesVendidas()==60)
aviso(contVentas);
}
//EVITAR LETRAS
public void keyPressed(KeyEvent arg0) {
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
if ([Link]() == txtCantidad) {
keyTypedTxtCantidad(e);
}
}
protected void keyTypedTxtCantidad(KeyEvent e) {
int capturar= [Link]();
if(capturar< '0' || capturar>'9') {
[Link]();
}
}
//INICIAR APLICACION MOSTRANDO DATOS
public void windowActivated(WindowEvent e) {
if ([Link]() == this) {
windowActivatedThis(e);
39
Informe del Proyecto de Introducción a la Algoritmia

}
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
protected void windowActivatedThis(WindowEvent e) {
[Link](""+Menu.precio0);
[Link]("\n"+"\n"+"\n"+"\n"+"
");
}
}

6. Ventana Secundaria – [Link]

1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14 import [Link];
15 import [Link];
16 import [Link];
17 public class DialogoGenerarReporte extends JDialog implements
18 ActionListener, ItemListener {
19 /**
20 *
21 */
22 private static final long serialVersionUID = 1L;
23 private JLabel lblNewLabel;
24 private JComboBox<String> cboTipoReporte;
25 private JButton btnCerrar;
26 private JScrollPane scrollPane;
27 private JTextArea txtS;
28 /**
29 * Launch the application.
30 */
31 public static void main(String[] args) {
32 try {
33
34 [Link]([Link]()
35 );
36 } catch (Throwable e) {
37 [Link]();
40
Informe del Proyecto de Introducción a la Algoritmia

38 }
39 [Link](new Runnable() {
40 public void run() {
41 try {
42 DialogoGenerarReporte dialog = new
43 DialogoGenerarReporte();
44 [Link](JDialog.DISPOSE_ON_CLOSE);
45 [Link](true);
46 } catch (Exception e) {
47 [Link]();
48 }
49 }
50 });
51 }
52
53 //VARIABLE GLOBAL PARA JCOMBOBOX TIPO REPORTE
54 //Variable que captura el indice del item selccionado en el
55 JcomboBox
56 int item;
57
58 //variables que guardan los valores de las variables globales
59 Public Static de Menu:
60 String modelo0 = Menu.modelo0, modelo1 = Menu.modelo1, modelo2 =
61 Menu.modelo2, modelo3 = Menu.modelo3, modelo4 = Menu.modelo4;
62 int cantVentas0 = Menu.contadorVenta0, cantVentas1 =
63 Menu.contadorVenta1,
64 cantVentas2 = Menu.contadorVenta2, cantVentas3 =
65 Menu.contadorVenta3,
66 cantVentas4 = Menu.contadorVenta4;
67 int unidVendidas0 = Menu.cantUniVendidas0, unidVendidas1 =
68 Menu.cantUniVendidas1, unidVendidas2 = Menu.cantUniVendidas2,
69 unidVendidas3 =
70 Menu.cantUniVendidas3, unidVendidas4 = Menu.cantUniVendidas4;
71 double impAcum0 = Menu.importeAcumulado0, impAcum1 =
72 Menu.importeAcumulado1, impAcum2 = Menu.importeAcumulado2,
73 impAcum3 =
74 Menu.importeAcumulado3, impAcum4 = Menu.importeAcumulado4;
75 double porCuota0 = Menu.porcentajeCuota0, porCuota1 =
76 Menu.porcentajeCuota1, porCuota2 = Menu.porcentajeCuota2,
77 porCuota3 =
78 Menu.porcentajeCuota3, porCuota4 = Menu.porcentajeCuota4;
79 int cantOptima = [Link];
80 double precio0 = Menu.precio0, precio1 = Menu.precio1, precio2 =
81 Menu.precio2, precio3 = Menu.precio3, precio4 = Menu.precio4;
82
83
84 //Calculando variables globales precioPromedio y anchoPromedio
85 double precioPromedio = (precio0 + precio1 + precio2 + precio3 +
86 precio4)/5;
87
88
89 //Creando el objeto formato1 tipo DecimalFormat que realizar� el
90 redondeo de los valores a 2 decimales
91 DecimalFormat formato1 = new DecimalFormat("0.00");
92
93 /**
94 * Create the dialog.
95 */
96 public DialogoGenerarReporte() {
97 setModal(true);
41
Informe del Proyecto de Introducción a la Algoritmia

98 setResizable(false);
99 setTitle("Generar Reportes");
100 setBounds(100, 100, 666, 402);
101 getContentPane().setLayout(null);
102
103 lblNewLabel = new JLabel("Tipo de Reporte");
104 [Link](10, 26, 77, 14);
105 getContentPane().add(lblNewLabel);
106
107 cboTipoReporte = new JComboBox<String>();
108 [Link](this);
109 [Link](new DefaultComboBoxModel(new String[]
110 {"Venta por modelo", "Venta en relacion a la venta optima",
111 "Precios en relacion al precio promedio", "Promedios, menores y
112 mayores"}));
113 [Link](97, 22, 205, 20);
114 getContentPane().add(cboTipoReporte);
115
116 btnCerrar = new JButton("Cerrar");
117 [Link](this);
118 [Link](539, 22, 89, 23);
119 getContentPane().add(btnCerrar);
120
121 scrollPane = new JScrollPane();
122 [Link](10, 65, 618, 280);
123 getContentPane().add(scrollPane);
124 txtS = new JTextArea();
125 [Link](false);
126 [Link](txtS);
127
128 //MOSTRANDO EL PRIMER REPORTE EN EL TXTAREA (REPORTE DEL ITEM 0
129 DEL JCOMBOBOX)
130 reportePorModelo();
131 }
132 public void actionPerformed(ActionEvent e) {
133 if ([Link]() == btnCerrar) {
134 actionPerformedBtnCerrar(e);
135 }
136 }
137 protected void actionPerformedBtnCerrar(ActionEvent e) {
138 dispose();
139 }
140 public void itemStateChanged(ItemEvent e) {
141 if ([Link]() == cboTipoReporte) {
142 itemStateChangedCboTipoReporte(e);
143 }
144 }
145 protected void itemStateChangedCboTipoReporte(ItemEvent e) {
146 //Llamando al Metodo
147 obtenerTipoReporte();
148
149 }
150
151 //METODOS PARA EL JCOMBOBOX TIPO REPORTE
152 void obtenerTipoReporte() {
153
154 //Capturando el indice del elemento seleccionado en el JcomboBox
155 item = [Link]();
156
157 //Obteniendo el reporte de acuerdo al item seleccionado
42
Informe del Proyecto de Introducción a la Algoritmia

158 switch(item) {
159 case 0:
160 //Llamando al Metodo
161 reportePorModelo();
162 break;
163
164 case 1:
165 //Llamando al Metodo
166 reporteVentaOptima();
167
168 break;
169
170 case 2:
171 //Llamando al Metodo
172 reportePrecioPromedio();
173
174 break;
175
176 default:
177 //Llamando al Metodo
178 reportePromedioMenoresMayores();
179
180 }
181 //colocando el cursor en la posicion 0 del JtextArea para que
182 muestre la primera linea de los reportes
183 [Link](0);
184 }
185 //METODO REPORTE VENTAS POR MODELO POR MODELO
186 void reportePorModelo() {
187 //imprimir titulo del reporte generado
188 [Link]("VENTAS POR MODELO \r\n\r\n");
189
190 //imprimiendo listado del reporte por modelo
191 [Link]("Modelo : " + modelo0 + "\n");
192 [Link]("Cantidad de Ventas : " + cantVentas0 + "\n");
193 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas0 +
194 "\n");
195 [Link]("Importe total vendido : S/." +
196 [Link](impAcum0) +
197 "\n");
198 [Link]("Aporte a la cuota diaria : " +
199 [Link](porCuota0) +
200 "%" + "\n\n");
201
202 [Link]("Modelo : " + modelo1 + "\n");
203 [Link]("Cantidad de Ventas : " + cantVentas1 + "\n");
204 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas1 +
205 "\n");
206 [Link]("Importe total vendido : S/." +
207 [Link](impAcum1) +
208 "\n");
209 [Link]("Aporte a la cuota diaria : " +
210 [Link](porCuota1) +
211 "%" + "\n\n");
212
213 [Link]("Modelo : " + modelo2 + "\n");
214 [Link]("Cantidad de Ventas : " + cantVentas2 + "\n");
215 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas2 +
216 "\n");
217 [Link]("Importe total vendido : S/." +
43
Informe del Proyecto de Introducción a la Algoritmia

218 [Link](impAcum2) +
219 "\n");
220 [Link]("Aporte a la cuota diaria : " +
221 [Link](porCuota2) +
222 "%" + "\n\n");
223
224 [Link]("Modelo : " + modelo3 + "\n");
225 [Link]("Cantidad de Ventas : " + cantVentas3 + "\n");
226 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas3 +
227 "\n");
228 [Link]("Importe total vendido : S/." +
229 [Link](impAcum3) +
230 "\n");
231 [Link]("Aporte a la cuota diaria : " +
232 [Link](porCuota3) +
233 "%" + "\n\n");
234
235 [Link]("Modelo : " + modelo4 + "\n");
236 [Link]("Cantidad de Ventas : " + cantVentas4 + "\n");
237 [Link]("Cantidad de Unidades Vendidas : " + unidVendidas4 +
238 "\n");
239 [Link]("Importe total vendido : S/." +
240 [Link](impAcum4) +
241 "\n");
[Link]("Aporte a la cuota diaria : " +
[Link](porCuota4) +
"%" + "\n\n");

//colocando el cursor en la posicion 0 del JtextArea para que


muestre la primera linea del reporte
[Link](0);
}

//METODO REPORTE VENTAS EN RELACION A LA VENTA �PTIMA


void reporteVentaOptima() {

//imprimir titulo del reporte generado


[Link]("VENTAS EN RELACIÓN A LA VENTA ÓPTIMA" + "\n\n");

//Imprimiendo el listado por modelo


//Modelo0
[Link]("Modelo : " + modelo0 + "\n");
if (unidVendidas0 < cantOptima)
[Link]("Cantidad de unidades vendidas : " + unidVendidas0 +
"(" +
(cantOptima - unidVendidas0) + " menos que la cantidad óptima)" +
"\n\n");

else if(unidVendidas0 > cantOptima)


[Link]("Cantidad de unidades vendidas : " + unidVendidas0 +
"(" +
(unidVendidas0 - cantOptima) + " m�s que la cantidad óptima)" +
"\n\n");

else
[Link]("Cantidad de unidades vendidas : " + unidVendidas0 +
"(igual a la cantidad óptima)" + "\n\n");

//Modelo1
[Link]("Modelo : " + modelo1 + "\n");
44
Informe del Proyecto de Introducción a la Algoritmia

if (unidVendidas1 < cantOptima)


[Link]("Cantidad de unidades vendidas : " + unidVendidas1 +
"(" +
(cantOptima - unidVendidas1) + " menos que la cantidad óptima)" +
"\n\n");

else if(unidVendidas1 > cantOptima)


[Link]("Cantidad de unidades vendidas : " + unidVendidas1 +
"(" +
(unidVendidas1 - cantOptima) + " más que la cantidad óptima)" + "\
n\n");

else
[Link]("Cantidad de unidades vendidas : " + unidVendidas1 +
"(igual a la cantidad óptima)" + "\n\n");

//Modelo2
[Link]("Modelo : " + modelo2 + "\n");
if (unidVendidas2 < cantOptima)
[Link]("Cantidad de unidades vendidas : " + unidVendidas2 +
"(" + (cantOptima - unidVendidas2) + " menos que la cantidad
óptima)" + "\n\n");

else if(unidVendidas2 > cantOptima)


[Link]("Cantidad de unidades vendidas : " + unidVendidas2 +
"(" +
(unidVendidas2 - cantOptima) + " m�s que la cantidad �ptima)"
+ "\n\n");

else
[Link]("Cantidad de unidades vendidas : " + unidVendidas2 +
"(igual a la cantidad óptima)" + "\n\n");

//Modelo3
[Link]("Modelo : " + modelo3 + "\n");
if (unidVendidas3 < cantOptima)
[Link]("Cantidad de unidades vendidas : " + unidVendidas3 +
"(" +
(cantOptima - unidVendidas3) + " menos que la cantidad óptima)" +
"\n\n");

else if(unidVendidas3 > cantOptima)


[Link]("Cantidad de unidades vendidas : " + unidVendidas3 +
"(" +
(unidVendidas3 - cantOptima) + " m�s que la cantidad óptima)" +
"\n\n");

else
[Link]("Cantidad de unidades vendidas : " + unidVendidas3 +
"(igual a la cantidad óptima)" + "\n\n");

//Modelo4
[Link]("Modelo : " + modelo4 + "\n");

if (unidVendidas4 < cantOptima)


[Link]("Cantidad de unidades vendidas : " + unidVendidas4 +
"(" + (cantOptima - unidVendidas4) + " menos que la cantidad
óptima)" + "\n\n");

else if(unidVendidas4 > cantOptima)


45
Informe del Proyecto de Introducción a la Algoritmia

[Link]("Cantidad de unidades vendidas : " + unidVendidas4 +


"(" + (unidVendidas4 - cantOptima) + " más que la cantidad
�ptima)" + "\n\n");
else
[Link]("Cantidad de unidades vendidas : " + unidVendidas4 +
"(igual a la cantidad óptima)" + "\n\n");
}
//METODO REPORTE EN RELACION AL PRECIO PROMEDIO
void reportePrecioPromedio() {

//imprimir titulo del reporte generado


[Link]("PRECIO EN RELACIÓN AL PRECIO PROMEDIO" + "\n\n");

//Imprimiendo el listado por modelo


//Modelo0
[Link]("Modelo : " + modelo0 + "\n");
if (precio0 < precioPromedio)
[Link]("Precio : S/. " + precio0 + "(Menor al Promedio)\n\
n");

else if(precio0 > precioPromedio)


[Link]("Precio : S/. " + precio0 + "(Mayor al Promedio)\n\
n");

else
[Link]("Precio : S/. " + precio0 + "(Igual al Promedio)\n\
n");

//Modelo1
[Link]("Modelo : " + modelo1 + "\n");
if (precio1 < precioPromedio)
[Link]("Precio : S/. " + precio1 + "(Menor al Promedio)\n\
n");

else if(precio1 > precioPromedio)


[Link]("Precio : S/. " + precio1 + "(Mayor al Promedio)\n\
n");

else
[Link]("Precio : S/. " + precio1 + "(Igual al Promedio)\n\
n");

//Modelo2
[Link]("Modelo : " + modelo2 + "\n");
if (precio2 < precioPromedio)
[Link]("Precio : S/. " + precio2 + "(Menor al Promedio)\n\
n");

else if(precio2 > precioPromedio)


[Link]("Precio : S/. " + precio2 + "(Mayor al Promedio)\n\
n");

else
[Link]("Precio : S/. " + precio2 + "(Igual al Promedio)\n\
n");
//Modelo3
[Link]("Modelo : " + modelo3 + "\n");
if (precio3 < precioPromedio)
[Link]("Precio : S/. " + precio3 + "(Menor al Promedio)\n\
n");
46
Informe del Proyecto de Introducción a la Algoritmia

else if(precio3 > precioPromedio)


[Link]("Precio : S/. " + precio3 + "(Mayor al Promedio)\n\
n");

else
[Link]("Precio : S/. " + precio3 + "(Igual al Promedio)\n\
n");

//Modelo4
[Link]("Modelo : " + modelo4 + "\n");
if (precio4 < precioPromedio)
[Link]("Precio : S/. " + precio4 + "(Menor al Promedio)\n\
n");
else if(precio4 > precioPromedio)
[Link]("Precio : S/. " + precio4 + "(Mayor al Promedio)\n\
n");

else
[Link]("Precio : S/. " + precio4 + "(Igual al Promedio)\n\
n");

//METODO REPORTE PROMEDIOS, MENORES Y MAYORES


void reportePromedioMenoresMayores() {

//imprimir titulo del reporte generado


[Link]("PROMEDIOS, MENORES Y MAYORES" + "\n\n");

[Link]("Precio Promedio : S/. " +


[Link](precioPromedio) + "\n");

//hallando e imprimiendo el precio menor


if (precio0 <= precio1 && precio0 <= precio2 && precio0 <=
precio3 && precio0 <=
precio4)
[Link]("Precio menor : S/. " + precio0 + "\n");

else if (precio1 <= precio0 && precio1 <= precio2 && precio1 <=
precio3 &&
precio1 <= precio4)
[Link]("Precio menor : S/. " + precio1 + "\n");

else if (precio2 <= precio0 && precio2 <= precio1 && precio2 <=
precio3 &&
precio2 <= precio4)
[Link]("Precio menor : S/. " + precio2 + "\n");

else if (precio3 <= precio0 && precio3 <= precio2 && precio3 <=
precio1 &&
precio3 <= precio4)
[Link]("Precio menor : S/. " + precio3 + "\n");

else
[Link]("Precio menor : S/. " + precio4 + "\n");

//hallando e imprimiendo el precio mayor


47
Informe del Proyecto de Introducción a la Algoritmia

if (precio0 >= precio1 && precio0 >= precio2 && precio0 >=
precio3 && precio0 >=
precio4)
[Link]("Precio mayor : S/. " + precio0 + "\n\n");

else if (precio1 >= precio0 && precio1 >= precio2 && precio1 >=
precio3 &&
precio1 >= precio4)
[Link]("Precio mayor : S/. " + precio1 + "\n\n");

else if (precio2 >= precio0 && precio2 >= precio1 && precio2 >=
precio3 &&
precio2 >= precio4)
[Link]("Precio mayor : S/. " + precio2 + "\n\n");

else if (precio3 >= precio0 && precio3 >= precio2 && precio3 >=
precio1 &&
precio3 >= precio4)
[Link]("Precio mayor : S/. " + precio3 + "\n\n");

else
[Link]("Precio mayor : S/. " + precio4 + "\n\n");

}
}

7. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 public class Configurarcantidadoptima extends JDialog implements
13 ActionListener {
14 /**
15 *
16 */
17 private static final long serialVersionUID = 1L;
18 private JLabel lblNewLabel;
19 private JTextField txtCantidadOptima;
20 private JButton btnCancelar;
21 private JButton btnAceptar;
22 /**
23 * Launch the application.
24 */
25 public static void main(String[] args) {
26 try {
27 [Link]([Link]());
28 } catch (Throwable e) {
48
Informe del Proyecto de Introducción a la Algoritmia

29 [Link]();
30 }
31 [Link](new Runnable() {
32 public void run() {
33 try {
34 Configurarcantidadoptima dialog = new
35 Configurarcantidadoptima();
36 [Link](JDialog.DISPOSE_ON_CLOSE);
37 [Link](true);
38 } catch (Exception e) {
39 [Link]();
40 }
41 }
42 });
43 }
44 /**
45 * Create the dialog.
46 */
47 public Configurarcantidadoptima() {
48 setTitle("Configurar Cantidad \u00D3ptima");
49 setResizable(false);
50 setModal(true);
51 setBounds(100, 100, 440, 125);
52 getContentPane().setLayout(null);
53
54 lblNewLabel = new JLabel("Cantidad \u00F3ptima de unidades
55 vendidas");
56 [Link](10, 15, 185, 14);
57 getContentPane().add(lblNewLabel);
58
59 txtCantidadOptima = new JTextField();
60 [Link](205, 12, 64, 20);
61 getContentPane().add(txtCantidadOptima);
62 [Link](10);
63
64 btnCancelar = new JButton("Cancelar");
65 [Link](this);
66 [Link](314, 41, 89, 23);
67 getContentPane().add(btnCancelar);
68
69 btnAceptar = new JButton("Aceptar");
70 [Link](this);
71 [Link](314, 11, 89, 23);
72 getContentPane().add(btnAceptar);
73
74 //Mostrando valores
75 [Link](""+[Link]);
76
77 }
78 public void actionPerformed(ActionEvent e) {
79 if ([Link]() == btnAceptar) {
80 actionPerformedBtnAceptar(e);
81 }
82 if ([Link]() == btnCancelar) {
83 actionPerformedBtnCancelar(e);
84 }
85 }
86 protected void actionPerformedBtnCancelar(ActionEvent e) {
87 dispose();
88 }
89 protected void actionPerformedBtnAceptar(ActionEvent e) {
49
Informe del Proyecto de Introducción a la Algoritmia

//Grabando la cantidad optima


90
[Link] = [Link]([Link]());
91
//Mostrando aviso de cambio realizado
92
[Link](null, "Cambio Realizado con
93
Éxito", "Aviso" , 1, null);
94
dispose();
95
}
}

8. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 public class Configurarcantidadoptima extends JDialog implements
13 ActionListener {
14 /**
15 *
16 */
17 private static final long serialVersionUID = 1L;
18 private JLabel lblNewLabel;
19 private JTextField txtCantidadOptima;
20 private JButton btnCancelar;
21 private JButton btnAceptar;
22 /**
23 * Launch the application.
24 */
25 public static void main(String[] args) {
26 try {
27 [Link]([Link]());
28 } catch (Throwable e) {
29 [Link]();
30 }
31 [Link](new Runnable() {
32 public void run() {
33 try {
34 Configurarcantidadoptima dialog = new
35 Configurarcantidadoptima();
36 [Link](JDialog.DISPOSE_ON_CLOSE);
37 [Link](true);
38 } catch (Exception e) {
39 [Link]();
40 }
41 }
42 });
43 }
44 /**
45 * Create the dialog.
46 */
47 public Configurarcantidadoptima() {
48 setTitle("Configurar Cantidad \u00D3ptima");
50
Informe del Proyecto de Introducción a la Algoritmia

setResizable(false);
setModal(true);
49
setBounds(100, 100, 440, 125);
50
getContentPane().setLayout(null);
51
52
lblNewLabel = new JLabel("Cantidad \u00F3ptima de unidades
53
vendidas");
54
[Link](10, 15, 185, 14);
55
getContentPane().add(lblNewLabel);
56
57
txtCantidadOptima = new JTextField();
58
[Link](205, 12, 64, 20);
59
getContentPane().add(txtCantidadOptima);
60
[Link](10);
61
62
btnCancelar = new JButton("Cancelar");
63
[Link](this);
64
[Link](314, 41, 89, 23);
65
getContentPane().add(btnCancelar);
66
67
btnAceptar = new JButton("Aceptar");
68
[Link](this);
69
[Link](314, 11, 89, 23);
70
getContentPane().add(btnAceptar);
71
72
//Mostrando valores
73
[Link](""+[Link]);
74
75
}
76
public void actionPerformed(ActionEvent e) {
77
if ([Link]() == btnAceptar) {
78
actionPerformedBtnAceptar(e);
79
}
80
if ([Link]() == btnCancelar) {
81
actionPerformedBtnCancelar(e);
82
}
83
}
84
protected void actionPerformedBtnCancelar(ActionEvent e) {
85
dispose();
86
}
87
protected void actionPerformedBtnAceptar(ActionEvent e) {
88
89
//Grabando la cantidad optima
90
[Link] = [Link]([Link]());
91
//Mostrando aviso de cambio realizado
92
[Link](null, "Cambio Realizado con
93
Éxito", "Aviso" , 1, null);
94
dispose();
95
}
}

9. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
51
Informe del Proyecto de Introducción a la Algoritmia

8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14
15 public class Configurarcuotadiaria extends JDialog implements
16 ActionListener {
17
18 private final JPanel contentPanel = new JPanel();
19 private JTextField txtCuotaestimada;
20 private JButton btnProcesar;
21 private JButton btnBorrar;
22
23 /**
24 * Launch the application.
25 */
26 public static void main(String[] args) {
27 try {
28 Configurarcuotadiaria dialog = new
29 Configurarcuotadiaria();
30
31 [Link](JDialog.DISPOSE_ON_CLOSE);
32 [Link](true);
33 } catch (Exception e) {
34 [Link]();
35 }
36 }
37
38 /**
39 * Create the dialog.
40 */
41 public Configurarcuotadiaria() {
42 setTitle("Configurar cuota diaria");
43 setBounds(100, 100, 486, 158);
44 getContentPane().setLayout(new BorderLayout());
45 [Link](new EmptyBorder(5, 5, 5, 5));
46 getContentPane().add(contentPanel,
47 [Link]);
48 [Link](null);
49 {
50 JLabel lblCuotaDiariaEstimada = new JLabel("
51 Cuota diaria estimada (S/.)");
52 [Link](10, 11, 157,
53 14);
54 [Link](lblCuotaDiariaEstimada);
55 }
56 {
57 txtCuotaestimada = new JTextField();
58 [Link](201, 8, 106, 20);
59 [Link](txtCuotaestimada);
60 [Link](10);
61 }
62 {
63 btnProcesar = new JButton(" Procesar");
64 [Link](this);
65 [Link](346, 7, 89, 23);
66 [Link](btnProcesar);
67 }
68 {
52
Informe del Proyecto de Introducción a la Algoritmia

btnBorrar = new JButton(" Borrar");


[Link](this);
[Link](346, 39, 89, 23);
[Link](btnBorrar);
}
69 }
70
71 public void actionPerformed(ActionEvent arg0) {
72 if ([Link]() == btnBorrar) {
73 do_btnBorrar_actionPerformed(arg0);
74 }
75 if ([Link]() == btnProcesar) {
76 do_btnProcesar_actionPerformed(arg0);
77 }
78 }
79 protected void do_btnProcesar_actionPerformed(ActionEvent
80 arg0) {
81 //Grabando cuota diaria
82 [Link] =
83 [Link]([Link]());
84
85 }
86 protected void do_btnBorrar_actionPerformed(ActionEvent arg0)
87 {
88 //Mostrando aviso de cambio realizado
89 [Link](null, "Cambio
90 Realizado con Éxito",
91 "Aviso" , 1, null);
92
93 dispose();

}
}

10. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 public class DialogoCalcularPorcentajesdeDescuento extends JDialog
13 implements ActionListener {
14 /**
15 *
16 */
17 private static final long serialVersionUID = 1L;
18 private JLabel lblNewLabel;
19 private JLabel lblA;
20 private JLabel lblA_2;
21 private JLabel lblMsDe;
53
Informe del Proyecto de Introducción a la Algoritmia

22 private JTextField txtDesc1;


23 private JTextField txtDesc2;
24 private JTextField txtDesc3;
25 private JTextField txtDesc4;
26 private JLabel lblNewLabel_1;
27 private JLabel lblNewLabel_2;
28 private JLabel lblNewLabel_3;
29 private JLabel lblNewLabel_4;
30 private JButton btnCancelar;
31 private JButton btnAceptar;
32 /**
33 * Launch the application.
34 */
35 public static void main(String[] args) {
36 try {
37 [Link]([Link]());
38 } catch (Throwable e) {
39 [Link]();
40 }
41 [Link](new Runnable() {
42 public void run() {
43 try {
44 DialogoCalcularPorcentajesdeDescuento dialog = new
45 DialogoCalcularPorcentajesdeDescuento();
46 [Link](JDialog.DISPOSE_ON_CLOSE);
47 [Link](true);
48 } catch (Exception e) {
49 [Link]();
50 }
51 }
52 });
53 }
54 /**
55 * Create the dialog.
56 */
57 public DialogoCalcularPorcentajesdeDescuento() {
58 setTitle("Configurar porcentajes de descuento");
59 setResizable(false);
60 setModal(true);
61 setBounds(100, 100, 444, 149);
62 getContentPane().setLayout(null);
63
64 lblNewLabel = new JLabel("1 a 5 unidades");
65 [Link](10, 11, 70, 14);
66 getContentPane().add(lblNewLabel);
67
68 lblA = new JLabel("6 a 10 unidades");
69 [Link](10, 36, 76, 14);
70 getContentPane().add(lblA);
71
72 lblA_2 = new JLabel("11 a 15 unidades");
73 lblA_2.setBounds(10, 61, 82, 14);
74 getContentPane().add(lblA_2);
75
76 lblMsDe = new JLabel("M\u00E1s de 15 unidades");
77 [Link](10, 86, 95, 14);
78 getContentPane().add(lblMsDe);
79 txtDesc1 = new JTextField();
80 [Link](124, 8, 86, 20);
81 getContentPane().add(txtDesc1);
82 [Link](10);
54
Informe del Proyecto de Introducción a la Algoritmia

83
84 txtDesc2 = new JTextField();
85 [Link](10);
86 [Link](124, 33, 86, 20);
87 getContentPane().add(txtDesc2);
88
89 txtDesc3 = new JTextField();
90 [Link](10);
91 [Link](124, 58, 86, 20);
92 getContentPane().add(txtDesc3);
93
94 txtDesc4 = new JTextField();
95 [Link](10);
96 [Link](124, 83, 86, 20);
97 getContentPane().add(txtDesc4);
98
99 lblNewLabel_1 = new JLabel("%");
100 lblNewLabel_1.setBounds(220, 11, 11, 14);
101 getContentPane().add(lblNewLabel_1);
102
103 lblNewLabel_2 = new JLabel("%");
104 lblNewLabel_2.setBounds(220, 39, 11, 14);
105 getContentPane().add(lblNewLabel_2);
106
107 lblNewLabel_3 = new JLabel("%");
108 lblNewLabel_3.setBounds(220, 61, 11, 14);
109 getContentPane().add(lblNewLabel_3);
110
111 lblNewLabel_4 = new JLabel("%");
112 lblNewLabel_4.setBounds(220, 86, 11, 14);
113 getContentPane().add(lblNewLabel_4);
114
115 btnCancelar = new JButton("Cancelar");
116 [Link](this);
117 [Link](303, 32, 89, 23);
118 getContentPane().add(btnCancelar);
119
120 //Mostrando los valores de los porcentjaes al cargar la ventana
121 [Link](""+Menu.porcentaje1);
122 [Link](""+Menu.porcentaje2);
123 [Link](""+Menu.porcentaje3);
124 [Link](""+Menu.porcentaje4);
125
126 btnAceptar = new JButton("Aceptar");
127 [Link](this);
128 [Link](303, 7, 89, 23);
129 getContentPane().add(btnAceptar);
130 }
131 public void actionPerformed(ActionEvent e) {
132 if ([Link]() == btnAceptar) {
133 actionPerformedBtnAceptar(e);
134 }
135 if ([Link]() == btnCancelar) {
136 actionPerformedBtnCancelar(e);
137 }
138 }
139 protected void actionPerformedBtnCancelar(ActionEvent e) {
140 dispose();
141 }
142
143 protected void actionPerformedBtnAceptar(ActionEvent e) {
55
Informe del Proyecto de Introducción a la Algoritmia

//Grabando los valores de los porcentajes Nuevos en las variables


144 globales
145 Menu.porcentaje1 = [Link]([Link]());
146 Menu.porcentaje2 = [Link]([Link]());
147 Menu.porcentaje3 = [Link]([Link]());
148 Menu.porcentaje4 = [Link]([Link]());
149
150 //Mostrando aviso de cambio realizado
151 [Link](null, "Cambio Realizado con
152 Éxito",
153 "Aviso" , 1, null);
154 dispose();
}
}

11. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4
5 import [Link];
6 import [Link];
7 import [Link];
8
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 import [Link];
14 import [Link];
15 import [Link];
16 import [Link];
17 import [Link];
18 import [Link];
19 import [Link];
20 import [Link];
21
22 public class DialogoConfigurarObsequio extends JFrame implements
23 ActionListener, KeyListener, WindowListener {
24
25 /**
26 *
27 */
28 private static final long serialVersionUID = 1L;
29 private JPanel contentPane;
30 private JLabel lblTipoDeObsequios;
31 private JLabel lblA;
32 private JLabel lblA_1;
33 private JLabel lblA_2;
34 private JTextField txtUni3;
35 private JTextField txtUni2;
36 private JTextField txtUni1;
37 private JTextField txtTipo;
38 private JButton btnAceptar;
39 private JButton btnCancelar;
40
41 /**
42 * Launch the application.
56
Informe del Proyecto de Introducción a la Algoritmia

43 */
44 public static void main(String[] args) {
45 [Link](new Runnable() {
46 public void run() {
47 try {
48 DialogoConfigurarObsequio frame
49 = new DialogoConfigurarObsequio();
50 [Link](true);
51 } catch (Exception e) {
52 [Link]();
53 }
54 }
55 });
56 }
57
58 /**
59 * Create the frame.
60 */
61 public DialogoConfigurarObsequio() {
62 addWindowListener(this);
63 setTitle("Configurar Obsequios");
64 setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
65 setBounds(100, 100, 407, 161);
66 contentPane = new JPanel();
67 [Link](new EmptyBorder(5, 5, 5, 5));
68 setContentPane(contentPane);
69 [Link](null);
70
71 lblTipoDeObsequios = new JLabel("Tipo de Obsequios");
72 [Link](new Font("Consolas",
73 [Link], 11));
74 [Link](10, 11, 113, 14);
75 [Link](lblTipoDeObsequios);
76
77 lblA = new JLabel("1 a 5 unidades");
78 [Link](new Font("Consolas", [Link], 11));
79 [Link](10, 36, 96, 14);
80 [Link](lblA);
81
82
lblA_1 = new JLabel("6 a 10 unidades");
83
lblA_1.setFont(new Font("Consolas", [Link], 11));
84
lblA_1.setBounds(10, 61, 96, 14);
85
[Link](lblA_1);
86
87
88 lblA_2 = new JLabel("11 a m\u00E1s unidades");
89 lblA_2.setFont(new Font("Consolas", [Link], 11));
90 lblA_2.setBounds(10, 86, 113, 14);
91 [Link](lblA_2);
92
93 txtUni3 = new JTextField();
94 [Link](this);
95 [Link](133, 83, 86, 20);
96 [Link](txtUni3);
97 [Link](10);
98
99 txtUni2 = new JTextField();
100 [Link](this);
101 [Link](133, 58, 86, 20);
102 [Link](txtUni2);
103 [Link](10);
57
Informe del Proyecto de Introducción a la Algoritmia

104
105 txtUni1 = new JTextField();
106 [Link](this);
107 [Link](133, 33, 86, 20);
108 [Link](txtUni1);
109 [Link](10);
110
111 txtTipo = new JTextField();
112 [Link](133, 8, 86, 20);
113 [Link](txtTipo);
114 [Link](10);
115
116
btnAceptar = new JButton("Aceptar");
117
[Link]([Link]);
118
[Link]([Link]);
119
[Link](this);
120
[Link](294, 7, 89, 23);
121
[Link](btnAceptar);
122
123
124 btnCancelar = new JButton("Cancelar");
125 [Link]([Link]);
126 [Link]([Link]);
127 [Link](this);
128 [Link](294, 32, 89, 23);
129 [Link](btnCancelar);
130 }
131
132 public void actionPerformed(ActionEvent e) {
133 if ([Link]() == btnCancelar) {
134 actionPerformedBtnCancelar(e);
135 }
136 if ([Link]() == btnAceptar) {
137 actionPerformedBtnAceptar(e);
138 }
139 }
140 //BOTON ACEPTAR
141 protected void actionPerformedBtnAceptar(ActionEvent e) {
142 try{
143 [Link] = [Link]();
144 Menu.obsequioCantidad1 =
145 remplazarDatos([Link]());
146 Menu.obsequioCantidad2 =
147 remplazarDatos([Link]());
148 Menu.obsequioCantidad3 =
149 remplazarDatos([Link]());
150 dispose();
151 }
152 catch (Exception e2){
153 [Link](this, " Completa
154 los campos Requeridos.", "ERROR", JOptionPane.INFORMATION_MESSAGE);
155 }
156 }
157 //Cambiar Datos
158 int remplazarDatos(String t){
159 return [Link](t);
160 }
161 //BOTON CANCELAR
162 protected void actionPerformedBtnCancelar(ActionEvent e) {
163 dispose();
164 }
58
Informe del Proyecto de Introducción a la Algoritmia

//EVITAR LETRAS EN ALGUNAS CASILLAS

public void keyPressed(KeyEvent e) {


}
165 public void keyReleased(KeyEvent e) {
166 }
167 public void keyTyped(KeyEvent e) {
168 if ([Link]() == txtUni3) {
169 keyTypedTxtUni3(e);
170 }
171 if ([Link]() == txtUni2) {
172 keyTypedTxtUni2(e);
173 }
174 if ([Link]() == txtUni1) {
175 keyTypedTxtUni1(e);
176 }
177 }
178 protected void keyTypedTxtUni1(KeyEvent e) {
179 int capturar= [Link]();
180 if(capturar< '0' || capturar>'9') {
181 [Link]();
182 }
183 }
184 protected void keyTypedTxtUni2(KeyEvent e) {
185 int capturar= [Link]();
186 if(capturar< '0' || capturar>'9') {
187 [Link]();
188 }
189 }
190 protected void keyTypedTxtUni3(KeyEvent e) {
191 int capturar= [Link]();
192 if(capturar< '0' || capturar>'9') {
193 [Link]();
194 }
195 }
196 //INICIAR APLICACION MOSTRANDO DATOS
197 public void windowActivated(WindowEvent arg0) {
198 if ([Link]() == this) {
199 windowActivatedThis(arg0);
200 }
201 }
202 public void windowClosed(WindowEvent arg0) {
203 }
204 public void windowClosing(WindowEvent arg0) {
205 }
206 public void windowDeactivated(WindowEvent arg0) {
207 }
208 public void windowDeiconified(WindowEvent arg0) {
209 }
210 public void windowIconified(WindowEvent arg0) {
211 }
212 public void windowOpened(WindowEvent arg0) {
213 }
214 protected void windowActivatedThis(WindowEvent arg0) {
215 [Link]([Link]);
[Link](""+Menu.obsequioCantidad1);
[Link](""+Menu.obsequioCantidad2);
[Link](""+Menu.obsequioCantidad3);
}
}
59
Informe del Proyecto de Introducción a la Algoritmia

12. Ventana Secundaria – [Link]


1 package Tienda;
2
3 import [Link];
4 import [Link];
5 import [Link];
6 import [Link];
7 import [Link];
8 import [Link];
9 import [Link];
10 import [Link];
11 import [Link];
12 import [Link];
13 public class Acercadelatienda extends JDialog implements
14 ActionListener {
15 /**
16 *
17 */
18 private static final long serialVersionUID = 1L;
19 private JLabel lblNewLabel;
20 private JLabel lblDeCocinasV;
21 private JButton btnCerrar;
22 private JLabel lblNewLabel_1;
23 private JLabel lblNewLabel_2;
24
25 private JSeparator separator;
26 private JLabel label;
27 /**
28 * Launch the application.
29 */
30 public static void main(String[] args) {
31 try {
32 [Link]([Link]());
33 } catch (Throwable e) {
34 [Link]();
35 }
36 [Link](new Runnable() {
37 public void run() {
38 try {
39 Acercadelatienda dialog = new Acercadelatienda();
40 [Link](JDialog.DISPOSE_ON_CLOSE);
41 [Link](true);
42 } catch (Exception e) {
43 [Link]();
44 }
45 }
46 });
47 }
48 /**
49 * Create the dialog.
60
Informe del Proyecto de Introducción a la Algoritmia

*/
50
public Acercadelatienda() {
51
setTitle("Acerca de Sistema de Venta ");
52
setResizable(false);
53
setModal(true);
54
setBounds(100, 100, 484, 363);
55
getContentPane().setLayout(null);
56
57
lblNewLabel = new JLabel("Sistema de Venta");
58
[Link](new Font("Tahoma", [Link], 20));
59
[Link](58, 11, 328, 25);
60
[Link]([Link]);
61
getContentPane().add(lblNewLabel);
62
63
lblDeCocinasV = new JLabel("de Laptops V. 2.1");
64
[Link]([Link]);
65
[Link](new Font("Tahoma", [Link], 20));
66
[Link](58, 36, 328, 25);
67
getContentPane().add(lblDeCocinasV);
68
69
btnCerrar = new JButton("Cerrar");
70
[Link](this);
71
[Link](188, 272, 89, 23);
72
getContentPane().add(btnCerrar);
73
74
lblNewLabel_1 = new JLabel("Autores:");
75
lblNewLabel_1.setFont(new Font("Tahoma", [Link], 16));
76
lblNewLabel_1.setBounds(187, 93, 70, 20);
77
getContentPane().add(lblNewLabel_1);
78
79
lblNewLabel_2 = new JLabel("Leonel Quispe");
80
lblNewLabel_2.setFont(new Font("Tahoma", [Link], 14));
81
lblNewLabel_2.setBounds(142, 160, 189, 17);
82
getContentPane().add(lblNewLabel_2);
83
84
separator = new JSeparator();
85
[Link](56, 80, 331, 2);
86
getContentPane().add(separator);
87
88
label = new JLabel("Santiago Rubio");
89
[Link](new Font("Tahoma", [Link], 14));
90
[Link](142, 132, 189, 17);
91
getContentPane().add(label);
92
}
93
public void actionPerformed(ActionEvent e) {
94
if ([Link]() == btnCerrar) {
95
actionPerformedBtnCerrar(e);
96
}
97
}
98
protected void actionPerformedBtnCerrar(ActionEvent e) {
99
dispose();
100
}
101
}
61
Informe del Proyecto de Introducción a la Algoritmia

VI. Conclusiones
En primer lugar, el funcionamiento correcto del software dependerá de un
adecuado planteamiento del problema a resolver. La lógica de programación es la
piedra angular que fundamenta un correcto desarrollo. También es importante que
la sintaxis utilizada en el código fuente sea funcional y eficiente.
Además, podemos concluir que la utilización de software especializado y
diseñado a medida del requerimiento del cliente facilita los procesos internos de
las empresas y los hace más eficientes.
Finalmente concluimos que siempre existe espacio para mejoras y
actualizaciones, que el campo de acción de los desarrolladores de software, y
profesiones afines, continúa en vigencia y seguirá siendo relevante en el avance
de la tecnología, economía mundial y calidad de vida de las personas.

VII. Recomendaciones

Como una medida de seguridad recomendamos agregar un menú de inicio de


sesión para cada ordenador.
Sería adecuado vincular el software desarrollado a una base de datos para
vincular una mayor cantidad de información, además se pueden guardar datos de
compras, stocks, clientes frecuentes, entre otras más categorías que permitirán
tomar mejores decisiones estratégicas para el crecimiento de la compañía.

VIII. Bibliografía

 Cid, Montserrat. (2004). Beneficios de la utilización del ordenador en el


aprendizaje: un diseño experimental. Edutec: Revista electrónica de
tecnología educativa, ISSN 1135-9250, Nº. 17, 2004.
10.21556/edutec.2004.17.535.

También podría gustarte