Código:
#include <iostream> #include <string> #include <conio.h> #include <cstdlib> #include <stdio.h> #include <cstring> using namespace std; class Empresa{ public: struct Trab { int totalempl; int nempleado[100]; int cedula[100]; int Antiguedad[100]; char nombre[100][100]; char nombre2[100][100]; char nacionalidad[1][100]; double salario[100]; double TotalFinal[100]; } trabajadores; public: float Carga_Inicial (); float Depar_Opci (); float Anadir_Empl(); float Gana_Emple (); float Extr_Traba (); float Consulg_Emp(); void Consuloa_Emp(); float consul_Emp(); float Modif_Emp(); float Borr_Emp(); float Calcular_Sueldo(); }; float Empresa::Carga_Inicial() { int N; system("cls"); cout<<"Carga Inicial De Empleados"<<endl; cout<<"---------------------------"<<endl; cout<<"Ingrese la cantidad de Empleados que desea Ingresar:"<<endl; cin>>N; while((N < 2) || (N > 100)) { cout<<"Debe ingresar un numero mayor o igual a 0 y menor o igual 100"<<endl; cin>>N; } int i; for (i = 0; i < N; i++) { cout<<"Registro numero:"<<i+1<<endl; Empresa::Anadir_Empl(); }} float Empresa::Anadir_Empl(){ system("cls"); int i = trabajadores.totalempl; char V[100] = "V"; char E[100] = "E"; cout<<"Ingrese los datos del Empleado:"<<endl; cout<<"--------------------"<<endl; cout<<"Numero de Empleado: "<<i+1<<endl; cout<<"\n"<<endl; trabajadores.nempleado[i]=i+1; cout<<"Nombre:"<<endl; cin>>trabajadores.nombre[i]; cout<<"\n"<<endl; cout<<"cedula:"<<endl; cin>>trabajadores.cedula[i]; cout<<"\n"<<endl; cout<<"Antiguedad en la Empresa (Valorada en Años):"<<endl; cin>>trabajadores.Antiguedad[i]; cout<<"\n"<<endl; cout<<"Nacionalidad V o E:"<<endl; cin>>trabajadores.nacionalidad[i]; while((strcmp(trabajadores.nacionalidad[i], E) != 0) && (strcmp(trabajadores.nacionalidad[i], V) != 0)) { cout<<"Indique una opcion valida (V o E):"<<endl; cin>>trabajadores.nacionalidad[i]; } cout<<"\n"<<endl; cout<<"Salario del Empleado:"<<endl; cin>>trabajadores.salario[i]; trabajadores.totalempl++; }; float Empresa::Depar_Opci (){ system("cls"); int U; cout<<"Bienvenido a la Empresa Daniel&Christian C.A - Company - "<<endl; cout<<"------------------------------------------------------------------"<<endl; cout<<"Cantidad de Empleados registrados ("<< trabajadores.totalempl <<")"<<endl; cout<<"Elija una de las siguientes opciones:"<<endl; cout<<"1) Datos del empleado que mas gana por Semana"<<endl; cout<<"2) Total pagado a los Empleados Extranjeros"<<endl; cout<<"3) Consulta general ordenada por número de empleado"<<endl; cout<<"4) Consulta general ordenada por nombre de empleado"<<endl; cout<<"5) Consulta individual"<<endl; cout<<"6) Ingresar un Nuevo Empleado"<<endl; cout<<"7) Modificar Datos"<<endl; cout<<"8) Borrar Datos"<<endl; cout<<"9) Salir"<<endl; cout<<"OPCION: "; cin>>U; while((U < 1) || (U > 9)) { cout<<"Debe ingresar un opcion valida"<<endl; cin>>U; } switch (U) { case 1: Empresa::Gana_Emple(); Empresa::Depar_Opci(); break; case 2: Empresa::Extr_Traba(); Empresa::Depar_Opci(); break; case 3: Empresa::Consulg_Emp(); Empresa::Depar_Opci(); break; case 4: Empresa::Consuloa_Emp(); Empresa::Depar_Opci(); break; case 5: Empresa::consul_Emp(); Empresa::Depar_Opci(); break; case 6: Empresa::Anadir_Empl(); Empresa::Calcular_Sueldo(); Empresa::Depar_Opci(); break; case 7: Empresa::Modif_Emp(); Empresa::Calcular_Sueldo(); Empresa::Depar_Opci(); break; case 8: Empresa::Borr_Emp(); Empresa::Depar_Opci(); break; case 9: break; } }; float Empresa::Gana_Emple(){ int T = trabajadores.totalempl; int M = 0; int i; for (i = 1; i < T; i++) { if(trabajadores.salario[i] > trabajadores.salario[i-1]) { M = i; } } system("cls"); cout<<"El Empleado que mas gana por dia a la Semana"<<endl; cout<<"Numero: "<<trabajadores.nempleado[M]<<endl; cout<<"Nombre: "<<trabajadores.nombre[M]<<endl; cout<<"Nacionalidad: "<<trabajadores.nacionalidad[M]<<endl; cout<<"Antiguedad: "<<trabajadores.Antiguedad[M]<< " Años"<<endl; cout<<"Gana: "<<trabajadores.salario[M]<<endl; cout<<"\n"<<endl; system("pause"); } float Empresa::Extr_Traba() { char e[100] = "V"; int i; int T = trabajadores.totalempl; double Total = 0; for(i = 0; i < T; i++) { if(strcmp(trabajadores.nacionalidad[i], e) == 0) { } else { Total = Total + trabajadores.salario[i]; cout<<trabajadores.salario[i]; } } cout<<"\n"<<endl; cout<<"El monto total pagado a los Empleados Extranjeros es de: "<<Total<<endl; cout<<"\n"<<endl; system("pause"); } float Empresa::Consulg_Emp() { int cont,i; system ("cls"); cout<<" ---------------------------------------------------------------------------"<<endl; cout<<"! Consulta General Ordenada por Numero de Empleado ! "<<endl; cout<<" ---------------------------------------------------------------------------"<<endl; cout<<" ---------------------------------------------------------------------------"<<endl; for (int i=0; i<trabajadores.totalempl; i++) { cout<<"Num: "<<trabajadores.nempleado[i]<<"\t Nombre: "<<trabajadores.nombre[i]<<"\t Antiguedad: "<<trabajadores.Antiguedad[i]<<"\t Salario: "<<trabajadores.salario[i]<<"\t Salario Total "<<trabajadores.TotalFinal[i]<<endl; cout<<" --------------------------------------------------------------------------"<<endl; } system("Pause"); } void Empresa::Consuloa_Emp(){ int i,j; int h,k; char aux[100]; for (h=0;h<trabajadores.totalempl; h++) strncpy(trabajadores.nombre2[h], trabajadores.nombre[h], 100); for(i=0; i<trabajadores.totalempl-1; i++) for(j=i+1; j<trabajadores.totalempl; j++) if(strcmp(trabajadores.nombre2[i], trabajadores.nombre2[j]) > 0) { strcpy(aux, trabajadores.nombre2[i]); strcpy(trabajadores.nombre2[i], trabajadores.nombre2[j]); strcpy(trabajadores.nombre2[j], aux); } cout<<" ---------------------------------------------------------------------------"<<endl; cout<<"! Consulta General Ordenada por Nombre de Empleado ! "<<endl; cout<<" ---------------------------------------------------------------------------"<<endl; for(i=0; i<trabajadores.totalempl; i++) { cout<<"Nombres: "<< trabajadores.nombre2[i]<<"\t Antiguedad: "<<trabajadores.Antiguedad[i]<<"\t Salario: "<<trabajadores.salario[i]<<"\t Salario Total "<<trabajadores.TotalFinal[i]<<endl; } system("Pause"); } float Empresa::consul_Emp() { int n; cout<<"Ingrese el numero de empleado que desea consultar:"<<endl; cin>>n; cout<<"\n"<<endl; cout<<"Nombre: "<<trabajadores.nombre[n-1]<<endl; cout<<"Cedula: "<<trabajadores.cedula[n-1]<<endl; cout<<"Nacionalidad: "<<trabajadores.nacionalidad[n-1]<<endl; cout<<"Antiguedad: "<<trabajadores.Antiguedad[n-1]<<endl; cout<<"Salario: "<<trabajadores.salario[n-1]<<endl; system("Pause"); } float Empresa::Calcular_Sueldo(){ int i; int semana; double Totalfinal; semana=4*5; for (int i=0; i<trabajadores.totalempl; i++) { trabajadores.TotalFinal[i]=trabajadores.salario[i]*semana; } } float Empresa::Modif_Emp(){ int n; int o; cout<<"Ingrese el numero de empleado que desea Modificar:"<<endl; cin>>n; cout<<"\n"<<endl; cout<<"Nombre de empleado a Modificar: "<<trabajadores.nombre[n-1]<<endl; cout<<"Opciones para Modificar Selecione"<<endl; cout<<"1) Nombre"<<endl; cout<<"2) Cedula"<<endl; cout<<"3) Antiguedad"<<endl; cout<<"4) Nacionalidad (V o E)"<<endl; cout<<"5) Salario"<<endl; cout<<"6) No Editar"<<endl; cout<<"opc: "; cin>>o; while((o < 1) || (o > 6)) { cout<<"Debe ingresar un opcion valida"<<endl; cin>>o; } switch (o) { case 1: cout<<"Editar Nombre: "<<endl; cin>>trabajadores.nombre[n-1]; break; case 2: cout<<"Editar Cedula: "<<endl; cin>>trabajadores.cedula[n-1]; break; case 3: cout<<"Editar Antiguedad : "<<endl; cin>>trabajadores.Antiguedad[n-1]; break; case 4: cout<<"Edit Nacionalidad Ingrese (V o E): "<<endl; cin>>trabajadores.nacionalidad[n-1]; break; case 5: cout<<"Editar Salario: "<<endl; cin>>trabajadores.salario[n-1]; break; case 6: break; } } float Empresa::Borr_Emp() { int n; int o; cout<<"Ingrese el numero de empleado que desea Eliminar: "<<endl; cin>>n; cout<<" Los datos que desea Eliminar Son del empleado: "<<trabajadores.nombre[n-1]; cout<<"\n"<<endl; cout<<"SEGURO QUE QUIERE ELIMINAR LOS DATOS (Y O N)"<<endl; cin>>o; switch (o) { case 'y': break; case 'n': break; } } int main () { Empresa x; x.Carga_Inicial(); x.Calcular_Sueldo(); x.Depar_Opci(); system("pause"); }