94 lines
2.1 KiB
C++
94 lines
2.1 KiB
C++
//Examen Junio 2018 - FP
|
|
//Grupos C, E y G.
|
|
//Fernando Méndez Torrubiano
|
|
|
|
#include "Departamentos.h"
|
|
#include "checkML.h"
|
|
using namespace std;
|
|
|
|
int menu();
|
|
|
|
int main() {
|
|
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); //Muestra fugas de memoria.
|
|
system("chcp 1252"); //Castellano.
|
|
system("cls");
|
|
|
|
tDepartamento dpto;
|
|
tListaContratos lista;
|
|
tPrioridades prioridades;
|
|
tEmpleado empleado;
|
|
string id, nif;
|
|
int opcion, pos = -1;
|
|
|
|
|
|
if (cargarPrioridades(prioridades)) {
|
|
if (cargarContratos(lista, prioridades)) {
|
|
cout << "Identificador del departamento: ";
|
|
cin >> id;
|
|
cout << endl;
|
|
inicializar(dpto, id);
|
|
do {
|
|
opcion = menu();
|
|
switch (opcion){
|
|
case 1:
|
|
pos = seleccionarContratos(lista);
|
|
if (!insertarEmpleado(lista, dpto, pos)) {
|
|
cout << "Error al insertar el empleado." << endl;
|
|
}
|
|
break;
|
|
case 2:
|
|
cout << "NIF del emplieado: ";
|
|
cin >> nif;
|
|
cout << endl;
|
|
pos = buscarEmpleado(dpto, nif);
|
|
if (pos != -1) {
|
|
mostrarTareas(dpto.empleado[pos].puntero->lista);
|
|
}
|
|
else {
|
|
cout << "El empleado no está en el departamento." << endl;
|
|
}
|
|
cout << endl;
|
|
break;
|
|
case 3:
|
|
if (dpto.cont != 0) {
|
|
cout << endl << "Los empleados del departamento '" << dpto.id << "' son:" << endl;
|
|
mostrarDepartamentos(dpto);
|
|
}
|
|
else {
|
|
cout << "No hay empleados." << endl;
|
|
}
|
|
cout << endl;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
} while (opcion != 0);
|
|
|
|
liberar(lista);
|
|
liberar(dpto);
|
|
}
|
|
else {
|
|
cout << "Error al cargar la lista de contratos." << endl;
|
|
}
|
|
}
|
|
else {
|
|
cout << "Error al cargar las prioridades." << endl;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int menu() {
|
|
int opc = -1;
|
|
|
|
cout << "1.-Insertar empleado en nuevo dpto." << endl;
|
|
cout << "2.-Mostrar tareas de un empleado." << endl;
|
|
cout << "3.-Mostrar los empleados actuales de un dpto." << endl;
|
|
cout << "0.-SALIR." << endl;
|
|
do {
|
|
cout << "Introduzca una opc: ";
|
|
cin >> opc;
|
|
} while (opc < 0 || opc > 3);
|
|
|
|
return opc;
|
|
} |