Está en la página 1de 5

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

CENTRO REGIONAL DE CHIRIQUÍ


FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES

CARRERA:
Licenciatura en Ingeniería de Sistemas y Computación

Proyecto No. 2
Parcial No.2 – Pago a
Empleados

ASIGNATURA:
Herramientas de Programación Aplicada II

DOCENTE:
Eduardo Beitia G.

Estudiante:
Christopher Serrano - 4-819-117

Grupo: 2IL121

I SEMESTRE 2022

Fecha: 3/6/2022
Clase clsProyectoNo2
package pktProyectoNo2;
import java.io.IOException;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.BufferedReader;
import java.io.InputStreamReader;

import pktCaracteristicaNumeros.clsCaracteristicaNumeros;

public class clsProyectoNo2


{
public static void main(String[] args) throws IOException
{
double bonificacionesTotal=0, salariosTotalesTotal=0,
salariosRealesTotal=0;
JTextArea salidaTextoFinal = new JTextArea();
for(int numEjecucion=1; numEjecucion<=50; numEjecucion++)
{
clsCaracteristicaNumeros objComuncacionClaseProyectoNo1 = new
clsCaracteristicaNumeros();

//variables y pedir datos

String nombre;
int diaNacimiento=0, mesNacimiento=0;
double horasTrabajadas, condicion=0, pagoPorHora, salarioNormal,
bonificacion=0, salarioTotal, salarioReal;
JTextArea salidaTexto = new JTextArea();

nombre = JOptionPane.showInputDialog("Por favor, ingrese su


nombre.");
horasTrabajadas =
Double.parseDouble(JOptionPane.showInputDialog("Por favor, ingrese sus horas
trabajadas: "));
pagoPorHora = Double.parseDouble(JOptionPane.showInputDialog("Por
favor, su pago por hora: "));

while (condicion == 0)
{
diaNacimiento =
Integer.parseInt(JOptionPane.showInputDialog("Por favor, ingrese su dia de
nacimiento."));
mesNacimiento =
Integer.parseInt(JOptionPane.showInputDialog("Por favor, ingrese su mes de
naciemiento."));

if (diaNacimiento > 31 || mesNacimiento > 12)


JOptionPane.showMessageDialog(null, "El día o mes
ingresado es invalido, por favor ingrese los valores denuevo.");
else
condicion = 1;
}

salidaTexto.append("Nombre: "+nombre+"\n\n");

//calculos y bonificaciones

salarioNormal = horasTrabajadas*pagoPorHora;

//nacer en diciembre
if (mesNacimiento ==12)
{
bonificacion = bonificacion + 50;
salidaTexto.append("Bonificación por nacer en el mes de
Diciembre: SI \n");
}
else
salidaTexto.append("Bonificación por nacer en el mes de
Diciembre: NO \n");

//sumatoria corresponde a num perfecto

int auxiliarDigitos = diaNacimiento;


int sumatoriaDigitosDiaNacimiento=0;
while (auxiliarDigitos>0)
{
sumatoriaDigitosDiaNacimiento += auxiliarDigitos %10;
auxiliarDigitos = auxiliarDigitos/10;
}
String
verificarPerfectoRespuesta=pktCaracteristicaNumeros.clsCaracteristicaNumeros.calc_pe
rfecto (sumatoriaDigitosDiaNacimiento);
if (verificarPerfectoRespuesta.equals("El numero
"+sumatoriaDigitosDiaNacimiento+" SI es un numero perfecto."))
{
bonificacion = bonificacion + 50;
salidaTexto.append("Bonificación Sumatoria Numero
Perfecto: SI\n");
}
else
salidaTexto.append("Bonificación Sumatoria Numero
Perfecto: NO\n");

//mes de nacimiento corresponde a num primo

String verificarPrimoRespuesta;
verificarPrimoRespuesta =
pktCaracteristicaNumeros.clsCaracteristicaNumeros.calc_primo(mesNacimiento);
if (verificarPrimoRespuesta.equals("El numero "+mesNacimiento+"
SI es un numero primo."))
{
bonificacion = bonificacion + 30;
salidaTexto.append("Bonificación Mes Numero Primo: SI\n");
}
else
salidaTexto.append("Bonificación Mes Numero Primo: NO\n");

// si num random 1 y num random 2 son amigos

double numRandom1 = Math.floor(Math.random()*(8500-251)+250);


double numRandom2 = Math.floor(Math.random()*(8500-251)+250);

//double numRandom1= 220; //prueba con valores fijos en vez de


aleatorios amigos
//double numRandom2= 284; //prueba con valores fijos en vez de
aleatorios amigos

//double numRandom1= 371; //prueba con valores fijos en vez de


aleatorios armstrong
//double numRandom2= 3000; //prueba con valores fijos en vez de
aleatorios armstrong

String verificarAmigosRespuesta;
verificarAmigosRespuesta =
pktCaracteristicaNumeros.clsCaracteristicaNumeros.calc_amigos((int)numRandom1,
(int)numRandom2);
if (verificarAmigosRespuesta.equals("Los numeros "+
(int)numRandom1+" y "+(int)numRandom2+ " son numeros amigos"))
{
bonificacion = bonificacion + 100;
salidaTexto.append("Bonificación Numeros Aleatorios
Amigos: SI\n");
}
else
salidaTexto.append("Bonificación Numeros Aleatorios
Amigos: NO\n");

//si alguno o ambos de los numeros random son armstrong

boolean respuestaArmstrong1 =
pktCaracteristicaNumeros.clsCaracteristicaNumeros.calc_armstrong((int)numRandom1);
boolean respuestaArmstrong2 =
pktCaracteristicaNumeros.clsCaracteristicaNumeros.calc_armstrong((int)numRandom2);

if (respuestaArmstrong1 == true || respuestaArmstrong2 == true)


{
bonificacion = bonificacion + 150;
salidaTexto.append("Bonificación Cualquiera Numero
Aleatorio Armstrong: SI\n");
}
else
salidaTexto.append("Bonificación Cualquiera Numero
Aleatorio Armstrong: NO\n");

//calculo del salario total y real e impresiones finales

salidaTexto.append("\n");
salidaTexto.append("Salario Normal: "+salarioNormal+"\n");
salidaTexto.append("Bonificaciones: "+bonificacion+"\n");
salarioTotal = salarioNormal + bonificacion;
salidaTexto.append("Salario Total: "+salarioTotal+"\n");

long salarioTotalInvertido =
pktCaracteristicaNumeros.clsCaracteristicaNumeros.calc_invertir((long)salarioTotal);
if(salarioTotalInvertido>salarioTotal)
{
salarioReal = salarioTotalInvertido;
}
else
{
salarioReal = salarioTotal;
}

salidaTexto.append("Salario Real: "+salarioReal+"\n");


JOptionPane.showMessageDialog(null, salidaTexto, "Empleado
No."+numEjecucion, JOptionPane.INFORMATION_MESSAGE);

bonificacionesTotal=bonificacionesTotal+bonificacion;
salariosTotalesTotal=salariosTotalesTotal+salarioTotal;
salariosRealesTotal=salariosRealesTotal+salarioReal;

int confirmacionEjecucion = JOptionPane.showOptionDialog(null,


"¿Quiere seguir ejecutando el programa?",
"CONFIRMACIÓN",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
new Object[] {"SI",
"NO"},
null);
if(confirmacionEjecucion == 1)
numEjecucion = 60;
}
salidaTextoFinal.append("Bonificaciones: "+bonificacionesTotal+"\n");
salidaTextoFinal.append("Salario Total: "+salariosTotalesTotal+"\n");
salidaTextoFinal.append("Salario Real: "+salariosRealesTotal+"\n");
JOptionPane.showMessageDialog(null, salidaTextoFinal, "TOTALES",
JOptionPane.INFORMATION_MESSAGE);
}
}

También podría gustarte