Dev - C++ - no sabe la cantidad de empleados que se cargarán

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 3 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

no sabe la cantidad de empleados que se cargarán

Publicado por Ayrton (1 intervención) el 18/03/2020 16:28:11
Hola chicos, estoy con un ejercicio y tenga una tremenda laguna que no me deja acordarme de como hacerlo con funciones básicas.
El enunciado es el siguiente:
Necesito hacer un programa de una empresa, la cual no sabe la cantidad de empleados que se cargarán, debe contener un menú y ademas un calculo complicado para sacar el sueldo.
<<Lo que no me sale es el tema de vectores>> el programa me muestra solamente a uno de los empleados, si me ayudan muchas gracias. Les adjunto el programa.

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
130
131
132
133
134
135
136
137
138
#include<iostream>
#include<conio.h>
#include<stdlib.h>
#include<ostream>
using namespace std;
   int i=0;
   int s=0;
   int opc;
  float sueldo_neto;
   float sueldo_bruto;
   float anos;
   float sueldo_basico;
   float horas,ant;
   struct datosempresa{
  				float  Sueldo;
  				int Ant;
  				int Datos;
  				int Horas;
  				string Nombre;
  				string Categoria,A,B;
				};
				datosempresa empresa;
int main(){
 
	cout<<"1 = Cargar datos";
	cout<<endl;
	cout<< "2 = Mostrar toda la informacion de los empleados con categoria A";
	cout<<endl;
	cout<< "3 = Mostrar el promedio de los suledos con categoria B";
	cout<<endl;
	cout<< "4 = Mostrar todos los datos de los empleados cuya antiguedad es menor a 10 anos";
	cout<<endl;
	cout<< "5 = Salir";
	cout<<endl;
	getch();
	cin>> opc;
	cout<<endl;
	while (opc!=5) {
		switch (opc)  {
			case 1:
				s=s+1;
				cout<< "Ingrese los datos";
				cout<<endl;
				cout<< "Ingrese el Nombre:";
				cout<<endl;
				cin>> empresa.Nombre;
				cout<< "Horas trabajadas:";
				cout<<endl;
				cin>> empresa.Horas;
				cout<<endl;
				cout<< "antiguedad:";
				cout<<endl;
				cin>> empresa.Ant;
				cout<<endl;
				if (empresa.Ant >10){
                    empresa.Datos = empresa.Ant;
				}
				cout<< "Categoria:";
				cout<<endl;
				cin>> empresa.Categoria;
				cout<<endl;
				if (empresa.Categoria=="a"){
                    cout<< "Guardando en Categoria A";
				}
				else{
                    cout<< "Guardando en Categoria B";
				}
 
					sueldo_basico=sueldo_basico+(empresa.Horas*150);
					cout<<sueldo_basico;
					cout<<endl;
					anos= anos+ant*(sueldo_basico*(5/100));
					cout<<ant;
					cout<<endl;
					sueldo_bruto= sueldo_basico+anos;
					cout<<sueldo_bruto;
					cout<<endl;
					sueldo_neto=sueldo_bruto -(sueldo_bruto*(11/100));
					sueldo_neto= sueldo_neto+empresa.Sueldo;
					cout<<sueldo_neto;
				cout<<endl;
				break;
			case 2:
				for (int i=0; i<s;s++){
                cout<<endl;
					if (empresa.Categoria =="a") {
                        cout<<"Nombre: "<<empresa.Nombre<<endl;
                cout<< empresa.Horas<<" Horas:"<<endl;
                cout<<"Antiguedad: "<<empresa.Ant<<endl;
                getch();
					}
				}
				break;
 
			case 3:
				cout<< "El promedio de los Sueldos de los empleados con Categoria B es: ";
				cout<<endl;
				cout<< empresa.Sueldo;
				break;
			case 4:
				cout<< "Empleados cuya antiguedad es superior a los 10 anos";
				if (empresa.Ant <10) {
					cout<<endl;
					cout<< empresa.Datos ;
					cout<<endl;
					cout<< empresa.Nombre ;
					cout<<endl;
					cout<< empresa.Horas ;
					cout<<endl;
					cout<< empresa.Ant ;
					cout<<endl;
					cout<< empresa.Categoria ;
					cout<<endl;
				}
				break;
        default:;
        }
    getch();
    system("cls");
			cout<<endl;
		cout<< "1 = Cargar datos";
		cout<<endl;
		cout<< "2 = Mostrar toda la informacion de los empleados con categoria A";
		cout<<endl;
		cout<< "3 = Mostrar el promedio de los suledos con categoria B";
		cout<<endl;
		cout<< "4 = Mostrar todos los datos de los empleados cuya antiguedad es menor a 10 anos";
		cout<<endl;
		cout<< "5 = Salir";
		cout<<endl;
		getch();
		cin>> opc;
	}
 
 
		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
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

no sabe la cantidad de empleados que se cargarán

Publicado por Alfil (1444 intervenciones) el 18/03/2020 19:57:53
Debes utilizar la biblioteca

1
#include <vector>

Defines una variable de la siguiente forma

1
vector<datosempresa> v;

Una vez tienes los datos de un empleado en la empresa, haces lo siguiente:

1
v.push_back(empresa);

Para recorrer el contenedor de empleados e imprimir resultados:

1
2
3
4
5
6
for (size_t i = 0; i < v.size(); i++)
{
	cout << v[i].nombre;
	....
 
}
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