El sistema de gestión de información de los empleados está escrito en lenguaje C (no C++).
# include & ltstdio.h & gt
# include & ltwindows.h & gt
# include & lttime.h & gt
# include & ltstring.h & gt
#Definición número 100
Empleado de estructura
{
int num
Nombre del personaje[10];
Sexo encantador;
int edad
Char Li Xue[30];
int salario;
char addr[30];
long int tel
} em [100]; /*Definir una estructura*/
void menu();
void input()
void save(int); p>
visualización nula();
void del();
void add()
búsqueda nula();
p>
búsqueda nula _ num();
búsqueda nula _李雪();
búsqueda nula _ tel();
void modificar (); /*Definir cada función*/
Menú vacío() /*Función de menú*/
{
Printf ("☆☆) ☆Departamento de Computación de Ciencia y Tecnología☆☆\n ");
printf(" \n ");
printf("∮08802 Nivel Guan Lixia∮\n");
printf(" \ n ");
Printf ("* * * * * * * * * * * *Gestión de información de empleados* * * * * * * * * * * * * * * * \ n ");
Printf(" 1. Ingrese la información del empleado");
Printf(" 2. Busque la información del empleado\ n ");
Printf(" 3. Consultar información del empleado");
Printf(" 4. Eliminar información del empleado \ n "); información del empleado") ;
Printf(" 6. Modificar información del empleado\ n ");
Printf(" 7. Salir\n ");
printf(" * * * * * * * * * * * * * * * * Gracias por usar * * * * * * * * * * * * * \n " );
printf(" \ n ");
printf(" \ n ");
}
void principal ( )
{
menu();/*Llamar a la función de menú*/
int n, flag
char a;
char a; p>
Hacer
{
Printf("Seleccione los pasos que necesita para operar (1-7):\ n " );
scanf ("%d ", & ampn);
Si (n & gt=1.
& ampn & lt=7)
{
bandera = 1;
descanso
}
Otros
{
flag = 0;
Printf("¡Ingresaste un error, selecciona nuevamente!");
}
}
mientras(bandera = = 0);
mientras(bandera==1)
{
Switch(n)
{
Caso 1: printf ("◆◆◆◆Ingrese la información del empleado◆◆\ n "); ( ); descanso;
Caso 2: printf ("◆◆◆◆Buscar información del empleado◆◆\ n ");
Caso 3: printf ("◆◆◆◆Consultar información del empleado por número de empleado◆◆\ n "); printf ("\ n "); printf ("◆◆◆◆Eliminar información del empleado◆◆\ n "); printf ("\n"); break
Caso 5: printf ("◆◆◆◆Agregar empleado; información ◆◆\ n "); printf (" \ n "); add(); break;
Caso 6: printf ("◆◆◆◆Modificar información del empleado◆◆\ n "); printf ( "\ n "); modificar(); romper;
Caso 7: Salir (0); p >
getchar();
printf("\n");
Printf("Si continuar (y o n):\n"); p>
scanf("%c ",&a);
if(a=='y ')
{
bandera = 1;
System("cls"); /*Borrar la pantalla*/
menu() /*Llamar a la función del menú*/
Printf(" Seleccione nuevamente Pasos requeridos (1-6): \ n ");
scanf("%d ", & ampn);
printf(" \ n ");
p>
}
Otro
Salir(0);
}
} p>
Void input() /*Función de entrada*/
{
int i, m;
Printf("Ingrese el número de empleados que necesitan crear información (1- 100):\ n ");
scanf("%d ", &m);
for(I = 0; i<m;i++ )
{
Printf("Número de empleado:");
srand((int)time(0));
em[yo]. num = rand()% 100020000000;
if(em[i].num!=em[i-1].Number)
printf("%8d ", em[i].num);
printf("\n");
Printf("Por favor, introduzca su nombre:");
scanf ( "%s ", em[i]. Nombre);
getchar();
Printf("Ingrese el género (f-mujer m-hombre):"); /p>
scanf("%c ", & ampem[i].
género);
Printf("Ingrese su edad:");
scanf("%d ", & ampem[i].Edad);
Printf("Ingrese sus calificaciones académicas:");
scanf("%s ", em[i]. Li Xue);
Printf("Ingrese su salario :");
scanf("%d ", & ampem[i]. Salario);
Printf("Por favor, introduzca la dirección:");
scanf(" %s ", em[i]. addr);
Printf("Ingrese su número de teléfono:
scanf("%d ", & ampem[i]. Teléfono);
printf(" \n ");
}
printf("\n¡Creado!\n");
Guardar(m);
}
Void save(int m) /*Función guardar archivo*/
{ p>
int I;
FILE * fp
If ((FP = fopen ("employee_list", "WB")== null)/*Crea un archivo y determinar si se puede abrir*/
{
printf("No se puede abrir el archivo\n ");
Salir(0);
}
for(I = 0;i<m;I++) /*Envía la información del empleado en la memoria al archivo de disco*/
if(fwrite(& amp;em[ i ], sizeof(empleado de estructura), 1, fp)! =1)
printf("Error de escritura de archivo\n ");
fclose(FP);
}
Int load() /*Función de importación*/
{
ARCHIVO * fp
int I = 0;
if((fp=fopen("employee_list","Rb")== NULL)
{
printf("No se puede abrir el archivo \ n ");
Salir(0);
}
Otro
{
Hacer
p>{
fred(& ampem[i], sizeof(estructura empleado), 1, FP
i++; > }
mientras(feof(FP)== 0);
}
fclose(FP);
Regresar (I - 1);
}
Visualización nula() /*Función de exploración*/
{
int I;
int m = load();
printf("\nNúmero de empleado\tNombre\tSexo\tEdad\Educación\tSalario\Dirección\tTeléfono\n");
for(I = 0;I<m;I++) /*m es el número de empleados en la parte de entrada*/
printf(" \n % d \t % s \t % c \t % d \ t % s \ t % d \ t % s \ t % LD \ n ", em[i]. número,em[i]. Nombre, em[i]. Sexo, em[i]. Edad, em[i]. Li Xue, em[i]. Salario, em[i]. Dirección, em[i].
teléfono);
}
Void del() /*Eliminar función*/
{
int m = load();
int i, j, n, t, flag
char name[20];
printf("\ninformación original del empleado:\n");
Display();/*Llame a la función de exploración*/
printf(" \ n ");
Printf("Ingrese el empleado que desea nombre eliminado:\n");
scanf("%s",name);
for(flag=1,i=0;flag&&i<m;i++ )
{
if(strcmp(em[i].name, name)==0)
{
printf( "\nEsta persona tiene encontrado, el registro original es:\n");
printf("\nNúmero de empleado\tNombre\tSexo\tEdad\Educación\tSalario\Dirección\tTeléfono\n") ;
printf(" \ n % d \ t % s \ t % c \ t % d \ t % s \ t % d \ t % s \ t % LD \ n ",em[i ]. num, em[ i]. Sexo, em[i]. Li Xue, em[i]. Teléfono);
printf(" \nPresione 1 para eliminar la información de esta persona, o presione 0\n "para no hacerlo. eliminar);
scanf("%d ",& ampn );
If(n==1) /*Si se elimina, toda la demás información subirá una línea*/
{
for(j = I ; j & ltm-1; j++)
{
strcpy(em[j] .Nombre, em[j+1].Nombre);
em[j]. número=em[j+1]. número
em[j]. sexo=em[j+1]. Sexo;
em[j]. edad=em[j+1]. Edad;
strcpy(em[j]. Li Xue, Mediterráneo Oriental. Li Xue);
em[j]. Salario=em[j+1]. Salario;
strcpy(em[j].address,em[j+1].addr);
em[j]. tel=em[j+1].
Teléfono;
}
bandera = 0;
}
}
}
if(!flag)
m = m-1;
Otro
printf("\n¡Lo sentimos, no existe tal persona!\n" ) ;
printf("\nExaminar toda la información de los empleados eliminados:\n ");
Guardar(m);/*Llamar a la función de guardar*/
Display();/*Llamar a la función de exploración*/
printf(" \nPresione 1 para continuar eliminando, presione 0 para detener la eliminación\n ");
scanf("% d ",&t);
Interruptor(t)
{
Caso 1: del(); Interrupción;
Caso 0 :break;
Predeterminado:break
}
}
Voideadd ()/*Agregar función*/
{
ARCHIVO * fp
int n;
int recuento = 0;
int
int m = load();
printf("\nInformación original del empleado:\n");
Display();/*Llamar a la función de exploración*/ p>
printf(" \ n ");
fp=fopen("emploee_list ", " a ");
Printf("Ingrese los empleados que desea agregar Número de personas: \ n ");
scanf("%d ",& ampn);
for(I = m;i<(m+n);i++)
{
printf("\nIngrese la información del empleado recién agregado:\n");
Printf("Ingrese el número de empleado: ");
srand((int)time(0));
em[i]. num = rand()% 100020000000;
if(em[i].num!=em[i-1].Number)
printf("%8d ", em[i].num);
printf("\n");
Printf("Por favor, introduzca su nombre:");
scanf ( "%s ", em[i]. Nombre);
getchar();
Printf("Ingrese el género (f-mujer m-hombre):"); /p>
scanf("%c ", & ampem[i]. Sexo);
Printf("Ingrese su edad:
scanf("); %d ", & ampem[i]. Edad);
Printf("Ingrese su educación: ");
scanf("%s ", em[i]. Li Snow);
Printf("Ingrese el salario:");
scanf("%d ", & ampem[i].Salario);
Printf("Ingrese la dirección:");
scanf("%s ",em[i].addr);
Printf("Ingrese el número de teléfono: ");
scanf("%d ", & ampem[i].
Teléfono);
printf("\n");
count = count+1;
Printf("número de personas aumentó:\n") ;
printf("%d\n ",count);
}
printf("\n¡Agregado completo!\n");
m = m+count;
printf("\nBuscar toda la información agregada de los empleados:\n");
printf("\n");
Guardar(m);
Mostrar();
fclose(FP);
}
Búsqueda nula( )/*función de consulta*/
{
int t, flag
do
{
printf ("\nPara consultar por número de empleado, presione 1; para consultar por calificaciones académicas, presione 2; para consultar por número de teléfono, presione 3, y para función principal, presione 4 \n ");
scanf("%d ",&t);
if(t>=1.&t<=4)
{
bandera = 1; p>
Romper;
}
Otro
{
bandera = 0;
Imprimir ("¡Ingresas Error, por favor selecciona nuevamente! ");
}
}
while(flag = = 0);
while(flag ==1)
{
Cambiar (t)
{
Caso 1:printf("Consulta por número de empleado\n "); search_num(). Break;
Caso 2: printf ("Buscar por calificaciones académicas\ n "); buscar _Li Xue (
Caso 3: printf ("Buscar por número de teléfono\); n "); buscar _ tel(); break;
Caso 4: main(); break;
Predeterminado: break
}
}
}
Número de búsqueda nula ()
{
int num
int i , t;
int m = load();
Printf("Ingrese el número de empleado que está buscando (20001111-2000999):\ n "
>scanf("%d ",&num);
for(I = 0;i<m;i++)
if(num==em[i]. Número)
{
printf("\nEsta persona ha sido encontrada y su registro es:\n");
printf("\nNúmero de empleado \tNombre\ tSexo\tEdad\Educación\tSalario\Dirección\tTeléfono\n");
printf("\n % d\t % s\t % c\t % d\t % s \t % d \t % s \t % LD \n ",em[i].num,em[i].nombre,em[i].género,em[i].edad,em[i].李Nieve, em[ i]. Salario, em[i]. Dirección, em[i].
teléfono);
Pausa;
}
if (i==m)
printf("\nLo sentimos, no se encontró esto persona\n ");
printf(" \n ");
Printf("Presione 1 para regresar a la función de consulta, presione 2\n "para continuar consultando al empleado número);
scanf("%d ",&t);
Switch(t)
{
Caso 1: búsqueda (); Romper;
Caso 2: Romper;
Predeterminado: romper
}
}
Búsqueda no válida_ Li Xue()
{
Charles Li Xue[30];
int i, t;
int m = load();
Printf("Ingrese las calificaciones académicas que está buscando:\ n "
scanf("%s ", Li Xue
for(I = 0;i<m;i++)
if(strcmp(em[i].李雪,李雪)==0)
{ p>
printf("\nRegistro encontrado:\n");
printf("\nNúmero de empleado\tNombre\tSexo\tEdad\Educación\tSalario\Dirección\tTeléfono\n" );
printf(" \ n % d \ t % s \ t % c \ t % d \ t % s \ t % d \ t % s \ t % LD \ n ", em[ i]. num, em[i]. Nombre, em[i].
printf("\nLo sentimos, esta persona no fue encontrada\n") ;
printf(" \ n ");
Printf("Presione 1" para regresar a la función de consulta, presione 2\n "para continuar con la consulta de calificación académica);
scanf ("%d ",&t);
Switch(t) p>
{
Caso 1: búsqueda(); Romper;
Caso 2: Romper;
Predeterminado: romper
}
}
void search_tel()
{
long int tel
int i, t ;
int m = load();
Printf("Ingrese el número de teléfono que está buscando:\n");
scanf(" %ld", & número de teléfono);
for(I = 0;i<m;i++)
if(tel==em[i]. Teléfono)
{
printf("\nEsta persona ha sido encontrada y su registro es:\n");
printf("\nNúmero de empleado \ tNombre\tSexo\tEdad\Educación\tSalario\Dirección\tTeléfono\n");
printf("\n % d\t % s\t % c\t % d\t % s \t % d \t % s \t % LD \n ",em[i].num,em[i].nombre,em[i].género,em[i].edad,em[i].李Nieve, em[i]. Salario, em[i]. Dirección, em[i].
teléfono);
Pausa;
}
if (i==m)
printf("\nLo sentimos, no se encontró esto person\n ");
printf(" \n ");
Printf("Presione 1 para regresar a la función de consulta, presione 2\n "para continuar consultando el teléfono número);
scanf("%d ",&t);
Switch(t)
{
Caso 1: búsqueda (); Romper;
Caso 2: Romper;
Predeterminado: romper
}
}
Modificar vacío () /*Modificar función*/
{
int num
Nombre del personaje[10];
Sexo encantador;
p>
int edad
Char Li Xue[30];
int salario;
char addr[30] ;
long int tel
int b, c, I, n, t, flag
int m = load() /*Información en la importación; file*/ p>
printf(" \ nInformación original del empleado:\ n ");
Display() /*Llamar a la función de exploración*/
printf (" \ n " );
Printf("Ingrese el nombre del empleado a modificar: \ n ");
scanf("%s ", nombre);
for (flag=1,i=0;flag&&i<m;i++)
{
if(strcmp(em[i].nombre,nombre)= =0 )
{
printf("\nEsta persona ha sido encontrada, el registro original es:\n");
printf("\nEmpleado número\ tNombre\tSexo\tEdad\Educación\tSalario\Dirección\tTeléfono\n");
printf("\n % d\t % s\t % c\t % d\t % s \ t % d \ t % s \ t % LD \ n ", em[i]. num, em[i]. Nombre, em[i]. Sexo, em[i]. Edad, em[i]. Li Xue, em[i]. Salario, em[i]. Dirección, em[i]. Teléfono);
printf("\nPor favor presione 1 para modificar la información de esta persona; presione 0\n") Sin modificación;
scanf("%d ", & ampn);
If (n==1)
{
printf(" \nOpciones a modificar\n 1. Empleado número 2. Nombre 3. Género 4. 5 años. educar. Salario7. Dirección 8.
Teléfono\ n ");
Printf("Ingrese el número de serie que desea modificar:\ n ");
scanf("%d ", & ampc);
p>
if(c & gt; 8 | | c & lt1)
printf("\nSelección incorrecta, ¡elija nuevamente!\n");
}
bandera = 0;
}
}
if(bandera==1)
printf( "\n¡Lo sentimos, no existe tal persona!\n");
Hacer
{
Cambiar(c) /*Porque se encuentra el I-ésimo empleado Cuando, agregué 1 después de la declaración for, por lo que la siguiente información debe asignarse al personal i-1*/
{
Caso 1:printf ("El número de empleado cambió a" );
scanf("%d ", & ampnum);
em[i-1] num = num
Pausa;
Caso 2: printf("nombre cambiado a");
scanf("%s ", nombre);
strcpy(em[ i-1]), nombre);
Break;
Caso 3: printf("Género cambiado a");
getchar(); /p>
scanf("%c ", & amp sexo);
em[i-1]. sexo
Break; p>Caso 4: printf ("edad cambiada a:");
scanf("%d ",&age);
em[i-1].
Pausa;
Caso 5: printf("educación cambiada a");
scanf("%s ", Li Xue);
strcpy (em[i-1]).
Descanso;
Caso 6: printf("Salario cambiado a");
scanf("%d ", salario);
Descanso;
Caso 7: printf("Dirección cambiada a");
scanf("% s ", addr);
strcpy(em[i-1]).addr, addr);
Pausa;
Caso 8: printf(" Teléfono cambiado a ");
scanf("%ld ", & amp teléfono);
em[i-1]. teléfono = teléfono;
Break;
}
printf(" \n ");
printf("\n¿Estás seguro de que deseas modificar la información? \Sí, presione 1; No, presione 2 para modificar nuevamente:\n");
scanf("%d ", & ampb);
}
while(b = = 2);
printf(" \ nBuscar toda la información modificada del empleado:\ n ");
printf(" \ n " ); /p>
Guardar (m);
Mostrar ();
printf("\nPresione 1 para continuar con la modificación, presione 0\n "para detener la modificación);
scanf("%d ",&t);
Cambiar(t)
{
Caso 1: modificar( ); ;
Caso 0: romper
Predeterminado: romper
}
}