Вы находитесь на странице: 1из 6

// Programa CALCULAR SUELDO DE VARIOS EMPLEADOS // Elaborado por: Leobardo Lpez Romn // Esta formado por cuatro clases:

Empleado12, EmpleadoPorHoras2, // EmpleadoAsalariado2 y EjecutaEmpleado12

// EjecutaEmpleado12.java

import java.io.*;// Importa las libreras que comiencen en java.io// public class EjecutaEmpleado12// Este contiene la funcin principal y hace el llamado a las otras tres clase cuando sea necesario.// { public static void main(String args[]) { // Declaraciones // Definicion de objetos para entrada de datos por el teclado// InputStreamReader entrada = new InputStreamReader(System.in); BufferedReader flujoEntrada = new BufferedReader(entrada);

// Variables String datoEntrada; String nomEmp, depto, puesto; int hrsTra, tipoEmp; float cuoHr, sdoMen; char desea; try// til cuando en el cdigo puede presentarse una situacin de error.//

do//El do while es un ciclo que se ejecuta como mnimo 1 vez, y al final se verifica si se cumple una condicin.// { //Imprime en pantalla el men de opciones.//

System.out.println("<<<

Tipos de empleado >>>");

System.out.println("<<< ------------------------- >>>"); System.out.println(" 1. Empleado por horas"); System.out.println(" 2. Empleado asalariado"); System.out.println("<<< ------------------------- >>>"); System.out.print(" Teclee tipo: ");// Pide al usuario el ingreso de datos.//

datoEntrada = flujoEntrada.readLine();//Se ingresa el dato de entrada// tipoEmp = Integer.parseInt(datoEntrada); //Convierte el dato a entero y lo relaciona a la variable tipo.//

System.out.println("------------ Lectura de datos ------------"); System.out.print("Teclee nombre: "); datoEntrada = flujoEntrada.readLine(); nomEmp = datoEntrada;

System.out.print("Teclee departamento: "); datoEntrada = flujoEntrada.readLine(); depto = datoEntrada;

System.out.print("Teclee puesto: "); datoEntrada = flujoEntrada.readLine(); puesto = datoEntrada;

if (tipoEmp == 1)// Se condiciona al programa para que se desarrolle de acuerdo a un parmetro.// { // Se declara, crea e inicia el objeto de la clase EmpleadoPorHoras2. Se hace llamado a la clase. Esta clase, al igual que EmpleadoAsalariado 2 heredan los atributos otorgados por la clase abstracta Empleado 12. Por esto, no hay necesidad de llamarla directamente en el programa principal. // EmpleadoPorHoras2 objEmpleado = new EmpleadoPorHoras2();

// Leer datos System.out.print("Teclee horas trabajadas: "); datoEntrada = flujoEntrada.readLine(); hrsTra = Integer.parseInt(datoEntrada);

System.out.print("Teclee cuota por hora: "); datoEntrada = flujoEntrada.readLine(); cuoHr = Float.parseFloat(datoEntrada);// Convierte el dato a float//

// Establecer objEmpleado.establecerNombreEmp(nomEmp); objEmpleado.establecerDeptoEmp(depto); objEmpleado.establecerPuestoEmp(puesto); objEmpleado.establecerHorasTrab(hrsTra); objEmpleado.establecerCuotaHora(cuoHr);

// Calcular

objEmpleado.calcularSueldoQna();

// Imprimir los datos obtenindolos de los atributos del objeto System.out.println("----------- Imprime resultados -----------"); System.out.println("Nombre = " + objEmpleado.obtenerNombreEmp()); System.out.println("Departamento = " + objEmpleado.obtenerDeptoEmp()); System.out.println("Puesto = " + objEmpleado.obtenerPuestoEmp()); System.out.println("Sueldo = " + objEmpleado.obtenerSueldoQna()); } else { // Se declara, crea e inicia el objeto de la clase EmpleadoAsalariado 2. Se hace el llamado a la clase. // EmpleadoAsalariado2 objEmpleado = new EmpleadoAsalariado2();

// Lee dato System.out.print("Teclee sueldo mensual: "); datoEntrada = flujoEntrada.readLine(); sdoMen = Float.parseFloat(datoEntrada);

// Establecer objEmpleado.establecerNombreEmp(nomEmp);

objEmpleado.establecerDeptoEmp(depto); objEmpleado.establecerPuestoEmp(puesto); objEmpleado.establecerSueldoMensual(sdoMen);

// Calcular objEmpleado.calcularSueldoQna();

// Imprimir los datos obteniendolos de los atributos del objeto System.out.println("----------- Imprime resultados -----------"); System.out.println("Nombre = " + objEmpleado.obtenerNombreEmp()); System.out.println("Departamento = " + objEmpleado.obtenerDeptoEmp()); System.out.println("Puesto = " + objEmpleado.obtenerPuestoEmp()); System.out.println("Sueldo = " + objEmpleado.obtenerSueldoQna());

} System.out.print("Desea procesar otro empleado(S/N)?: "); desea = (char)System.in.read(); System.in.skip(2); } while (desea == 'S' || desea == 's');// Se establece la condicin para el cumplimiento del cdigo. // } catch (IOException error)//Tipo de error que lee. //

{ System.err.println("Error " + error.getMessage());// Se imprime cuando se comete un error.// } } }

Вам также может понравиться