Elaborar un programa que determine la nómina de dos categorías de trabajadores
Publicado por Alexis (1 intervención) el 09/03/2020 23:48:06
Buenas tardes gente, soy nuevo en cuestión a lenguaje C++, actualmente lo estoy cursando en la escuela. Tengo un ejercicio que elaborar, solo que tengo unos errores y la verdad no entiendo en que me equivoque. Según yo, mi error esta a la hora de calcular los sueldos netos de cada trabajador y en el sueldo del trabajador en la categoría B (lo remarque en la ultima imagen).
Si no es mucha molestia, ¿alguien me podría asesorar? Por favor, ya le avance al código pero por más que le intento no puedo solucionarlo, incluso ya vi varios vídeos.
El ejercicio consiste en: Elaborar un programa que determine la nómina de dos categorías de trabajadores (A y B): N trabajadores de categoría A: que se les descuenta 5% de su sueldo si ganan entre 0 y 150 pesos. Se les descuenta 7% si ganan más de 150 pero menos de 300, y 9% si ganan más de 300 pero menos de 450. Los datos son horas trabajadas, sueldo por hora y nombre de cada trabajador. De M trabajadores de categoría B: que se les descuenta 7% de su sueldo si ganan entre 0 y 250 pesos. Se les descuenta 10% si ganan más de 250 pero menos de 500, y 9% si ganan más de 500 pero menos de 650. Los datos son horas trabajadas, sueldo por hora y número de trabajador.
Adjunto imágenes y el código.
Si no es mucha molestia, ¿alguien me podría asesorar? Por favor, ya le avance al código pero por más que le intento no puedo solucionarlo, incluso ya vi varios vídeos.
El ejercicio consiste en: Elaborar un programa que determine la nómina de dos categorías de trabajadores (A y B): N trabajadores de categoría A: que se les descuenta 5% de su sueldo si ganan entre 0 y 150 pesos. Se les descuenta 7% si ganan más de 150 pero menos de 300, y 9% si ganan más de 300 pero menos de 450. Los datos son horas trabajadas, sueldo por hora y nombre de cada trabajador. De M trabajadores de categoría B: que se les descuenta 7% de su sueldo si ganan entre 0 y 250 pesos. Se les descuenta 10% si ganan más de 250 pero menos de 500, y 9% si ganan más de 500 pero menos de 650. Los datos son horas trabajadas, sueldo por hora y número de trabajador.
Adjunto imágenes y el código.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main(){
int totalT = 0;
printf("Ingrese el total de trabajadores Categoria A: ");
scanf("%d", &totalT);
int i = 0;
//int n = 0;
float tem = 0;
float sueldoTA[totalT];
float horasTA[totalT];
float sueTpH[totalT];
float sueldoNT = 0.0;
float sueldoBT = 0.0;
float horasTTA = 0.0;
float sumaDes = 0.0;
for (i = 0; i <= totalT-1; i++)
{
do
{
printf("Ingrese el sueldo por hora del tranbajador %d :", i+1);
scanf("%f", &sueldoTA[i]);
printf("Ingrese las horas del tranbajador %d :", i+1);
scanf("%f", &horasTA[i]);
} while (sueldoTA[i] <= 0 || horasTA[i] < 0);
sueldoBT += sueldoTA[i];
horasTTA += horasTA[i];
if (sueldoTA[i] <= 150.0)
{
tem = (sueldoTA[i] * 5.0 )/ 100.0;
sueldoTA[i] = (sueldoTA[i] - tem);
}else if (sueldoTA[i] > 150.0 && sueldoTA[i] < 300)
{
tem = (sueldoTA[i] * 7.0) / 100.0;
sueldoTA[i] = (sueldoTA[i] - tem);
}else
{
tem = (sueldoTA[i] - 9.0) / 100;
sueldoTA[i] = (sueldoTA[i] - tem);
}
sumaDes += tem;
sueTpH[i] = sueldoTA[i] * horasTA[i];
printf("Sueldo neto de trabajador trabajador es de: %2.2f \n", sueTpH[i]);
}
for (size_t n = 0; n < totalT-1; n++)
{
sueldoNT += sueTpH[n];
}
printf("\nTotal Sueldos Base categoria A: %2.2f\n", sueldoBT);
printf("Total horas trabajadas categoria A: %2.2f\n", horasTTA);
printf("Sueldos de descuento categoria A : %2.2f\n", sumaDes);
printf("Total de sueldos netos categoria A: %2.2f\n\n", sueldoNT);
int totalB = 0;
printf("Ingrese el total de trabajadores Categoria B: ");
scanf("%d", &totalB);
int j = 0;
float sueldoTB[totalB];
float horasTB[totalB];
float sTpH[totalB];
sueldoNT = 0;
sueldoNT = 0.0;
sueldoBT = 0.0;
horasTTA = 0.0;
sumaDes = 0.0;
for (j = 0; j <= totalB-1; j++)
{
do
{
printf("Ingrese el sueldo por hora del tranbajador %d :", j+1);
scanf("%f", &sueldoTB[j]);
printf("Ingrese las horas del tranbajador %d :", j+1);
scanf("%f", &horasTB[j]);
} while (sueldoTB <= 0 || horasTB < 0);
sueldoBT += sueldoTB[j];
horasTTA += horasTB[j];
if (sueldoTB[j] <= 250.0)
{
tem = (sueldoTB[j] - 7.0) / 100.0;
sueldoTB[j] = (sueldoTB[i] - tem);
}else if (sueldoTB[j] > 250.0 && sueldoTB[j] < 500)
{
tem = (sueldoTB[j] * 10.0) / 100;
sueldoTB[j] = (sueldoTB[j] - tem);
}else
{
tem = (sueldoTB[j] * 9.0) / 100;
sueldoTB[j] = (sueldoTB[j] - tem);
}
sumaDes += tem;
sTpH[j] = sueldoTB[j] * horasTB[j];
printf("Sueldo del trabajador %d, por las horas trabajadas es de: %f \n", i, sTpH[j]);
}
for (size_t n = 0; n < totalB-1; n++)
{
sueldoNT += sTpH[n];
}
printf("\nTotal Sueldos Base categoria B: %2.2f\n", sueldoBT);
printf("Total horas trabajadas categoria B: %2.2f\n", horasTTA);
printf("Sueldos de descuento categoria B : %2.2f\n", sumaDes);
printf("Total de sueldos netos categoria B: %2.2f\n", sueldoNT);
return 0;
}
Valora esta pregunta
0