• Lenguaje

    Java usando Scanner

  • Descripción

    En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella. El salario se obtiene de la sig. Forma: Si el obrero trabaja 48 horas o menos se le paga al valor normal por hora; Si trabaja más de 48 horas y menos de 60 horas, se le paga el valor normal por cada una de las primeras 48 horas y las restantes se pagan con un incremento del 35% sobre el valor de la hora normal; en caso contrario se le paga el valor normal por cada una de las primeras 48 horas, las siguientes 8 horas se le pagan con un incremento del 35% sobre el valor de la hora normal y las restantes se pagan con un incremento del 45% sobre el valor de la hora normal. Adicional a esto también se le debe decir al gerente cuanto pago en la nómina total y cuantos trabajadores trabajaron más de 60 horas, cuántos trabajaron más de 48 horas y menos de 61.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.util.Scanner;

public class SalarioSemanalDeNObreros {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int i, n, trabajadores_60_o_mas, trabajadores_entre_48_y_61;
        double horas_trabajadas, nomina_total, pago_por_hora, salario_semanal;
        trabajadores_60_o_mas = 0;
        trabajadores_entre_48_y_61 = 0;
        nomina_total = 0;
        System.out.print("Ingresa el valor de n: ");
        n = in.nextInt();
        in.nextLine();
        for (i=1; i<=n; i++) {
            System.out.print("PROCESO " + i);
            System.out.print("Ingresa el valor de horas trabajadas: ");
            horas_trabajadas = in.nextDouble();
            in.nextLine();
            System.out.print("Ingresa el valor de pago por hora: ");
            pago_por_hora = in.nextDouble();
            in.nextLine();
            salario_semanal=pago_por_hora*horas_trabajadas;
            if(horas_trabajadas>48)
                salario_semanal=salario_semanal+pago_por_hora*(horas_trabajadas-48)*0.35;
            if(horas_trabajadas>=60)
                salario_semanal=salario_semanal+pago_por_hora*(horas_trabajadas-60)*0.1;
            nomina_total=nomina_total+salario_semanal;
            if(horas_trabajadas>=60)
                trabajadores_60_o_mas=trabajadores_60_o_mas+1;
            if(horas_trabajadas>48&&horas_trabajadas<61)
                trabajadores_entre_48_y_61=trabajadores_entre_48_y_61+1;
            System.out.println("Valor de salario semanal: " + salario_semanal);
            System.out.println();
        }
        System.out.println("Valor de trabajadores 60 o mas: " + trabajadores_60_o_mas);
        System.out.println("Valor de trabajadores entre 48 y 61: " + trabajadores_entre_48_y_61);
        System.out.println("Valor de nomina total: " + nomina_total);
    }

}