Dev - C++ - Maximos y minimos en C ayuda!!

 
Vista:
sin imagen de perfil

Maximos y minimos en C ayuda!!

Publicado por Polar (2 intervenciones) el 03/08/2022 00:45:12
Como puedo obtener el maximo y minimo en este caso que son 4 categorias?, se como hacerlo en una, pero en 4 no me devuelve los valores que quiero.

Cualquier opinion para mejorar mi codigo y/o optimizarlo es bien recibida, gracias!

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
#include <stdio.h>
#include <stdlib.h>
 
 
// Una empresa conoce sueldo, nombre y categoria de sus empleados, son 4 categorias y la cantidad de
//empleados es variable N.
 
/*
Averiguar:
A. CANTIDAD DE EMPLEADOS POR CATEGORIA
B. CANTIDAD DE EMPLEADOS QUE COBRAN MAS DE $2000
C. CANTIDAD DE EMPLEADOS DE LA CATEGORIA 1 CON SUELDO MAYOR A $1000
D. SUELDO MAXIMO Y A QUE EMPLEADO PERTENECE
E. SUELDO MINIMO Y A QUE EMPLEADO PERTENECE
G. PORCENTUAL EN CANTIDAD DE EMPLEADOS DE CADA CATEGORIA SORE EL TOTAL DE LA EMPRESA
*/
 
 
int main(){
int categoria, empleados, sueldo;
int cCat1=0,cCat2=0,cCat3=0,cCat4=0,sdoMD=0,sdoC1=0,cont=1;
int max1=0,max2=0,max3=0,max4=0;
int min1=0,min2=0,min3=0,min4=0;
int contA=1,contB=1,contC=1;
 
printf("\nIngrese el numero de legajo del empleado: \n");
scanf("%d",&empleados);
 
 
while(empleados!=0){
 
    printf("\nIngrese la categoria del empleado (1 - 4): \n");
    scanf("%d",&categoria);
 
    while (categoria!=1&&categoria!=2&&categoria!=3&&categoria!=4)
    {
        if(categoria!=1&&categoria!=2&&categoria!=3&&categoria!=4){
            printf("\nIngreso una categoria incorrecta, reingresela porfavor: \n");
            scanf("%d",&categoria);
        }
    }
 
    printf("\nIngrese el sueldo del empleado:\n");
    scanf("%d",&sueldo);
 
    if(categoria==1){
        cCat1++;
    }
    else{
        if(categoria==2){
            cCat2++;
        }
        else{
            if (categoria==3)
            {
                cCat3++;
            }
            else{
                if (categoria==4)
                {
                    cCat4++;
                }
 
            }
 
        }
    }
 
 
    if(sueldo>2000){
        sdoMD++;
    }
    if(categoria==1&&sueldo>1000){
        sdoC1++;
    }
 
 
    if(cont==1&&categoria==1){
    	max1=sueldo;
    	min1=sueldo;
    }
 
    else{
    	if(sueldo>max1){
    		max1=sueldo;
    	}
    	if(sueldo<min1){
    		min1=sueldo;
    	}
}
 
 
 
	cont++;
 
    printf("\nSi desea continuar ingresando, ingrese numero de legajo, en caso de no querer ingresar, ingrese 0\n");
    scanf("%d",&empleados);
 
}
 
    printf("El total de empleados en la categoria 1 es de %d, en la categoria 2 %d, en la categoria 3 %d y en la categoria 4 %d",cCat1,cCat2,cCat3,cCat4);
 
    printf("\nLa cantidad de empleados con un sueldo superior a los $2000 es de: %d\n",sdoMD);
 
    printf("\nLa cantidad de empleados con un sueldo mayor a 1000 y pertenecientes a la categoria 1 es de: %d \n",sdoC1);
 
    printf("El sueldo maximo de la categoria 1 es de: %d\n",max1);
 
    printf("El sueldo minimo de la c1 es de %d|n",min1);
 
 
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Maximos y minimos en C ayuda!!

Publicado por dario (718 intervenciones) el 03/08/2022 02:56:57
Hola, te han enseñado estructuras o arrays, seria bueno hacerlo con eso.
Salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Maximos y minimos en C ayuda!!

Publicado por dario (718 intervenciones) el 03/08/2022 06:23:41
Hola, aca tienes una idea de como hacerlo con estructuras.
Salu2.

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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
struct Empresa {
    float sueldo;
    char nombre[15];
    int categoria;
};
 
int main()
{
    int j,i=0;
    char op=' ';
    char nombre[15];
    float sueldo;
    int categoria;
    struct Empresa emp[100];
 
    do {
        printf("Nombre del empleado: ");
        scanf("%s",nombre);
        printf("Sueldo del empleado: ");
        scanf("%f",&sueldo);
        printf("Categoria (1-4): ");
        scanf("%d",&categoria); getchar();
 
        //copia las variables a sus respectivos campos
        emp[i].sueldo = sueldo;
        strcpy(emp[i].nombre,nombre);
        emp[i].categoria = categoria;
        i++;
 
        printf("Desea agregar otro empleado [s/n]: ");
        scanf("%c",&op);
 
    } while (op != 'n');
 
    //empleados por categoria
    int uno=0,dos=0,tres=0,cuatro=0;
    for (j=0; j<i; j++) {
        switch (emp[j].categoria) {
            case 1:
                uno++;
            break;
            case 2:
                dos++;
            break;
            case 3:
                tres++;
            break;
            case 4:
                cuatro++;
            break;
        }
    }
    printf("Emplados categoria 1: %d\n",uno);
    printf("Emplados categoria 2: %d\n",dos);
    printf("Emplados categoria 3: %d\n",tres);
    printf("Emplados categoria 4: %d\n",cuatro);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Maximos y minimos en C ayuda!!

Publicado por Polar (2 intervenciones) el 05/08/2022 17:53:16
Me fue de mucha ayuda!!, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar