Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- using namespace std;
- class Trabajador
- {
- private:
- char nombre[20], apellido[30], puesto[50];
- int codigo, indice, hora[4];
- int statusalta;
- bool permiso;
- public:
- Trabajador();
- int alta();
- void baja();
- void imprime();
- void modificar();
- void registro();
- };
- Trabajador::Trabajador()
- {
- statusalta=0;
- indice=0;
- permiso=false;
- strcpy(nombre, "Vacio");
- strcpy(apellido, "Vacio");
- strcpy(puesto, "Vacio");
- codigo=0;
- }
- int Trabajador::alta()
- {
- if(statusalta==0)
- {
- cout<<"*** Alta del Trabajador ***\n"<<endl;
- cout<<"Ingrese el Nombre: ";
- cin.ignore();
- cin.getline(nombre,20);
- cout<<endl;
- cout<<"Ingrese sus Apellidos: ";
- cin.getline(apellido,30);
- cout<<endl;
- cout<<"Ingrese su Puesto: ";
- cin.getline(puesto, 50);
- cout<<endl;
- cout<<"Ingrese un Codigo Numerico: ";
- cin>>codigo;
- cout<<endl;
- system("cls");
- cout<<"* * * Trabajador Registrado Exitosamente * * *\n"<<endl;
- cout<<"Horario de Trabajo: 15:00 - 21:00 Hrs.\n"<<endl<<endl;
- system("pause");
- statusalta=1;
- return statusalta;
- }
- else
- {
- cout<<"* * * Ya Tiene Registrado un Trabajador * * *\n"<<endl;
- system("pause");
- return statusalta;
- }
- }
- void Trabajador::baja()
- {
- if(statusalta==1)
- {
- cout<<"*** Baja del Trabajador ***\n"<<endl;
- cout<<"* * * Se ha dado de Baja al Trabajador Exitosamente * * *\n"<<endl;
- statusalta=0;
- permiso=false;
- indice=0;
- strcpy(nombre, "Vacio");
- strcpy(apellido, "Vacio");
- strcpy(puesto, "Vacio");
- codigo=0;
- system("pause");
- }
- else
- {
- cout<<"*** Baja del Trabajador ***\n"<<endl;
- cout<<"* * * Aun no se ha registrado a un Trabajador * * *\n"<<endl;
- system("pause");
- }
- }
- void Trabajador::imprime()
- {
- if(statusalta==1)
- {
- cout<<"*** Informacion del Trabajador ***\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Apellido: "<<apellido<<endl;
- cout<<"Puesto: "<<puesto<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Horario de Trabajo: 15:00 - 21:00 Hrs.\n"<<endl;
- system("pause");
- }
- else
- {
- cout<<"*** Informacion del Trabajador ***\n"<<endl;
- cout<<"* * * Aun no se ha registrado a un Trabajador * * *\n"<<endl;
- system("pause");
- }
- }
- void Trabajador::modificar()
- {
- if(permiso==false && statusalta==1)
- {
- cout<<"*** Modificacion del Trabajador ***\n"<<endl;
- cout<<"* * * Permiso Autorizado de 1 Hora * * * \n"<<endl;
- cout<<"Horario de Permiso: 17:00 - 18:00 Hrs.\n"<<endl<<endl;
- system("pause");
- permiso=true;
- }
- else if(permiso==true && statusalta==1)
- {
- cout<<"*** Modificacion del Trabajador ***\n"<<endl;
- cout<<"* * * Usted Ya Tiene un Permiso Autorizado de 1 Hora * * * \n"<<endl;
- system("pause");
- }
- else
- {
- cout<<"*** Modificacion del Trabajador ***\n"<<endl;
- cout<<"* * * Aun no se ha registrado a un Trabajador * * *\n"<<endl;
- system("pause");
- }
- }
- void Trabajador::registro()
- {
- //Hora de Entrada Normal.
- if(indice==0 && statusalta==1)
- {
- cout<<"*** Registro de LLegada ***\n"<<endl;
- cout<<"Ingrese la Hora de su Llegada - Formato(1000 hrs): ";
- cin>>hora[indice];
- if(hora[indice]>=1500 && hora[indice]<=1515)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Llegada Exitoso * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Apellido: "<<apellido<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Entrada: "<<hora[indice]<<endl;
- if(permiso==false)
- {
- cout<<"Permiso: No Autorizado"<<endl;
- indice=indice+3;
- }
- else
- {
- cout<<"Permiso: Autorizado"<<endl;
- indice++;
- }
- cout<<endl;
- system("pause");
- }
- else if(hora[indice]>1515)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Llegada Fracasado * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Entrada: "<<hora[indice]<<endl;
- cout<<"Usted llego despues del Horario, Vuelva el dia siguiente puntual.\n"<<endl;
- cout<<endl;
- indice=0;
- permiso=false;
- system("pause");
- }
- }
- //Si empleado tiene permiso - Salida.
- else if(indice==1 && statusalta==1)
- {
- cout<<"*** Registro de Salida de Permiso ***\n"<<endl;
- cout<<"Ingrese la Hora de Salida - Formato(1000 hrs): ";
- cin>>hora[indice];
- if(hora[indice]<1700)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Salida Fracasado * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Registrada: "<<hora[indice]<<endl;
- cout<<"Aun no es su Hora de Permiso Valida.\n"<<endl;
- cout<<endl;
- system("pause");
- }
- else if(hora[indice]>=1700 && hora[indice]<=1745)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Salida Exitoso * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Apellido: "<<apellido<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Salida: "<<hora[indice]<<endl;
- indice++;
- cout<<endl;
- system("pause");
- }
- else if(hora[indice]>1745)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Salida Fracasado * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Registrada: "<<hora[indice]<<endl;
- cout<<"Su Hora de Permiso ha Vencido.\n"<<endl;
- cout<<endl;
- indice=indice+2;
- system("pause");
- }
- }
- //Si empleado tiene permiso - Entrada.
- else if(indice==2 && statusalta==1)
- {
- cout<<"*** Registro de Entrada de Permiso ***\n"<<endl;
- cout<<"Ingrese la Hora de Entrada - Formato(1000 hrs): ";
- cin>>hora[indice];
- if(hora[indice]>=1800 && hora[indice]<=1815)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Entrada Exitoso * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Apellido: "<<apellido<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Entrada: "<<hora[indice]<<endl;
- indice++;
- cout<<endl;
- system("pause");
- }
- else if(hora[indice]>1845)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Entrada Fracasado * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Registrada: "<<hora[indice]<<endl;
- cout<<"Su Hora de Permiso de Entrada ha Vencido, Vuelva el dia siguiente."<<endl;
- cout<<"Se le Descontara las Horas no Trabajadas.\n"<<endl;
- cout<<endl;
- indice=0;
- permiso=false;
- system("pause");
- }
- }
- //Hora de Salida Normal.
- else if(indice==3 && statusalta==1)
- {
- cout<<"*** Registro de Salida ***\n"<<endl;
- cout<<"Ingrese la Hora de su Salida - Formato(1000 hrs): ";
- cin>>hora[indice];
- if(hora[indice]<2100)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Salida Fracasado * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Registrada: "<<hora[indice]<<endl;
- cout<<"Aun no es su Hora de Salida.\n"<<endl;
- cout<<endl;
- system("pause");
- }
- else if(hora[indice]>=2100)
- {
- cout<<endl<<endl;
- cout<<"* * * Registro de Salida Exitoso * * *\n"<<endl;
- cout<<"Nombre: "<<nombre<<endl;
- cout<<"Apellido: "<<apellido<<endl;
- cout<<"Codigo: "<<codigo<<endl;
- cout<<"Hora Salida: "<<hora[indice]<<endl;
- permiso=false;
- indice=0;
- cout<<endl;
- system("pause");
- }
- }
- }
- int Menuopciones()
- {
- int opc;
- system("cls");
- do{
- cout<<"*** Menu de Trabajor *** \n"<<endl;
- cout<<"1. Alta \n";
- cout<<"2. Baja \n";
- cout<<"3. Imprime \n";
- cout<<"4. Permiso \n";
- cout<<"5. Registros \n";
- cout<<"6. Salir \n"<<endl;
- cout<<"Ingrese la opcion: ";
- cin>>opc;
- }while(opc<1 || opc>6);
- system("cls");
- return opc;
- }
- int main()
- {
- Trabajador empleado;
- int opcion;
- do{
- opcion=Menuopciones();
- switch(opcion)
- {
- case 1: empleado.alta();
- break;
- case 2: empleado.baja();
- break;
- case 3: empleado.imprime();
- break;
- case 4: empleado.modificar();
- break;
- case 5: empleado.registro();
- break;
- }
- }while(opcion!=6);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement