Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.42 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3.  
  4. using namespace std;
  5.  
  6. class Trabajador
  7. {
  8.  private:
  9.  char nombre[20], apellido[30], puesto[50];
  10.  int codigo, indice, hora[4];
  11.  int statusalta;
  12.  bool permiso;
  13.  public:
  14.  Trabajador();
  15.  int alta();
  16.  void baja();
  17.  void imprime();
  18.  void modificar();
  19.  void registro();
  20. };
  21.  
  22. Trabajador::Trabajador()
  23. {
  24.      statusalta=0;
  25.      indice=0;
  26.      permiso=false;
  27.      strcpy(nombre, "Vacio");
  28.      strcpy(apellido, "Vacio");
  29.      strcpy(puesto, "Vacio");
  30.      codigo=0;
  31. }
  32.  
  33.  
  34. int Trabajador::alta()
  35. {
  36.     if(statusalta==0)
  37.     {
  38.      cout<<"*** Alta del Trabajador ***\n"<<endl;
  39.      cout<<"Ingrese el Nombre: ";
  40.      cin.ignore();
  41.      cin.getline(nombre,20);
  42.      cout<<endl;
  43.      cout<<"Ingrese sus Apellidos: ";
  44.      cin.getline(apellido,30);
  45.      cout<<endl;
  46.      cout<<"Ingrese su Puesto: ";
  47.      cin.getline(puesto, 50);
  48.      cout<<endl;
  49.      cout<<"Ingrese un Codigo Numerico: ";
  50.      cin>>codigo;
  51.      cout<<endl;
  52.      system("cls");
  53.      cout<<"* * * Trabajador Registrado Exitosamente * * *\n"<<endl;
  54.      cout<<"Horario de Trabajo: 15:00 - 21:00 Hrs.\n"<<endl<<endl;
  55.      system("pause");
  56.      statusalta=1;
  57.      return statusalta;
  58.     }
  59.     else
  60.     {
  61.      cout<<"* * * Ya Tiene Registrado un Trabajador * * *\n"<<endl;
  62.      system("pause");
  63.      return statusalta;
  64.     }
  65. }          
  66.  
  67. void Trabajador::baja()
  68. {
  69.      if(statusalta==1)
  70.      {
  71.       cout<<"*** Baja del Trabajador ***\n"<<endl;
  72.       cout<<"* * * Se ha dado de Baja al Trabajador Exitosamente * * *\n"<<endl;
  73.       statusalta=0;
  74.       permiso=false;
  75.       indice=0;
  76.       strcpy(nombre, "Vacio");
  77.       strcpy(apellido, "Vacio");
  78.       strcpy(puesto, "Vacio");
  79.       codigo=0;
  80.       system("pause");
  81.      }
  82.      else
  83.      {
  84.       cout<<"*** Baja del Trabajador ***\n"<<endl;
  85.       cout<<"* * * Aun no se ha registrado a un Trabajador * * *\n"<<endl;
  86.       system("pause");
  87.      }
  88. }
  89.  
  90. void Trabajador::imprime()
  91. {
  92.      if(statusalta==1)
  93.      {
  94.       cout<<"*** Informacion del Trabajador ***\n"<<endl;
  95.       cout<<"Nombre: "<<nombre<<endl;
  96.       cout<<"Apellido: "<<apellido<<endl;
  97.       cout<<"Puesto: "<<puesto<<endl;
  98.       cout<<"Codigo: "<<codigo<<endl;
  99.       cout<<"Horario de Trabajo: 15:00 - 21:00 Hrs.\n"<<endl;
  100.       system("pause");
  101.      }
  102.      else
  103.      {
  104.       cout<<"*** Informacion del Trabajador ***\n"<<endl;
  105.       cout<<"* * * Aun no se ha registrado a un Trabajador * * *\n"<<endl;
  106.       system("pause");
  107.      }   
  108. }
  109.  
  110. void Trabajador::modificar()
  111. {
  112.      if(permiso==false && statusalta==1)
  113.      {
  114.       cout<<"*** Modificacion del Trabajador ***\n"<<endl;
  115.       cout<<"* * * Permiso Autorizado de 1 Hora * * * \n"<<endl;
  116.       cout<<"Horario de Permiso: 17:00 - 18:00 Hrs.\n"<<endl<<endl;
  117.       system("pause");
  118.       permiso=true;
  119.      }
  120.      else if(permiso==true && statusalta==1)
  121.      {
  122.       cout<<"*** Modificacion del Trabajador ***\n"<<endl;
  123.       cout<<"* * * Usted Ya Tiene un Permiso Autorizado de 1 Hora * * * \n"<<endl;
  124.       system("pause");
  125.      }
  126.      else
  127.      {
  128.       cout<<"*** Modificacion del Trabajador ***\n"<<endl;
  129.       cout<<"* * * Aun no se ha registrado a un Trabajador * * *\n"<<endl;
  130.       system("pause");
  131.      }   
  132. }        
  133.  
  134. void Trabajador::registro()
  135. {
  136.      //Hora de Entrada Normal.
  137.      if(indice==0 && statusalta==1)
  138.      {
  139.       cout<<"*** Registro de LLegada ***\n"<<endl;
  140.       cout<<"Ingrese la Hora de su Llegada - Formato(1000 hrs): ";
  141.       cin>>hora[indice];
  142.       if(hora[indice]>=1500 && hora[indice]<=1515)
  143.       {
  144.        cout<<endl<<endl;
  145.        cout<<"* * * Registro de Llegada Exitoso * * *\n"<<endl;
  146.        cout<<"Nombre: "<<nombre<<endl;
  147.        cout<<"Apellido: "<<apellido<<endl;
  148.        cout<<"Codigo: "<<codigo<<endl;
  149.        cout<<"Hora Entrada: "<<hora[indice]<<endl;
  150.        if(permiso==false)
  151.        {
  152.         cout<<"Permiso: No Autorizado"<<endl;
  153.         indice=indice+3;
  154.        }
  155.        else
  156.        {
  157.         cout<<"Permiso: Autorizado"<<endl;
  158.         indice++;
  159.        }
  160.        cout<<endl;
  161.        system("pause");
  162.       }
  163.       else if(hora[indice]>1515)
  164.       {
  165.        cout<<endl<<endl;
  166.        cout<<"* * * Registro de Llegada Fracasado * * *\n"<<endl;
  167.        cout<<"Nombre: "<<nombre<<endl;
  168.        cout<<"Codigo: "<<codigo<<endl;
  169.        cout<<"Hora Entrada: "<<hora[indice]<<endl;
  170.        cout<<"Usted llego despues del Horario, Vuelva el dia siguiente puntual.\n"<<endl;
  171.        cout<<endl;
  172.        indice=0;
  173.        permiso=false;
  174.        system("pause");
  175.       }
  176.      }
  177.      
  178.      //Si empleado tiene permiso - Salida.
  179.      else if(indice==1 && statusalta==1)
  180.      {
  181.       cout<<"*** Registro de Salida de Permiso ***\n"<<endl;
  182.       cout<<"Ingrese la Hora de Salida - Formato(1000 hrs): ";
  183.       cin>>hora[indice];
  184.       if(hora[indice]<1700)
  185.       {
  186.        cout<<endl<<endl;
  187.        cout<<"* * * Registro de Salida Fracasado * * *\n"<<endl;
  188.        cout<<"Nombre: "<<nombre<<endl;
  189.        cout<<"Codigo: "<<codigo<<endl;
  190.        cout<<"Hora Registrada: "<<hora[indice]<<endl;
  191.        cout<<"Aun no es su Hora de Permiso Valida.\n"<<endl;
  192.        cout<<endl;
  193.        system("pause");
  194.       }
  195.       else if(hora[indice]>=1700 && hora[indice]<=1745)
  196.       {
  197.        cout<<endl<<endl;
  198.        cout<<"* * * Registro de Salida Exitoso * * *\n"<<endl;
  199.        cout<<"Nombre: "<<nombre<<endl;
  200.        cout<<"Apellido: "<<apellido<<endl;
  201.        cout<<"Codigo: "<<codigo<<endl;
  202.        cout<<"Hora Salida: "<<hora[indice]<<endl;
  203.        indice++;
  204.        cout<<endl;
  205.        system("pause");
  206.       }
  207.       else if(hora[indice]>1745)
  208.       {
  209.        cout<<endl<<endl;
  210.        cout<<"* * * Registro de Salida Fracasado * * *\n"<<endl;
  211.        cout<<"Nombre: "<<nombre<<endl;
  212.        cout<<"Codigo: "<<codigo<<endl;
  213.        cout<<"Hora Registrada: "<<hora[indice]<<endl;
  214.        cout<<"Su Hora de Permiso ha Vencido.\n"<<endl;
  215.        cout<<endl;
  216.        indice=indice+2;
  217.        system("pause");
  218.       }
  219.      }         
  220.      
  221.      //Si empleado tiene permiso - Entrada.
  222.      else if(indice==2 && statusalta==1)
  223.      {
  224.       cout<<"*** Registro de Entrada de Permiso ***\n"<<endl;
  225.       cout<<"Ingrese la Hora de Entrada - Formato(1000 hrs): ";
  226.       cin>>hora[indice];
  227.       if(hora[indice]>=1800 && hora[indice]<=1815)
  228.       {
  229.        cout<<endl<<endl;
  230.        cout<<"* * * Registro de Entrada Exitoso * * *\n"<<endl;
  231.        cout<<"Nombre: "<<nombre<<endl;
  232.        cout<<"Apellido: "<<apellido<<endl;
  233.        cout<<"Codigo: "<<codigo<<endl;
  234.        cout<<"Hora Entrada: "<<hora[indice]<<endl;
  235.        indice++;
  236.        cout<<endl;
  237.        system("pause");
  238.       }
  239.       else if(hora[indice]>1845)
  240.       {
  241.        cout<<endl<<endl;
  242.        cout<<"* * * Registro de Entrada Fracasado * * *\n"<<endl;
  243.        cout<<"Nombre: "<<nombre<<endl;
  244.        cout<<"Codigo: "<<codigo<<endl;
  245.        cout<<"Hora Registrada: "<<hora[indice]<<endl;
  246.        cout<<"Su Hora de Permiso de Entrada ha Vencido, Vuelva el dia siguiente."<<endl;
  247.        cout<<"Se le Descontara las Horas no Trabajadas.\n"<<endl;
  248.        cout<<endl;
  249.        indice=0;
  250.        permiso=false;
  251.        system("pause");
  252.       }
  253.      }
  254.      
  255.      //Hora de Salida Normal.
  256.      else if(indice==3 && statusalta==1)
  257.      {
  258.       cout<<"*** Registro de Salida ***\n"<<endl;
  259.       cout<<"Ingrese la Hora de su Salida - Formato(1000 hrs): ";
  260.       cin>>hora[indice];
  261.       if(hora[indice]<2100)
  262.       {
  263.        cout<<endl<<endl;
  264.        cout<<"* * * Registro de Salida Fracasado * * *\n"<<endl;
  265.        cout<<"Nombre: "<<nombre<<endl;
  266.        cout<<"Codigo: "<<codigo<<endl;
  267.        cout<<"Hora Registrada: "<<hora[indice]<<endl;
  268.        cout<<"Aun no es su Hora de Salida.\n"<<endl;
  269.        cout<<endl;
  270.        system("pause");
  271.       }
  272.       else if(hora[indice]>=2100)
  273.       {
  274.        cout<<endl<<endl;
  275.        cout<<"* * * Registro de Salida Exitoso * * *\n"<<endl;
  276.        cout<<"Nombre: "<<nombre<<endl;
  277.        cout<<"Apellido: "<<apellido<<endl;
  278.        cout<<"Codigo: "<<codigo<<endl;
  279.        cout<<"Hora Salida: "<<hora[indice]<<endl;
  280.        permiso=false;
  281.        indice=0;
  282.        cout<<endl;
  283.        system("pause");
  284.       }
  285.      }         
  286. }
  287.                          
  288.  
  289. int Menuopciones()
  290. {
  291.     int opc;
  292.     system("cls");
  293.     do{
  294.        cout<<"*** Menu de Trabajor *** \n"<<endl;
  295.        cout<<"1.      Alta             \n";
  296.        cout<<"2.      Baja             \n";
  297.        cout<<"3.     Imprime           \n";
  298.        cout<<"4.     Permiso           \n";
  299.        cout<<"5.    Registros          \n";
  300.        cout<<"6.      Salir            \n"<<endl;
  301.        cout<<"Ingrese la opcion: ";
  302.        cin>>opc;
  303.     }while(opc<1 || opc>6);
  304.     system("cls");
  305.     return opc;
  306. }
  307.  
  308. int main()
  309. {
  310.     Trabajador empleado;
  311.     int opcion;
  312.    
  313. do{
  314.    opcion=Menuopciones();
  315.    
  316.    switch(opcion)
  317.    {
  318.     case 1: empleado.alta();
  319.     break;
  320.    
  321.     case 2: empleado.baja();
  322.     break;
  323.    
  324.     case 3: empleado.imprime();
  325.     break;
  326.    
  327.     case 4: empleado.modificar();
  328.     break;
  329.    
  330.     case 5: empleado.registro();
  331.     break;
  332.    }
  333. }while(opcion!=6);
  334.  
  335. system("pause");
  336. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement