Practica 4
“Empleado”
Programa que pedirá ingresar a los empplados, y mediante
un menú desplegara lo siguiente: reporte de los empleados, el reporte de los
empleados según su categoría y departamento. Calculara el sueldo según la
categoría y las horas trabajadas, va a hacer una búsqueda según el ID del
empleado y calculara el promedio total de las horas trabajadas.
Código
#include <iostream>
#include <cstdlib>
#include <stdio.h>
#include <cstring>
using namespace std;
class empleado
{
private:
string
Nombre, RFC, Departamento;
int
Edad, HrsTr, Hrs_Ext, Categoria, Sueldo, Id_Empleado;
empleado
*Apuntador;
public:
empleado();
void
alta();
void
reporte();
void
reporte_cat(int Cat);
void
reporte_dep(string Dept);
void
busqueda(int ID);
void
sueldo();
float
promedio(float Total, float Promedio, int n);
};
empleado::empleado()
{
Nombre="
";
RFC="
";
Departamento="
";
Edad=0;
HrsTr=0;
Hrs_Ext=0;
Categoria=0;
Sueldo=0;
Id_Empleado=0;
}
void empleado::alta()
{
fflush(stdin);
cout<<"Ingresar
nombre: "<<endl;
getline(cin,
Nombre);
cout<<"Ingresar
la ID del empleado: "<<endl;
cin>>Id_Empleado;
cout<<"Edad:
"<<endl;
cin>>Edad;
fflush(stdin);
cout<<"RFC:
"<<endl;
getline(cin,
RFC);
cout<<"Categoria
(1, 2 o 3): "<<endl;
cin>>Categoria;
if(Categoria>3)
{
cout<<"Solo
Categoria 1, 2 o 3: ";
cin>>Categoria;
}
fflush(stdin);
cout<<"Departamento
(Ventas, Compras, MKT):
"<<endl;
getline(cin,
Departamento);
cout<<"Horas
trabajadas: "<<endl;
cin>>HrsTr;
if(HrsTr>8)
{
cout<<"Se
excede el limite de horas laborales (8hrs). Volver a ingresar horas laborales:
";
cin>>HrsTr;
}
cout<<"Horas
extras: ";
cin>>Hrs_Ext;
if(Hrs_Ext>5)
{
cout<<"Se
excede el limite de Horas extras (5hrs). Volver a ingresar horas extras:
";
cin>>Hrs_Ext;
}
}
void empleado::reporte()
{
cout<<"ID
del empleado: "<<Id_Empleado<<endl;
cout<<"Nombre:
"<<Nombre<<endl;
cout<<"Edad:
"<<Edad<<endl;
cout<<"RFC:
"<<RFC<<endl;
cout<<"Categoria:
"<<Categoria<<endl;
cout<<"Departamento:
"<<Departamento<<endl;
cout<<"Horas
de trabajo: "<<HrsTr<<endl;
cout<<"Horas
extras: "<<Hrs_Ext<<endl;
cout<<endl;
}
void empleado::reporte_cat(int Cat)
{
if
(Categoria==Cat)
{
cout<<"ID
del empleado: "<<Id_Empleado<<endl;
cout<<"Nombre:
"<<Nombre<<endl;
cout<<"Edad:
"<<Edad<<endl;
cout<<"RFC:
"<<RFC<<endl;
cout<<"Categoria:
"<<Categoria<<endl;
cout<<"Departamento:
"<<Departamento<<endl;
cout<<"Horas
de trabajo: "<<HrsTr<<endl;
cout<<"Horas
extras: "<<Hrs_Ext<<endl;
cout<<endl;
}
}
void empleado::reporte_dep(string Dept)
{
if
(Departamento==Dept)
{
cout<<"ID
del empleado: "<<Id_Empleado<<endl;
cout<<"Nombre:
"<<Nombre<<endl;
cout<<"Edad:
"<<Edad<<endl;
cout<<"RFC:
"<<RFC<<endl;
cout<<"Categoria:
"<<Categoria<<endl;
cout<<"Departamento:
"<<Departamento<<endl;
cout<<"Horas
de trabajo: "<<HrsTr<<endl;
cout<<"Horas
extras: "<<Hrs_Ext<<endl;
cout<<endl;
}
}
void empleado::busqueda(int ID)
{
if
(Id_Empleado==ID)
{
cout<<"ID
del empleado: "<<Id_Empleado<<endl;
cout<<"Nombre:
"<<Nombre<<endl;
cout<<"Edad:
"<<Edad<<endl;
cout<<"RFC:
"<<RFC<<endl;
cout<<"Categoria:
"<<Categoria<<endl;
cout<<"Departamento:
"<<Departamento<<endl;
cout<<"Horas
de trabajo: "<<HrsTr<<endl;
cout<<"Horas
extras: "<<Hrs_Ext<<endl;
cout<<endl;
}
}
void empleado::sueldo()
{
if
(Categoria==1)
{
Sueldo=(60*HrsTr)+(120*Hrs_Ext);
}
if
(Categoria==2)
{
Sueldo=(100*HrsTr)+(200*Hrs_Ext);
}
if
(Categoria==3)
{
Sueldo=(120*HrsTr)+(240*Hrs_Ext);
}
cout<<"ID
del empleado: "<<Id_Empleado<<endl;
cout<<"Nombre:
"<<Nombre<<endl;
cout<<"Edad:
"<<Edad<<endl;
cout<<"RFC:
"<<RFC<<endl;
cout<<"Categoria:
"<<Categoria<<endl;
cout<<"Departamento:
"<<Departamento<<endl;
cout<<"Horas
de trabajo: "<<HrsTr<<endl;
cout<<"Horas
extras: "<<Hrs_Ext<<endl;
cout<<"Sueldo:
"<<"$"<<Sueldo<<endl;
cout<<endl;
}
float empleado::promedio(float Total, float Promedio, int
n)
{
for
(int i=0; i<n; i++)
{
Total+=HrsTr;
}
Promedio=Total/n;
//cout<<"Promedio
de horas trabajadas: "<<Promedio<<endl;
return(Promedio);
system("pause>null");
}
void SWITCH()
{
cout<<"ELIJA
ALGUNA OPCION DEL MENU"<<endl;
cout<<" MENU
"<<endl;
cout<<"1.Reporte
de empleados."<<endl;
cout<<"2.Reporte
de empleados segun categoria."<<endl;
cout<<"3.Reporte
de empleados segun departamento."<<endl;
cout<<"4.Calcular
el sueldo segun categoria y horas trabajadas."<<endl;
cout<<"5.Hacer
busqueda de empleados segun ID."<<endl;
cout<<"6.Calcular
promedio total de horas trabajadas."<<endl;
cout<<"7.Salir.
"<<endl;
}
void MENU ()
{
int
opciones, n, Cat, ID;
float
Total, Promedio;
string
Dept;
cout<<"Numero
de empleados: "<<endl;
cin>>n;
empleado
*Apuntador=new empleado[n];
cout<<"Ingrese
los datos de los empleados: "<<endl;
for(int
i=0;i<n;i++)
{
cout<<" EMPLEADO "<<i+1<<":
"<<endl;
Apuntador[i].alta();
}
system
("PAUSE>null");
system
("cls");
while
(1)
{
SWITCH();
cout<<"Ingresar
una opcion: "<<endl;
cin>>opciones;
switch
(opciones)
{
case
1:
cout<<" Reporte de empleados: "<<endl;
for
(int i=0;i<n;i++)
{
cout<<"Empleado
"<<i+1<<":"<<endl;
Apuntador[i].reporte();
}
system
("PAUSE>null");
system
("cls");
break;
case
2:
cout<<"Reporte
por categoria: "<<endl;
cout<<"Ingrese
la categoria que desea:
"<<endl;
cin>>Cat;
cout<<"Categoria
"<<Cat<<":"<<endl;
for
(int i=0;i<n;i++)
{
Apuntador[i].reporte_cat(Cat);
}
system
("PAUSE>null");
system
("cls");
break;
case
3:
cout<<"Reporte por departamento: "<<endl;
cout<<"Ingresar
el departamento deseado:
"<<endl;
fflush(stdin);
getline(cin,
Dept);
cout<<endl<<"Departamento:
"<<Dept<<":"<<endl;
for
(int i=0;i<n;i++)
{
Apuntador[i].reporte_dep(Dept);
}
system
("PAUSE");
system
("cls");
break;
case
4:
cout<<"Sueldos:
"<<endl;
for
(int i=0;i<n;i++)
{
Apuntador[i].sueldo();
}
system
("PAUSE");
system
("cls");
break;
case
5:
cout<<"Busqueda
de empleado por ID: "<<endl;
cout<<"Ingrese
la ID del empleado"<<endl;
fflush(stdin);
cin>>ID;
for
(int i=0;i<n;i++)
{
Apuntador[i].busqueda(ID);
}
system
("PAUSE");
system
("cls");
case
6:
cout<<"Promedio
de horas trabajadas: "<<endl;
// for(int i=0;i<n;i++)
//{
//Total+=Apuntador->HrsTr;
cout<<Apuntador->promedio(Total,
Promedio, n);
system("pause>null");
break;
case
7:
cout<<"Terminando"<<endl;
exit(1);
system
("PAUSE");
system
("cls");
break;
default:
cout<<"Lo ingresado no corresponde a alguna
opcion"<<endl;
system
("PAUSE");
system
("cls");
break;
}
}
}
int main()
{
MENU();
system
("PAUSE");
return
0;
}
No hay comentarios:
Publicar un comentario