martes, 7 de junio de 2016

Segundo parcial

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