Cpp/Exámenes Resueltos (Segundo Semestre)/Junio2018CEG/Departamentos.cpp

52 lines
1.4 KiB
C++
Raw Normal View History

2019-06-20 13:06:16 +02:00
#include "Departamentos.h"
using namespace std;
void inicializar(tDepartamento& departamento, std::string& id) {
departamento.cont = 0;
departamento.id = id;
departamento.empleado = new tEmpleado[MAX_EMPLEADOS];
}
int buscarEmpleado(tDepartamento& departamento, std::string& nif) {
int pos = departamento.cont - 1;
bool encontrado = false;
while (!encontrado && pos >= 0) {
if (departamento.empleado[pos].puntero->nif == nif) {
encontrado = true;
}
else {
pos--;
}
}
return pos;
}
bool insertarEmpleado(tListaContratos& contratos, tDepartamento& departamento, int& pos) {
bool insertado = false;
int i = buscarEmpleado(departamento, contratos.contrato[pos]->nif);
if (i == -1) {
departamento.empleado[departamento.cont].puntero = contratos.contrato[pos];
departamento.cont++;
departamento.empleado->numero = departamento.cont;
insertado = true;
}
return insertado;
}
void mostrarEmpleado(tEmpleado& empleado, int& i) {
cout << right << setw(3) << i+1 << ".-" << setw(25) << empleado.puntero->nombre << setw(10) << "num.: " << empleado.numero << endl;
}
void mostrarDepartamentos(tDepartamento& departamento) {
for (int i = 0; i < departamento.cont; i++){
mostrarEmpleado(departamento.empleado[i], i);
}
}
void liberar(tDepartamento& departamento) {
delete[] departamento.empleado;
}