Entradas populares

jueves, 12 de mayo de 2011

Directorio de Empleados.


  • Hola compañeros se que los he mantenido un tanto descuidados pero hoy les traigo un programa muy util, bueno no mucho en verdad, pero si lo es:



          Se trata de un programa hecho en C para organizar lo que es un directorio.




# include <stdio.h>


# include <stdlib.h>
# include <string.h>


void obcaden(char caden[20]);


struct fecha{
                char dia[20];
                char mes[20];
                char ano[20];
            };


typedef enum {casado,soltero} ESTADO;/* definicion del tipo de dato enum*/




struct persona{
                char edad[20];
                char nombre[20];
                struct fecha fechanac;
                union {
                        int cuenta;/* variable para contar el numero de solteros*/
                        ESTADO s1;
                        }estado_civil;
                };/* esta es la estuctura que posteriormente se convertira en fechanac*/


struct persona empleado[5];/* nueva estructura llamada empleado*/


int main()
{
    int x,y,cont = 0;
    char c[2];


     /* ciclo para capturar los datos para hata cinco empleados*/
     for(x = 0; x < 5 ; ++x)
     {
         printf("\n\n                   *Introduce el nombre del empleado:");
         obcaden(empleado[x].nombre);
         if ( !strcmp(empleado[x].nombre,"fin") || !strcmp(empleado[x].nombre,"FIN") || !strcmp(empleado[x].nombre,"Fin") )
            break;
        printf("\n                        *Edad:");
        obcaden(empleado[x].edad);
        printf("\n                        *Fecha de nacimiento:");
        printf("\n                                  > Dia:");
        obcaden(empleado[x].fechanac.dia);
        printf("\n                                  > Mes:");
        obcaden(empleado[x].fechanac.mes);
        printf("\n                                  > Year:");
        obcaden(empleado[x].fechanac.ano);
        printf("\n\n                    * Estado civil: ");
        obcaden(c);
        if( c[0] == 'c')
            empleado[x].estado_civil.s1 = casado;
        else
            if( c[0] == 's')
                empleado[x].estado_civil.s1 = soltero;/* si es igual a s entonces empleado en estado civil sera igual a soltero osea uno por la variable enum*/


     }






     /* cuando tecle fin limpia pantalla y imprime la informacion obtenida*/
     system("cls");
     for(y = 0; y < x; ++y )
        {
            printf("\n          *Empleado: %s",empleado[y].nombre);
            printf("\n          *Edad: %s ",empleado[y].edad);
            printf("\n          *Fecha de nacimiento >> Dia: %s    Mes: %s    Año: %s ",empleado[y].fechanac.dia,empleado[y].fechanac.mes,empleado[y].fechanac.ano);
            putchar('\n');
        }
     for( y = 0; y <x; ++y)
        {
         cont += empleado[y].estado_civil.cuenta;/* guardamos en nuestra variable contador el numero de solteros que hay*/
        }


     printf("\n\n\n\n              *******   Hay un total de: %d empleado(s) solteros, de %d empleado(s). \n\n\n\n",cont,y);


     system("pause");
     return(0);




}


void obcaden(char caden[])
{
    gets(caden);


}