SlideShare una empresa de Scribd logo
1 de 30
Universidad Interamericana de Puerto Rico
Recinto de Aguadilla
Departamento de Ciencias y Tecnología
Proyecto Final: “FreeKare”
Realizado por: Abdías Vidal Valentín, Cristian Rosario Acevedo y Kevin Martínez Ramírez
Curso: COMP 2400
Sección: 36587
Fecha: 11 de mayo de 2016
Profesor Eduardo Vargas Moya
1
Tabla de Contenido
Introducción.................................................................................................................................... 2
Diseño: ............................................................................................................................................ 3
Records:....................................................................................................................................... 3
Diagramas de Flujo: ...................................................................Error! Bookmark not defined.
Menús:......................................................................................................................................... 5
Código:........................................................................................................................................ 5
Conclusión: ..................................................................................................................................... 6
Referencias.................................................................................................................................... 28
2
Introduccción:
Dentro de este código, usted podrá encontrar todo lo relacionado con la aplicación para la
visualización y manejo de datos de empleados dentro de una empresa.
3
Diseño:
Records:
Mes Abril Mayo
Día
9AM -
10:20AM
martes,
12
Jueves, 14 Martes,
19
Jueves 21 Martes,
26
Jueves, 29 Martes, 3 Jueves, 5
Notas Flujo
grama
algoritmo Comienzo
de
codificar
Enlazar
códigos
applets Enlazar
applet
Bug run fiesta
4
Diagramas de Flujo:
5
Interfaces:
6
Código:
import java.applet.Applet;
import java.awt.*;
import java.util.concurrent.TimeUnit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import java.net.*;
/*Autores: Cristian J. Rosario Acevedo
* Abdías Vidal Valentín
* Kevin Martínez Ramírez
* Curso: object oriented progrming
* Institucion Educativa: Universidad Interamericana de Puerto
Rico, Recinto de Aguadilla
* Propocito: Dentro de este codigo, usted podrá encontrar todo
lo relacionado con la aplicación para la visualización y manejo
de datos de empleados dentro de una empresa..
*/
public class OfficialMain extends Applet{
public static void main (String args[]) {
JFrame frame = new JFrame("Loading...");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = (JPanel)frame.getContentPane();
JLabel label = new JLabel();
label.setIcon(new ImageIcon("load.gif"));// your image
here
7
panel.add(label);
frame.pack();
frame.setVisible(true);
frame.setLocationRelativeTo(null);
try
{
Thread.sleep(5000);
frame.dispose();
}
8
catch (Exception e)
{
//Excepcion
}
JFrame frame2 = new JFrame("FreeKare");
frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel2 = (JPanel)frame2.getContentPane();
JLabel label2 = new JLabel();
label2.setIcon(new ImageIcon("FreeKare.png"));// your
image here
panel2.add(label2);
frame2.pack();
frame2.setVisible(true);
frame2.setLocationRelativeTo(null);
try
{
Thread.sleep(10000);
frame2.dispose();
}
catch (Exception e)
{
//Excepcion
}
start.main(null);
}
}
9
class start {
public static void main(String[] args) {//corre el main del
main
MainPassword.main(null);
}
}
class ThanksYou {
public static void main (String args[])
{
JFrame frame3 = new JFrame("Hasta Luego!");
frame3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel3 = (JPanel)frame3.getContentPane();
JLabel label3 = new JLabel();
label3.setIcon(new ImageIcon("GoodBye.png"));// your
image here
panel3.add(label3);
frame3.pack();
frame3.setVisible(true);
frame3.setLocationRelativeTo(null);
try
{
Thread.sleep(5000);
frame3.dispose();
}
catch (Exception e)
{
//Excepcion
}
}
}
10
import javax.swing.*;
/*Autores: Cristian J. Rosario Acevedo
* Abdías Vidal Valentín
* Kevin Martínez Ramírez
* Clase: object oriented programming
* Institucion Educativa: Universidad Interamericana de Puerto
Rico, recinto de Aguadilla
* Propocito: Dentro de este codigo, usted podrá encontrar todo
lo relacionado con la aplicación para la visualización y manejo
de datos de empleados dentro de una empresa..
*/
class Password {
String temporary;
Password()
{
temporary = "freekare2016";
}
static String setPassword(String passwordValue) {//se crea el
password
JLabel jPassword = new JLabel("Ingrese la nueva
contrasena");
JTextField password = new JPasswordField();
Object[] ob = { jPassword, password };
int result = JOptionPane.showConfirmDialog(null, ob,
"Acceso", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, new
ImageIcon(MainPassword.class.getResource("FreeKareicon.png")));
if (result == JOptionPane.OK_OPTION) {
passwordValue = password.getText();
}
return passwordValue;//se guarda el pass key y lo pasa a
otro codigo
}//termina de crear
11
static void lockSession() {//le have lock al y te vota del
codigo
JOptionPane.showMessageDialog(null, "No hay intentos
disponibles. Terminando el programa en 3 segundos...",
"Aviso", JOptionPane.PLAIN_MESSAGE);
MainPassword.delay(3000);
System.exit(0);
}//termina
static String getPassword(String passwordValue, String tmp)
{//deja que el usario ingrese el pass word 3 veces
int attempts = 3;
while (!passwordValue.equalsIgnoreCase(tmp) && attempts >=
1) {
JLabel jPassword = new JLabel("Ingrese su contrasena");
JTextField password = new JPasswordField();
Object[] ob = { jPassword, password };
int result = JOptionPane.showConfirmDialog(null, ob,
"Acceso", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, new
ImageIcon(MainPassword.class.getResource("FreeKareicon.png")));
if (result == JOptionPane.OK_OPTION) {
passwordValue = password.getText();
}
else
return null;
if (!passwordValue.equalsIgnoreCase(tmp)) {
attempts--;
JOptionPane.showMessageDialog(null, "Contrasena
incorrecta. Usted tiene " + attempts + " intentos",
"Acceso Denegado", JOptionPane.ERROR_MESSAGE);
}
else {
attempts = 3;
}
12
} // while ends here
if (attempts == 0) {
lockSession();
}
return passwordValue;
}
}//termia
import javax.swing.*;
import java.awt.*;
import java.util.concurrent.TimeUnit;
/*Autores: Cristian J. Rosario Acevedo
* Abdías Vidal Valentín
* Kevin Martínez Ramírez
* Clase: object oriented programming
* Institucion Educativa: Universidad Interamericana de Puerto
Rico, Recinto de Aguadilla
* Propocito: Dentro de este codigo, usted podrá encontrar todo
lo relacionado con la aplicación para la visualización y manejo
de datos de empleados dentro de una empresa..
*/
public class MainPassword {
static void delay (int i){//delay mas manejable.
try {
TimeUnit.SECONDS.sleep(1);
}
catch (Exception e){
}
}
public static void main(String args[]) {//comienza main
String password = " ", selection, def = FileIO.readPassword();
//System.out.println("debug password: "+def);
13
int option;
Password key = new Password();
password = key.getPassword(password, def);
boolean passed = true;
while(passed){
try{
do {
selection = (String) JOptionPane.showInputDialog(null,
"~ Menu Principal ~ n 1. Cambiar Password n 2. Vendedores
n 9. Salir n", "Hola",
JOptionPane.INFORMATION_MESSAGE, new
ImageIcon(MainPassword.class.getResource("icon32.png")), null,
null);
if ((selection == null)){
ThanksYou.main(null);
break;
}
option = Integer.parseInt(selection);
switch (option) {
case 1: {//cambia el password
password = " ";
password = key.getPassword(password, def);
password = key.setPassword(password);
def = password;
FileIO.writePassword(def);
break;
}
case 2: {//entras a venta
14
DataIO.mainVentas();
break;
}
case 3:{//entras a unsecreto
JOptionPane.showMessageDialog(null,"creado por n Kevin n
Abdias n Cristian n Finalizado en 5/5/16 a las 6:02",
"Secreto", JOptionPane.INFORMATION_MESSAGE, new
ImageIcon(MainPassword.class.getResource("icon33.png")));
break;
}
case 9: {//sales
ThanksYou.main(null);
break;
}
default: {
JOptionPane.showMessageDialog(null,"Solo escriba
numeros no letras", "Error", JOptionPane.INFORMATION_MESSAGE,
new ImageIcon(MainPassword.class.getResource("icon32.png")));
}
}
delay(1000);
}
while (option != 9);
passed = false;
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,"Solo ingrese
numeros para seleccionar unas de las opciones del menu
principal",
"Mensaje de Error", JOptionPane.INFORMATION_MESSAGE,
new ImageIcon(MainPassword.class.getResource("icon34.png")));
}
}
}
}
//end
15
import java.io.*;
import java.util.Scanner;
/*Autores: Cristian J. Rosario Acevedo
* Abdías Vidal Valentín
* Kevin Martínez Ramírez
* Curso: object oriented programming
* Institucion Educativa: Universidad Interamericana de Puerto
Rico, Recinto de Aguadilla
* Propocito: Dentro de este codigo, usted podrá encontrar todo
lo relacionado con la aplicación para la visualización y manejo
de datos de empleados dentro de una empresa. .
*/
public class FileIO {//se salvan los datos.
public static void write(String[][] data) {//escribe el
mesaje un, array de dos dimensine es su parametro
PrintWriter fileOutput;
try {
fileOutput = new PrintWriter("database.db");
fileOutput.println(data.length);
for (int i = 0; i < data.length; i++) {
fileOutput.println(data[i].length);
for (int j = 0; j < data[i].length; j++) {
fileOutput.println(data[i][j]);
}
}//
fileOutput.close();
}
catch (IOException e) {
System.out.println("Error escribiendo archivo: " + e);
}
}//termina
public static String readPassword(){// lee el password
escrito
String password = null;
FileReader reader;
Scanner fileInput;
if (!(new File("passwd.key").exists())){
try {
System.out.println("No password found, creating
16
default one.");
PrintWriter pw = new PrintWriter(new
File("passwd.key"));
pw.print("admin");
pw.close();
}
catch (IOException ex) {
System.out.println("Failed to create password file:
"+ex);
}
}
try {
reader = new FileReader("passwd.key");
fileInput = new Scanner(reader);
password = fileInput.nextLine();
fileInput.close();
}
catch (FileNotFoundException e) {
}
return password;
}//Termina de leer el password
public static void writePassword(String pass){//escribe el
nuevo password
String password = pass;
FileReader reader;
Scanner fileInput;
try {
System.out.println("Writing new password.");
PrintWriter pw = new PrintWriter(new
File("passwd.key"));
pw.print(password);
pw.close();
}
catch (IOException ex) {
System.out.println("Failed to write password file:
"+ex);
}
}// termina
public static String[][] read() {//lee el documento
17
String data[][] = null;
FileReader reader;
Scanner fileInput;
try {
reader = new FileReader("database.db");
fileInput = new Scanner(reader);
int blocks = Integer.valueOf(fileInput.nextLine());
data = new String[blocks][];
for (int i = 0; i < blocks; i++) {
int lines = Integer.valueOf(fileInput.nextLine());
data[i] = new String[lines];
for (int j = 0; j < lines; j++) {
data[i][j] = fileInput.nextLine();
}
}
fileInput.close();
}
catch (IOException e) {
System.out.println("Error leyendo archivo: " + e);
}
return data;
}//termina de leer el documento
public static void parseData(String[][] data) {//separa los
dias
String day = null;
for (int i = 0; i < data.length; i++) {
if (data[i].length != 9) {
System.out.println("Wrong format!");
return;
}
System.out.println("Nombre de empleado: " +
data[i][0]);
int sum = 0;
for (int j = 1; j < 8; j++) {
if (Integer.valueOf(data[i][j]) == -1)
continue;
switch (j) {
case 1:
18
day = "Domingo";
break;
case 2:
day = "Lunes";
break;
case 3:
day = "Martes";
break;
case 4:
day = "Miercoles";
break;
case 5:
day = "Jueves";
break;
case 6:
day = "Viernes";
break;
case 7:
day = "Sabado";
break;
}
sum += Integer.valueOf(data[i][j]);
System.out.printf("%s: $%2d.n", day,
Integer.valueOf(data[i][j]));
}
System.out.printf("Su promedio de la semana fue:
%.2fn", (float)sum/5);
}
}
}//end
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
/*Autores: Cristian J. Rosario Acevedo
* Abdías Vidal Valentín
* Kevin Martínez Ramírez
* Curso: object oriented progrming
* Institucion Educativa: Universidad Interamericana de Puerto
Rico, Recinto de Aguadilla
* Propocito: Dentro de este codigo, usted podrá encontrar todo
19
lo relacionado con la aplicación para la visualización y manejo
de datos de empleados dentro de una empresa..
*/
public class DataIO {
static String data[][] = FileIO.read();
// main for test
public static void main(String[] args) {
FileIO.parseData(data);
mainVentas();
}
// main for tests
public static void mainVentas() {
String selection;
int option = 0;
do {
selection = paneInput(
"~ Menu de Ventas ~ n 1. Ver Ventas n 2. Entrada de
Ventas n n 0. Salir n",
"Ventas");
if ((selection == null) || (selection.length() == 0))
break;
try {
option = Integer.parseInt(selection);
} catch (Exception e) {
paneMsg("Numero Invalido", "Error");
}
switch (option) {
case 1: {
System.out.println("VENTAS!!!!");
viewSales();
break;
}
case 2: {
System.out.println("ENTRADA DE VENTAS!!!!");
editSales();
break;
}
case 4: {
20
JOptionPane.showMessageDialog(null,"I really wanted this in
the program but sadly, I didn't deliver", "hidden",
JOptionPane.INFORMATION_MESSAGE, new
ImageIcon(MainPassword.class.getResource("Loading.gif")));
break;
}
case 0: {
System.out.println("saliendo de ventas");
break;
}
}
} while (option != 0);
}
public static void editSales() {
int option = -1;
do {
String selection = paneInput("~ Menu de Editor ~ n Escoje
empleado a editar (1 a 10) n 0. Salir n",
"Editar datos");
if (selection == null)
break;
try {
option = Integer.parseInt(selection);
} catch (Exception e) {
paneMsg("Numero Invalido", "Error");
continue;
}
System.out.println(option);
if (option == 0)
break;
if (option > 0 && option < 11) {
editEmpleado(option);
} else {
paneMsg("Numero Invalido", "Error");
}
} while (option != 0);
System.out.println("exit");
21
FileIO.write(data);
}
public static void editEmpleado(int emp) {
int e = emp - 1;
int option = -1;
do {
String selection = paneInput("~ Menu de ventas de Empleado#"
+ emp
+ " ~ n Escoje dia a editar n 1. Domingo n 2. Lunes n
3. Martes n "
+ "4. Miercoles n 5. Jueves n 6. Viernes n 7. Sabado n
0. Salir n", "Editar datos");
if (selection == null)
break;
try {
option = Integer.parseInt(selection);
} catch (Exception e1) {
paneMsg("Numero Invalido", "Error");
continue;
}
if (option > 0 && option < 8)
editDia(e, option);
else if (option != 0)
paneMsg("Numero Invalido", "Error");
} while (option != 0);
}
public static void editDia(int e, int d) {
int emp = e + 1;
String dia = getDay(d);
int v = Integer.parseInt(data[e][d]);
do {
String edit = paneInput(
"~ Empleado#" + emp + " genero $" + v + " en ventas."
+ "n -1 denota que empleado no trabaja este dia",
"Ventas del " + dia + " por Empleado#" + emp);
if (edit == null)
return;
try {
Integer.parseInt(edit);
22
} catch (Exception e1) {
paneMsg("Numero Invalido", "Error");
continue;
}
data[e][d] = edit;
break;
} while (true);
}
public static void viewSales() {
int option;
do {
String selection = paneInput("~ Menu de Ventas ~ n 1. Ventas
por Empleado n "
+ "2. ventas por dia n 3. Ventas totales n 0. Salir
n", "Ver Ventas");
if (selection == null)
return;
try {
option = Integer.parseInt(selection);
} catch (Exception e1) {
paneMsg("Numero Invalido", "Error");
continue;
}
switch (option) {
case 0:
return;
case 1:
viewEmpleado();
continue;
case 2:
viewDia();
continue;
case 3:
viewTotal();
continue;
default:
paneMsg("Numero Invalido", "Error");
23
}
} while (true);
}
private static void viewTotal() {
// TODO Auto-generated method stub
int total = 0;
for (int empleado = 0; empleado < 10; empleado++) {
for (int dia = 1; dia < 8; dia++) {
if (Integer.parseInt(data[empleado][dia]) == -1)
continue;
total = total + Integer.parseInt(data[empleado][dia]);
}
}
paneMsg("El total de ventas es: $" + total, "Total de
Ventas");
}
private static void viewDia() {
// TODO Auto-generated method stub
int option = -1;
do {
String selection = paneInput(
"~ Menu de ventas por dia" + " ~ n Escoje dia a ver n 1.
Domingo n 2. Lunes n 3. Martes n "
+ "4. Miercoles n 5. Jueves n 6. Viernes n 7. Sabado
n 0. Salir n",
"Ver Ventas");
if (selection == null)
break;
try {
option = Integer.parseInt(selection);
} catch (Exception e1) {
paneMsg("Numero Invalido", "Error");
continue;
}
if (option > 0 && option < 8) {
int total = 0;
for (int e = 0; e < 10; e++) {
if (Integer.parseInt(data[e][option]) == -1)
24
continue;
total = total + Integer.parseInt(data[e][option]);
}
String dia = getDay(option);
paneMsg("Total generado en " + dia + " es: $" + total,
"Total dia " + dia);
} else if (option != 0)
paneMsg("Numero Invalido", "Error");
} while (option != 0);
}
private static void viewEmpleado() {
// TODO Auto-generated method stub
int option = -1;
do {
String selection = paneInput("~ Vetas por Empleado ~ n
Escoje empleado a ver (1 a 10) n 0. Salir n",
"Ver Ventas");
if (selection == null)
break;
try {
option = Integer.parseInt(selection);
} catch (Exception e) {
paneMsg("Numero Invalido", "Error");
continue;
}
System.out.println(option);
if (option == 0)
break;
if (option > 0 && option < 11) {
parseEmpleado(option);
} else {
paneMsg("Numero Invalido", "Error");
}
} while (option != 0);
}
private static void parseEmpleado(int option) {
int e = option - 1;
int sum = 0;
25
String s = "Empleado#" + option + "n";
for (int i = 1; i < 8; i++) {
String dia = getDay(i);
System.out.println(i + " raw data: " + data[e][i]);
if (Integer.parseInt(data[e][i]) == -1) {
continue;
} else {
s = s + dia + ": $" + data[e][i] + " n";
}
sum += Integer.valueOf(data[e][i]);
}
s = s + String.format("Su promedio de la semana fue: $%.2fn",
(float) sum / 5);
paneMsg(s, "Ventas por Empleado#" + (option) + "");
}
public static String paneInput(String body, String head) {
String input = (String) JOptionPane.showInputDialog(null,
body, head, JOptionPane.INFORMATION_MESSAGE,
new ImageIcon(MainPassword.class.getResource("icon32.png")),
null, null);
return input;
}
public static void paneMsg(String body, String head) {
JOptionPane.showMessageDialog(null, body, head,
JOptionPane.INFORMATION_MESSAGE,
new
ImageIcon(MainPassword.class.getResource("icon32.png")));
}
public static String getDay(int d) {
String dia = "Payday";
switch (d) {
case 1:
dia = "Domingo";
break;
case 2:
26
dia = "Lunes";
break;
case 3:
dia = "Martes";
break;
case 4:
dia = "Miercoles";
break;
case 5:
dia = "Jueves";
break;
case 6:
dia = "Viernes";
break;
case 7:
dia = "Sabado";
break;
}
return dia;
}
}
27
28
Conclusión:
Este Proyecto nos hizo realizar que programación orientada a objeto es la manera más
cansilla y eficaz de codificar.
29
Referencias
(2008). In Deitel, & 9th (Ed.), Java How to Program -early objects.
Deitel, P. (2012). Java How to Program Early Objects 9rd Edition. Massachusetts: Prentice Hall.
Horstmann, C. (2007). Big Java 3rd Edition. Wiley.
Oracle. (2015). BufferedReader. Retrieved April 8, 2015, from Java Documentation:
https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html
Oracle. (2015). BufferedWriter. Retrieved April 8, 2015, from Java Documentation:
http://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter.html
Oracle. (2015). Pausing Execution with Sleep. Retrieved April 13, 2015, from Java
Documentation: https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html

Más contenido relacionado

La actualidad más candente

Manual basico de_oracle
Manual basico de_oracleManual basico de_oracle
Manual basico de_oracleelena
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencapaulcuenca9
 
Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Paradigma Digital
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con phpFer Nando
 

La actualidad más candente (6)

Manual basico de_oracle
Manual basico de_oracleManual basico de_oracle
Manual basico de_oracle
 
Eventos-en-visual-basic-60
Eventos-en-visual-basic-60Eventos-en-visual-basic-60
Eventos-en-visual-basic-60
 
Doctrine2 sf2Vigo
Doctrine2 sf2VigoDoctrine2 sf2Vigo
Doctrine2 sf2Vigo
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011Seminario mongo db springdata 10-11-2011
Seminario mongo db springdata 10-11-2011
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 

Destacado

Export of steel pipe for the industry sector
Export of steel pipe for the industry sectorExport of steel pipe for the industry sector
Export of steel pipe for the industry sectorGleis María
 
Santiago de chile one of the cyclist friendly cities
Santiago de chile one of the cyclist friendly citiesSantiago de chile one of the cyclist friendly cities
Santiago de chile one of the cyclist friendly citiesKazunori Shibuya
 
Ravi_Deene_Resume
Ravi_Deene_ResumeRavi_Deene_Resume
Ravi_Deene_ResumeRavi Deene
 
Swarovski P34 Presentation (A)
Swarovski P34 Presentation (A)Swarovski P34 Presentation (A)
Swarovski P34 Presentation (A)EDUARDO MENDIOLA
 
SIS Best Practice_EMEA_1415_MK
SIS Best Practice_EMEA_1415_MKSIS Best Practice_EMEA_1415_MK
SIS Best Practice_EMEA_1415_MKEDUARDO MENDIOLA
 
Derivatives and it’s simple applications
Derivatives and it’s simple applicationsDerivatives and it’s simple applications
Derivatives and it’s simple applicationsRutuja Gholap
 
solucionario-braja-m-das-fundamentos-de-ingenieria-geotecnica
solucionario-braja-m-das-fundamentos-de-ingenieria-geotecnicasolucionario-braja-m-das-fundamentos-de-ingenieria-geotecnica
solucionario-braja-m-das-fundamentos-de-ingenieria-geotecnicayeison ojeda
 

Destacado (13)

Collage_Munguia
Collage_MunguiaCollage_Munguia
Collage_Munguia
 
Export of steel pipe for the industry sector
Export of steel pipe for the industry sectorExport of steel pipe for the industry sector
Export of steel pipe for the industry sector
 
Santiago de chile one of the cyclist friendly cities
Santiago de chile one of the cyclist friendly citiesSantiago de chile one of the cyclist friendly cities
Santiago de chile one of the cyclist friendly cities
 
Ravi_Deene_Resume
Ravi_Deene_ResumeRavi_Deene_Resume
Ravi_Deene_Resume
 
Swarovski P34 Presentation (A)
Swarovski P34 Presentation (A)Swarovski P34 Presentation (A)
Swarovski P34 Presentation (A)
 
SIS Best Practice_EMEA_1415_MK
SIS Best Practice_EMEA_1415_MKSIS Best Practice_EMEA_1415_MK
SIS Best Practice_EMEA_1415_MK
 
AVReport
AVReportAVReport
AVReport
 
EXP_resume
EXP_resumeEXP_resume
EXP_resume
 
LINEA DE TIEMPO DE LA MUSICA
LINEA DE TIEMPO DE LA MUSICALINEA DE TIEMPO DE LA MUSICA
LINEA DE TIEMPO DE LA MUSICA
 
Air draft system
Air draft systemAir draft system
Air draft system
 
Best Practices_MK_Q2_2014
Best Practices_MK_Q2_2014Best Practices_MK_Q2_2014
Best Practices_MK_Q2_2014
 
Derivatives and it’s simple applications
Derivatives and it’s simple applicationsDerivatives and it’s simple applications
Derivatives and it’s simple applications
 
solucionario-braja-m-das-fundamentos-de-ingenieria-geotecnica
solucionario-braja-m-das-fundamentos-de-ingenieria-geotecnicasolucionario-braja-m-das-fundamentos-de-ingenieria-geotecnica
solucionario-braja-m-das-fundamentos-de-ingenieria-geotecnica
 

Similar a Universidad Interamericana de Puerto Rico Recinto de Aguadilla Proyecto Final FreeKare

Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXIvan Luis Jimenez
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterAdolfo Sanz De Diego
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidasalenco
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyJose Juan R. Zuñiga
 
Primitive Obsession. FrontFest 2020
Primitive Obsession. FrontFest 2020Primitive Obsession. FrontFest 2020
Primitive Obsession. FrontFest 2020Aida Albarrán
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datosjubacalo
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxssuser2e6b96
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)Videoconferencias UTPL
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Axel
 
Manual compilacion de java en dos
Manual compilacion de java en dosManual compilacion de java en dos
Manual compilacion de java en dosalexisdario
 

Similar a Universidad Interamericana de Puerto Rico Recinto de Aguadilla Proyecto Final FreeKare (20)

Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEXProyecto de compiladores Sentencia While con Java CUP y JFLEX
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidas
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
 
Programas
ProgramasProgramas
Programas
 
Primitive Obsession. FrontFest 2020
Primitive Obsession. FrontFest 2020Primitive Obsession. FrontFest 2020
Primitive Obsession. FrontFest 2020
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
2 f programas
2 f programas2 f programas
2 f programas
 
2 f programas
2 f programas2 f programas
2 f programas
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2
 
Lab7-POO
Lab7-POOLab7-POO
Lab7-POO
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
Datos
DatosDatos
Datos
 
Manual compilacion de java en dos
Manual compilacion de java en dosManual compilacion de java en dos
Manual compilacion de java en dos
 

Universidad Interamericana de Puerto Rico Recinto de Aguadilla Proyecto Final FreeKare

  • 1. Universidad Interamericana de Puerto Rico Recinto de Aguadilla Departamento de Ciencias y Tecnología Proyecto Final: “FreeKare” Realizado por: Abdías Vidal Valentín, Cristian Rosario Acevedo y Kevin Martínez Ramírez Curso: COMP 2400 Sección: 36587 Fecha: 11 de mayo de 2016 Profesor Eduardo Vargas Moya
  • 2. 1 Tabla de Contenido Introducción.................................................................................................................................... 2 Diseño: ............................................................................................................................................ 3 Records:....................................................................................................................................... 3 Diagramas de Flujo: ...................................................................Error! Bookmark not defined. Menús:......................................................................................................................................... 5 Código:........................................................................................................................................ 5 Conclusión: ..................................................................................................................................... 6 Referencias.................................................................................................................................... 28
  • 3. 2 Introduccción: Dentro de este código, usted podrá encontrar todo lo relacionado con la aplicación para la visualización y manejo de datos de empleados dentro de una empresa.
  • 4. 3 Diseño: Records: Mes Abril Mayo Día 9AM - 10:20AM martes, 12 Jueves, 14 Martes, 19 Jueves 21 Martes, 26 Jueves, 29 Martes, 3 Jueves, 5 Notas Flujo grama algoritmo Comienzo de codificar Enlazar códigos applets Enlazar applet Bug run fiesta
  • 7. 6 Código: import java.applet.Applet; import java.awt.*; import java.util.concurrent.TimeUnit; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; import java.net.*; /*Autores: Cristian J. Rosario Acevedo * Abdías Vidal Valentín * Kevin Martínez Ramírez * Curso: object oriented progrming * Institucion Educativa: Universidad Interamericana de Puerto Rico, Recinto de Aguadilla * Propocito: Dentro de este codigo, usted podrá encontrar todo lo relacionado con la aplicación para la visualización y manejo de datos de empleados dentro de una empresa.. */ public class OfficialMain extends Applet{ public static void main (String args[]) { JFrame frame = new JFrame("Loading..."); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = (JPanel)frame.getContentPane(); JLabel label = new JLabel(); label.setIcon(new ImageIcon("load.gif"));// your image here
  • 9. 8 catch (Exception e) { //Excepcion } JFrame frame2 = new JFrame("FreeKare"); frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel2 = (JPanel)frame2.getContentPane(); JLabel label2 = new JLabel(); label2.setIcon(new ImageIcon("FreeKare.png"));// your image here panel2.add(label2); frame2.pack(); frame2.setVisible(true); frame2.setLocationRelativeTo(null); try { Thread.sleep(10000); frame2.dispose(); } catch (Exception e) { //Excepcion } start.main(null); } }
  • 10. 9 class start { public static void main(String[] args) {//corre el main del main MainPassword.main(null); } } class ThanksYou { public static void main (String args[]) { JFrame frame3 = new JFrame("Hasta Luego!"); frame3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel3 = (JPanel)frame3.getContentPane(); JLabel label3 = new JLabel(); label3.setIcon(new ImageIcon("GoodBye.png"));// your image here panel3.add(label3); frame3.pack(); frame3.setVisible(true); frame3.setLocationRelativeTo(null); try { Thread.sleep(5000); frame3.dispose(); } catch (Exception e) { //Excepcion } } }
  • 11. 10 import javax.swing.*; /*Autores: Cristian J. Rosario Acevedo * Abdías Vidal Valentín * Kevin Martínez Ramírez * Clase: object oriented programming * Institucion Educativa: Universidad Interamericana de Puerto Rico, recinto de Aguadilla * Propocito: Dentro de este codigo, usted podrá encontrar todo lo relacionado con la aplicación para la visualización y manejo de datos de empleados dentro de una empresa.. */ class Password { String temporary; Password() { temporary = "freekare2016"; } static String setPassword(String passwordValue) {//se crea el password JLabel jPassword = new JLabel("Ingrese la nueva contrasena"); JTextField password = new JPasswordField(); Object[] ob = { jPassword, password }; int result = JOptionPane.showConfirmDialog(null, ob, "Acceso", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, new ImageIcon(MainPassword.class.getResource("FreeKareicon.png"))); if (result == JOptionPane.OK_OPTION) { passwordValue = password.getText(); } return passwordValue;//se guarda el pass key y lo pasa a otro codigo }//termina de crear
  • 12. 11 static void lockSession() {//le have lock al y te vota del codigo JOptionPane.showMessageDialog(null, "No hay intentos disponibles. Terminando el programa en 3 segundos...", "Aviso", JOptionPane.PLAIN_MESSAGE); MainPassword.delay(3000); System.exit(0); }//termina static String getPassword(String passwordValue, String tmp) {//deja que el usario ingrese el pass word 3 veces int attempts = 3; while (!passwordValue.equalsIgnoreCase(tmp) && attempts >= 1) { JLabel jPassword = new JLabel("Ingrese su contrasena"); JTextField password = new JPasswordField(); Object[] ob = { jPassword, password }; int result = JOptionPane.showConfirmDialog(null, ob, "Acceso", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, new ImageIcon(MainPassword.class.getResource("FreeKareicon.png"))); if (result == JOptionPane.OK_OPTION) { passwordValue = password.getText(); } else return null; if (!passwordValue.equalsIgnoreCase(tmp)) { attempts--; JOptionPane.showMessageDialog(null, "Contrasena incorrecta. Usted tiene " + attempts + " intentos", "Acceso Denegado", JOptionPane.ERROR_MESSAGE); } else { attempts = 3; }
  • 13. 12 } // while ends here if (attempts == 0) { lockSession(); } return passwordValue; } }//termia import javax.swing.*; import java.awt.*; import java.util.concurrent.TimeUnit; /*Autores: Cristian J. Rosario Acevedo * Abdías Vidal Valentín * Kevin Martínez Ramírez * Clase: object oriented programming * Institucion Educativa: Universidad Interamericana de Puerto Rico, Recinto de Aguadilla * Propocito: Dentro de este codigo, usted podrá encontrar todo lo relacionado con la aplicación para la visualización y manejo de datos de empleados dentro de una empresa.. */ public class MainPassword { static void delay (int i){//delay mas manejable. try { TimeUnit.SECONDS.sleep(1); } catch (Exception e){ } } public static void main(String args[]) {//comienza main String password = " ", selection, def = FileIO.readPassword(); //System.out.println("debug password: "+def);
  • 14. 13 int option; Password key = new Password(); password = key.getPassword(password, def); boolean passed = true; while(passed){ try{ do { selection = (String) JOptionPane.showInputDialog(null, "~ Menu Principal ~ n 1. Cambiar Password n 2. Vendedores n 9. Salir n", "Hola", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("icon32.png")), null, null); if ((selection == null)){ ThanksYou.main(null); break; } option = Integer.parseInt(selection); switch (option) { case 1: {//cambia el password password = " "; password = key.getPassword(password, def); password = key.setPassword(password); def = password; FileIO.writePassword(def); break; } case 2: {//entras a venta
  • 15. 14 DataIO.mainVentas(); break; } case 3:{//entras a unsecreto JOptionPane.showMessageDialog(null,"creado por n Kevin n Abdias n Cristian n Finalizado en 5/5/16 a las 6:02", "Secreto", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("icon33.png"))); break; } case 9: {//sales ThanksYou.main(null); break; } default: { JOptionPane.showMessageDialog(null,"Solo escriba numeros no letras", "Error", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("icon32.png"))); } } delay(1000); } while (option != 9); passed = false; } catch(Exception e) { JOptionPane.showMessageDialog(null,"Solo ingrese numeros para seleccionar unas de las opciones del menu principal", "Mensaje de Error", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("icon34.png"))); } } } } //end
  • 16. 15 import java.io.*; import java.util.Scanner; /*Autores: Cristian J. Rosario Acevedo * Abdías Vidal Valentín * Kevin Martínez Ramírez * Curso: object oriented programming * Institucion Educativa: Universidad Interamericana de Puerto Rico, Recinto de Aguadilla * Propocito: Dentro de este codigo, usted podrá encontrar todo lo relacionado con la aplicación para la visualización y manejo de datos de empleados dentro de una empresa. . */ public class FileIO {//se salvan los datos. public static void write(String[][] data) {//escribe el mesaje un, array de dos dimensine es su parametro PrintWriter fileOutput; try { fileOutput = new PrintWriter("database.db"); fileOutput.println(data.length); for (int i = 0; i < data.length; i++) { fileOutput.println(data[i].length); for (int j = 0; j < data[i].length; j++) { fileOutput.println(data[i][j]); } }// fileOutput.close(); } catch (IOException e) { System.out.println("Error escribiendo archivo: " + e); } }//termina public static String readPassword(){// lee el password escrito String password = null; FileReader reader; Scanner fileInput; if (!(new File("passwd.key").exists())){ try { System.out.println("No password found, creating
  • 17. 16 default one."); PrintWriter pw = new PrintWriter(new File("passwd.key")); pw.print("admin"); pw.close(); } catch (IOException ex) { System.out.println("Failed to create password file: "+ex); } } try { reader = new FileReader("passwd.key"); fileInput = new Scanner(reader); password = fileInput.nextLine(); fileInput.close(); } catch (FileNotFoundException e) { } return password; }//Termina de leer el password public static void writePassword(String pass){//escribe el nuevo password String password = pass; FileReader reader; Scanner fileInput; try { System.out.println("Writing new password."); PrintWriter pw = new PrintWriter(new File("passwd.key")); pw.print(password); pw.close(); } catch (IOException ex) { System.out.println("Failed to write password file: "+ex); } }// termina public static String[][] read() {//lee el documento
  • 18. 17 String data[][] = null; FileReader reader; Scanner fileInput; try { reader = new FileReader("database.db"); fileInput = new Scanner(reader); int blocks = Integer.valueOf(fileInput.nextLine()); data = new String[blocks][]; for (int i = 0; i < blocks; i++) { int lines = Integer.valueOf(fileInput.nextLine()); data[i] = new String[lines]; for (int j = 0; j < lines; j++) { data[i][j] = fileInput.nextLine(); } } fileInput.close(); } catch (IOException e) { System.out.println("Error leyendo archivo: " + e); } return data; }//termina de leer el documento public static void parseData(String[][] data) {//separa los dias String day = null; for (int i = 0; i < data.length; i++) { if (data[i].length != 9) { System.out.println("Wrong format!"); return; } System.out.println("Nombre de empleado: " + data[i][0]); int sum = 0; for (int j = 1; j < 8; j++) { if (Integer.valueOf(data[i][j]) == -1) continue; switch (j) { case 1:
  • 19. 18 day = "Domingo"; break; case 2: day = "Lunes"; break; case 3: day = "Martes"; break; case 4: day = "Miercoles"; break; case 5: day = "Jueves"; break; case 6: day = "Viernes"; break; case 7: day = "Sabado"; break; } sum += Integer.valueOf(data[i][j]); System.out.printf("%s: $%2d.n", day, Integer.valueOf(data[i][j])); } System.out.printf("Su promedio de la semana fue: %.2fn", (float)sum/5); } } }//end import javax.swing.ImageIcon; import javax.swing.JOptionPane; /*Autores: Cristian J. Rosario Acevedo * Abdías Vidal Valentín * Kevin Martínez Ramírez * Curso: object oriented progrming * Institucion Educativa: Universidad Interamericana de Puerto Rico, Recinto de Aguadilla * Propocito: Dentro de este codigo, usted podrá encontrar todo
  • 20. 19 lo relacionado con la aplicación para la visualización y manejo de datos de empleados dentro de una empresa.. */ public class DataIO { static String data[][] = FileIO.read(); // main for test public static void main(String[] args) { FileIO.parseData(data); mainVentas(); } // main for tests public static void mainVentas() { String selection; int option = 0; do { selection = paneInput( "~ Menu de Ventas ~ n 1. Ver Ventas n 2. Entrada de Ventas n n 0. Salir n", "Ventas"); if ((selection == null) || (selection.length() == 0)) break; try { option = Integer.parseInt(selection); } catch (Exception e) { paneMsg("Numero Invalido", "Error"); } switch (option) { case 1: { System.out.println("VENTAS!!!!"); viewSales(); break; } case 2: { System.out.println("ENTRADA DE VENTAS!!!!"); editSales(); break; } case 4: {
  • 21. 20 JOptionPane.showMessageDialog(null,"I really wanted this in the program but sadly, I didn't deliver", "hidden", JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("Loading.gif"))); break; } case 0: { System.out.println("saliendo de ventas"); break; } } } while (option != 0); } public static void editSales() { int option = -1; do { String selection = paneInput("~ Menu de Editor ~ n Escoje empleado a editar (1 a 10) n 0. Salir n", "Editar datos"); if (selection == null) break; try { option = Integer.parseInt(selection); } catch (Exception e) { paneMsg("Numero Invalido", "Error"); continue; } System.out.println(option); if (option == 0) break; if (option > 0 && option < 11) { editEmpleado(option); } else { paneMsg("Numero Invalido", "Error"); } } while (option != 0); System.out.println("exit");
  • 22. 21 FileIO.write(data); } public static void editEmpleado(int emp) { int e = emp - 1; int option = -1; do { String selection = paneInput("~ Menu de ventas de Empleado#" + emp + " ~ n Escoje dia a editar n 1. Domingo n 2. Lunes n 3. Martes n " + "4. Miercoles n 5. Jueves n 6. Viernes n 7. Sabado n 0. Salir n", "Editar datos"); if (selection == null) break; try { option = Integer.parseInt(selection); } catch (Exception e1) { paneMsg("Numero Invalido", "Error"); continue; } if (option > 0 && option < 8) editDia(e, option); else if (option != 0) paneMsg("Numero Invalido", "Error"); } while (option != 0); } public static void editDia(int e, int d) { int emp = e + 1; String dia = getDay(d); int v = Integer.parseInt(data[e][d]); do { String edit = paneInput( "~ Empleado#" + emp + " genero $" + v + " en ventas." + "n -1 denota que empleado no trabaja este dia", "Ventas del " + dia + " por Empleado#" + emp); if (edit == null) return; try { Integer.parseInt(edit);
  • 23. 22 } catch (Exception e1) { paneMsg("Numero Invalido", "Error"); continue; } data[e][d] = edit; break; } while (true); } public static void viewSales() { int option; do { String selection = paneInput("~ Menu de Ventas ~ n 1. Ventas por Empleado n " + "2. ventas por dia n 3. Ventas totales n 0. Salir n", "Ver Ventas"); if (selection == null) return; try { option = Integer.parseInt(selection); } catch (Exception e1) { paneMsg("Numero Invalido", "Error"); continue; } switch (option) { case 0: return; case 1: viewEmpleado(); continue; case 2: viewDia(); continue; case 3: viewTotal(); continue; default: paneMsg("Numero Invalido", "Error");
  • 24. 23 } } while (true); } private static void viewTotal() { // TODO Auto-generated method stub int total = 0; for (int empleado = 0; empleado < 10; empleado++) { for (int dia = 1; dia < 8; dia++) { if (Integer.parseInt(data[empleado][dia]) == -1) continue; total = total + Integer.parseInt(data[empleado][dia]); } } paneMsg("El total de ventas es: $" + total, "Total de Ventas"); } private static void viewDia() { // TODO Auto-generated method stub int option = -1; do { String selection = paneInput( "~ Menu de ventas por dia" + " ~ n Escoje dia a ver n 1. Domingo n 2. Lunes n 3. Martes n " + "4. Miercoles n 5. Jueves n 6. Viernes n 7. Sabado n 0. Salir n", "Ver Ventas"); if (selection == null) break; try { option = Integer.parseInt(selection); } catch (Exception e1) { paneMsg("Numero Invalido", "Error"); continue; } if (option > 0 && option < 8) { int total = 0; for (int e = 0; e < 10; e++) { if (Integer.parseInt(data[e][option]) == -1)
  • 25. 24 continue; total = total + Integer.parseInt(data[e][option]); } String dia = getDay(option); paneMsg("Total generado en " + dia + " es: $" + total, "Total dia " + dia); } else if (option != 0) paneMsg("Numero Invalido", "Error"); } while (option != 0); } private static void viewEmpleado() { // TODO Auto-generated method stub int option = -1; do { String selection = paneInput("~ Vetas por Empleado ~ n Escoje empleado a ver (1 a 10) n 0. Salir n", "Ver Ventas"); if (selection == null) break; try { option = Integer.parseInt(selection); } catch (Exception e) { paneMsg("Numero Invalido", "Error"); continue; } System.out.println(option); if (option == 0) break; if (option > 0 && option < 11) { parseEmpleado(option); } else { paneMsg("Numero Invalido", "Error"); } } while (option != 0); } private static void parseEmpleado(int option) { int e = option - 1; int sum = 0;
  • 26. 25 String s = "Empleado#" + option + "n"; for (int i = 1; i < 8; i++) { String dia = getDay(i); System.out.println(i + " raw data: " + data[e][i]); if (Integer.parseInt(data[e][i]) == -1) { continue; } else { s = s + dia + ": $" + data[e][i] + " n"; } sum += Integer.valueOf(data[e][i]); } s = s + String.format("Su promedio de la semana fue: $%.2fn", (float) sum / 5); paneMsg(s, "Ventas por Empleado#" + (option) + ""); } public static String paneInput(String body, String head) { String input = (String) JOptionPane.showInputDialog(null, body, head, JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("icon32.png")), null, null); return input; } public static void paneMsg(String body, String head) { JOptionPane.showMessageDialog(null, body, head, JOptionPane.INFORMATION_MESSAGE, new ImageIcon(MainPassword.class.getResource("icon32.png"))); } public static String getDay(int d) { String dia = "Payday"; switch (d) { case 1: dia = "Domingo"; break; case 2:
  • 27. 26 dia = "Lunes"; break; case 3: dia = "Martes"; break; case 4: dia = "Miercoles"; break; case 5: dia = "Jueves"; break; case 6: dia = "Viernes"; break; case 7: dia = "Sabado"; break; } return dia; } }
  • 28. 27
  • 29. 28 Conclusión: Este Proyecto nos hizo realizar que programación orientada a objeto es la manera más cansilla y eficaz de codificar.
  • 30. 29 Referencias (2008). In Deitel, & 9th (Ed.), Java How to Program -early objects. Deitel, P. (2012). Java How to Program Early Objects 9rd Edition. Massachusetts: Prentice Hall. Horstmann, C. (2007). Big Java 3rd Edition. Wiley. Oracle. (2015). BufferedReader. Retrieved April 8, 2015, from Java Documentation: https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html Oracle. (2015). BufferedWriter. Retrieved April 8, 2015, from Java Documentation: http://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter.html Oracle. (2015). Pausing Execution with Sleep. Retrieved April 13, 2015, from Java Documentation: https://docs.oracle.com/javase/tutorial/essential/concurrency/sleep.html