Red de Respuestas Legales - Derecho empresarial - Sistema de información de gestión de empleados C++

Sistema de información de gestión de empleados C++

Anexo 1: Instrucciones de uso

Ingrese 1 información de registro: al registrar la información del empleado, se le solicitará el número de empleados registrados, el sistema le dará automáticamente el número del empleado y luego ingresará el nombre y el sexo del empleado. , edad, educación, salario, dirección y número de contacto.

Ingrese 2 para buscar información: Una vez completada la operación, podrá buscar la información de todos los empleados de la empresa.

Ingrese 3 información de consulta: puede consultar la información de los empleados de la empresa en función de diferente información. Por ejemplo, según el número del empleado, las calificaciones académicas del empleado y el número de contacto del empleado. Conocer un dato sobre un empleado puede ayudarle a encontrar otra información sobre él o ella. Tenga en cuenta que puede encontrar información relevante con solo un poco de información.

Ingrese 4 para eliminar información: Al ingresar a esta interfaz, primero muestre la información de todos los empleados y luego ingrese el nombre del empleado que desea eliminar. Una vez completada la operación, se puede mostrar toda la información de los empleados eliminada.

Ingrese 5 para agregar información: después de ingresar a esta interfaz, primero se mostrará la información del empleado original, luego se solicitará la cantidad de personas para agregar información y luego se mostrará la información del nuevo empleado. ser ingresado. Una vez completada la operación, toda la información de los empleados se puede mostrar automáticamente.

Ingrese 6 para modificar la información: Luego de ingresar a la interfaz, se mostrará la información de todos los empleados y luego se le solicitará el nombre del empleado que se va a modificar. Después de ingresar, se mostrará la información original del empleado y se le preguntará si desea modificarla: ingrese 1 para modificar, ingrese 0 para no modificar. Cuando se requiere una modificación, se solicita el número de serie de la opción que se va a modificar y luego se realiza la modificación. Después de la modificación, el sistema muestra automáticamente la información del empleado modificado.

Adjunto: Código del sistema de gestión de información de empleados

file.c

Este archivo contiene principalmente funciones relacionadas con funciones de lectura y escritura de archivos.

/****************************************** *******************/?

/*?Archivo:? archivo.c? */?

/*************************************** *** **********************/?

¿#Contiene? & ltstdio.h & gt

¿#Contiene? & ltwindows.h & gt

¿#Contiene? & lttime.h & gt

¿#Contiene? & ltstring.h & gt

#¿Definición? ¿norte? 100?/*Definición de macro*/

estructura? Empleado

{?int? número? /*Número de empleado*/

¿Carácter? Nombre[10];/*Nombre del empleado*/

Char? Sexo[4];/*Género del empleado*/

¿Caracter? Bir[16];? /*Fecha de nacimiento del empleado*/

Char? Li Xue[30];/*Educación del personal*/

int? salario;? /*Salario del empleado*/

Shar? dirección[30];? /*Dirección del empleado*/

Shar? Teléfono[20];*Número de teléfono del empleado*/

} em[100];? /*Definir una estructura*/

¿No es válido? menú()? /*Función de menú*/

{

printf("?☆☆☆Sistema de información y gestión de información☆☆\ n ");

printf(" \n ");

printf("B0902? Marte\n");

printf(" \n ");

Printf ("* * * * * * * * * * * *Gestión de información del empleado* * * * * * * * * * * * * * * * \ n ");

Printf("1. Ingrese la información del empleado"

Printf("2. Buscar información del empleado\ n ");

Printf("3. Consultar información del empleado"); 4. Eliminar información del empleado\ n ");

Printf("5. Agregar información del empleado");

Printf("6. Modificar información del empleado\ n ");

p>

Printf("7.

Salga del sistema de gestión\n ");

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

printf(" \ n ");

printf(" \ n ");

}

p>

¿No válido? main()

{

menú(); /*Llamar función de menú*/

int?

Char? a;

Hacer

{?Printf("Seleccione los pasos que necesita realizar (1-7):\ n ");

scanf("%d ", & ampn);

If (n & gt=1. & ampn & lt=7)

{

flag = 1;

Romper;

}

Otro

{

flag = 0;

Printf("¡Ingresaste un error, elige nuevamente!");

}

}

mientras(bandera = = 0);

mientras(bandera==1)

{?switch(n)

{

Caso 1? : printf ("◆◆◆◆Ingrese la información del empleado◆◆\ n "); printf (" \ n "); break(); ◆◆\ nBuscar información de los empleados◆◆\n");printf("\n");display();break;

¿Caso? 3:printf("?◆◆\nConsultar información de los empleados◆◆ \ n"); printf(" \ n "); search(); break;?

Caso? 4: printf("?◆◆\nEliminar información del empleado◆◆\n"); printf( " \ n "); del(); break;

Caso? 5: printf ("? ◆◆\nAgregar información del empleado ◆◆\ n"); ); break;

Caso? 6: printf ("? ◆◆\nModificar información del empleado ◆◆\ n");

Caso 7: salida(0); interrupción;

Incumplimiento:interrupción

}

getchar();

printf(" \ n ");

Printf("¿Quieres continuar(y? ¿aún? n):\ n");

scanf("%c ", & ampa);

if(a=='y ')

{

flag = 1;

System("cls");? /*Borrar la pantalla*/

menu(); /*Llamar al menú function* /

Printf("Vuelva a seleccionar los pasos que requieren operación (1-6):\ n ";

scanf("%d ", & ampn); /p >

printf(" \ n ");

}

¿Y si

Salir(0);

}

}

Entrada()/*función de entrada*/

{

int >

Printf(" Ingrese el número de empleados que necesitan crear información (1-100):\ n ");

scanf("%d ", & ampm);

¿Para qué? (I = 0;i<m;i++)

{

Printf("Número de empleado:");

srand((int )time(0)) ;

em[i].num = rand()% 100020000000;

if(em[i].num!=em[i- 1]. Número)

printf("%8d?", em[i].num);

printf("\n");

Printf("Por favor, introduzca su nombre:?");

scanf("%s ",&em[i].Nombre);

getchar();

Printf("Por favor ingrese el género:?");

scanf("%s ", & ampem[i].

género);

Printf("Ingrese su fecha de nacimiento:");

scanf("%s ", & ampem[i]. Bir);

Printf("Ingrese sus calificaciones académicas:?");

scanf("%s ", & ampem[i]. Li Xue);

Printf(" Ingrese su salario: ? ");

scanf("%d ", & ampem[i]. Salario);

Printf("Ingrese su dirección:?") ;

scanf("%s ",&em[i].addr);

Printf("Por favor, introduzca el número de teléfono:?");

scanf("% s ", & ampem[i]. teléfono

printf(" \n "); n Creado! \ n ");

Guardar(m);

}

¿No es válido? Guardar(int?M)/*Función guardar archivo*/

{

int? Yo;

ARCHIVO *fp

¿Si? ((fp=fopen("employee_list "," WB ")== NULL)?/*Crear un archivo y determinar si se puede abrir*/

{

printf? (" ¿No puedo? Abrir? archivo\n");

Salir(0);

}

¿Para qué (I = 0; I<m? ;I++ )/*Enviar la información del empleado en la memoria al archivo de disco*/

If? (fwrite(& em[i], sizeof(struct? empleado), 1, fp)!=1)

printf("¿archivo? ¿Escribir? Error\n ");

fclose(FP);

}

int ¿Cargar? ()/*Función de importación*/

{

ARCHIVO * fp

int? I = 0;

if((fp) =fopen("employee_list","Rb")= = NULL)

{

printf? ("¿No se puede? abrir? archivo\n");

Salir(0);

}

¿Qué más?

{

¿Qué hacer? {

fred(& ampem[i], sizeof(struct? empleado), 1,

i++; p>mientras(feof(FP)= = 0);

}

fclose(FP);

Retorno (I-1);

p>

}

¿Desactivado? Display()/*función de navegación*/

{

int?

int? m = load();

printf("\n?Número de empleado\tNombre\tSexo\Fecha de nacimiento\tEducación\tSalario\tDirección\tTeléfono\n");

for(I = 0;I<m;I++)/*m es el número de empleados en la parte de entrada*/

printf("\n?% 6d\t %s\t% 4s \ t % s \ t % s \ t % d \ t % s \ t % s \ n ", em[i]. num, em[i]. Nombre, em[i]. Sexo, em[i]. bir, em[i]. Li Xue, em[i]. Salario, em[i].

Teléfono);?

}

¿Anulado? del()? /*Eliminar función*/

{?int? m = cargar();

int? I, j, n, t, bandera

¿Carácter? Nombre[20];

printf("\n?Información original del empleado:\n");

Pantalla();? /*?Llame a la función de exploración*/

printf(" \ n ");

Printf("Ingrese el nombre del empleado que desea eliminar:\ n ");

scanf("%s",nombre);

for(flag=1,i=0;flag&&i<m;i++)

{

if(strcmp(em[i].name, name)==0)

{

printf("\nEsta persona ha sido encontrada, el registro original es: \n ");

printf("\nNúmero de empleado\tNombre\tSexo\Fecha de nacimiento\tEducación\tEdad\tDirección\tTeléfono\n");

printf(" \ n % d \ t % s \ t % s \ t % s \ t % s \ t % d \ t % s \ t % s \ n ", em[i].num, em[i ]. Nombre, em [i]. bir, em[i]. Salario, em[i];?

printf("\nPresione 1 para eliminar la información de esta persona, o presione 0\n "para no eliminar);

scanf("%d ", & ampn);

If(n==1)/*Si se elimina, toda la demás información se moverá una línea hacia arriba*/

{

for(j = I; j & ltm- 1; j++)

{

strcpy(em[j].Nombre, em[j+1].Nombre);

em[ j]. número=em[j+1]. num

strcpy(em[j]. Sexo, em[j+1]. Sexo);

strcpy(em[j].bir, em[j+1]. Bir);

strcpy(em[j]. Li Xue, Mediterráneo Oriental. Li Xue);

em[j]. Salario=em[j+1]. salario;?

strcpy(em[j].Dirección, em[j+1].addr);

strcpy(em[j].Teléfono, em[j+1].

teléfono);

}

bandera = 0;

}

}

}

if (! flag)

m = m-1;

other

printf("\n¡Lo sentimos, no existe tal persona!\n " );

printf("\n? Explorar toda la información de los empleados eliminados:\ n ");

Guardar (m); /*Llamar a la función de guardar*/

mostrar();? /*Llamar a la función de navegación*/

printf("\nPresione 1 para continuar eliminando, presione 0 para detener la eliminación\n");

scanf("%d ", & ampt) ;

Interruptor(t)

{

¿Caso? 1:del(); romper;

¿Caso? 0: Desconectar;

¿Incumplimiento de contrato? :break

}

}

¿No es válido? Agregar()/*Agregar función*/

{

ARCHIVO * fp

int? n;

int? recuento = 0;

int? Yo;

int? m = load();

printf("\n?Información original del empleado:\n");

Display();? /*?Llamar a la función de navegación*/

printf(" \ n ");

fp=fopen("emploee_list ", " a "); > Printf("Ingrese el número de empleados que desea agregar: \ n ");

scanf("%d ", & ampn);

¿Para qué? (I = m;I<(m+n);i++)

{

printf("\n? Ingrese 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].Name);

getchar();

Printf("Ingrese el género:?");

scanf("%s ",& ampem[i]. Sexo);

Printf("Por favor, ingresa tu fecha de nacimiento:");

scanf("%s " , & ampem[i]. Bir);

Printf("Ingrese sus calificaciones académicas:?"

scanf("%s ", & ampem[i]. Li Xue );

Printf("Ingrese el salario:?");

scanf("%d ", & ampem[i].Salario);

Printf("Ingrese su dirección:?");

scanf("%s ", & ampem[i].addr);

Printf("Ingrese una número de teléfono :? ");

scanf("%s ",& ampem[i].

Teléfono);

printf("\n");

count = count+1;

Printf("número de personas aumentó:\n") ;

printf("%d\n ",count);

}

printf("\n¡Agregado completado!\n");?

m = m+count;

printf(" \ nBuscar toda la información agregada de los empleados:\ n ");

printf(" \ n ");

Guardar(m);

Mostrar();

fclose(FP);

}

¿Anulado? Buscar()/*función de consulta*/

{

int? t, flag;

Do

{

printf(" \nPara consultar por número de empleado, presione 1?;? Para consultar por calificación académica, por favor presione 2? ? Presione 3 para consultar el número de teléfono y 4 para la función principal \n ");

scanf("%d ",&t);

if(t>= 1. & ampt & lt=4)

{

flag = 1;

descanso;

}

Otros

{

flag = 0;

Printf("¡Ingresaste un error, selecciona nuevamente!");

}

}

mientras(bandera = = 0);

mientras(bandera==1)

{

Interruptor(t)

{?

¿Caso? 1:printf("Buscar por número de empleado\n "); Rotura;

¿Caso? 2:printf("Buscar por calificaciones académicas\ n "); buscar _Li Xue();

¿Caso? 3:printf("Buscar por número de teléfono\n "); search_tel(); break;

¿Caso? 4:main(); romper;

Predeterminado: romper

}

}

}

No válido ? núm_búsqueda()

{

int? número

int? Yo, t;

int? m = load();

Printf("Ingrese el número de empleado que está buscando (20001111-2000999):\ n ");

scanf("%d ", & ampnum);

for(I = 0;i<m;i++)

if(num==em[i].número)

{? /p>

printf("\nEsta persona ha sido encontrada y su registro es:\n");

printf("\nNúmero de empleado\tNombre\tSexo\Fecha de nacimiento\tEducación \tEdad \tDirección\tTeléfono\n");

printf(" \n % d \t % s \t % s \t % s \t % s \t % d \t % s \ t % s \ n ", em[i]. num, em[i]. Nombre, em[i]. Sexo, em[i]. bir, em[i]. Li Xue, em[i] . Salario, em[ i]. Dirección, em[i].

Teléfono);?

Romper;

}

si(i==m)?

printf("\nLo sentimos, esta persona no fue encontrada\n");

printf("\n");

Printf("Presione 1 Regrese a la función de consulta, presione 2\n "Continuar consultando el número de empleado);

scanf("%d ",&t);

Cambiar (t)

{?

¿Caso? 1:búsqueda(); descanso;

¿Caso? 2:? Romper;

Predeterminado: romper

}

}

¿No es válido? Search_Li Xue()

{

¿Carácter? Li Xue[30];

int? Yo, t;

int? m = load();

Printf("Ingrese las calificaciones académicas que está buscando:\ n ");

scanf("%s ", Li Xue);< /p >

for(I = 0;i<m;i++)

if(strcmp(em[i].李雪,李雪)==0)

{

printf("\nRegistro encontrado:\n");

printf("\nNúmero de empleado\tNombre\tSexo\Fecha de nacimiento\tEducación\tEdad\tDirección \tTeléfono\n ");

printf(" \n % d \t % s \t % s \t % s \t % s \t % d \t % s \t % s \ n ", em [i]. num, em[i]. Nombre, em[i]. Sexo, em[i]. [i].

}

si(i==m)?

printf("\nLo sentimos, esta persona no fue encontrada\n");

printf("\n");

Printf("Presione 1 Regrese a la función de consulta, presione 2\n "Continuar consulta de calificación académica);

scanf("%d ",&t);

Cambiar (t)

{?

¿Caso? 1:búsqueda(); descanso;

¿Caso? 2: Roto;

¿Incumplimiento de contrato? :break

}

}

¿No es válido? search_tel()

{

¿Carácter? Teléfono[20];

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(strcmp(em[i].tel,tel)==0)

{ ?

printf("\nEsta persona ha sido encontrada y su registro es:\n");

printf("\nNúmero de empleado\tNombre\tSexo\Fecha de nacimiento\t Educación \tEdad\tDirección\tTeléfono\n");

printf("\n % d\t % s\t % s\t % s\t % s\t % d\ t % s \ t % s \ n ", em[i]. num, em[i]. Nombre, em[i]. Sexo, em[i]. bir, em[i]. Li Xue, em[i ]. Salario, em[i]. Dirección, em[i].

Teléfono);?

Romper;

}

si(i==m)?

printf("\nLo sentimos, esta persona no fue encontrada\n");

printf("\n");

Printf("Presione 1 Regrese a la función de consulta, presione 2\n "Continuar consultando el número de teléfono);

scanf("%d ",&t);

Cambiar (t)

{?

¿Caso? 1:búsqueda(); descanso;

¿Caso? 2: Roto;

¿Incumplimiento de contrato? :break

}

}

¿No es válido? Modificar()/*Modificar función*/

{

int? núm

¿Carácter? Nombre[10];

¿Carácter? Sexo[4];?

¿Ciel? Bir[20];

¿Carbón? Li Xue[30];

int? Salario;

Char? addr[30];

¿Carácter? Teléfono[20];

int? b, c, i, n, t, bandera?

int? m = cargar();? /*Información en el archivo de importación*/

printf("\n?Información original del empleado:\n");

Display();? /*?Llame a la función de exploración*/

printf(" \ n ");

Printf("Ingrese el nombre del empleado que desea modificar:\ n ");

scanf("%s",nombre);

for(flag=1,i=0;flag&&i<m;i++)

{

if(strcmp(em[i].name, name)==0)

{

printf("\nEsta persona ha sido encontrada, el registro original es: \n ");

printf("\nNúmero de empleado\tNombre\tSexo\Fecha de nacimiento\tEducación\tEdad\tDirección\tTeléfono\n");

printf(" \ n % d \ t % s \ t % s \ t % s \ t % s \ t % d \ t % s \ t % s \ n ", em[i].num, em[i ]. Nombre, em [i]. bir, em[i]. Salario, em[i];?

printf("\n¿Está seguro de que desea modificar la información de esta persona, por favor presione 1?;? Presione 0\n") sin modificar;

scanf("%d " , & ampn);

if (n==1)

{

printf("\nOpciones que deben modificarse\n? 1. Empleados No. 3. ¿Género? 5. ¿Educación? 7. ¿Número de teléfono?

Printf("Ingrese el número de serie que desea modificar:\ n ");?

scanf("%d ",&c);?

if(c & gt; 8 | | c & lt1)?

printf("\nSelección incorrecta, ¡seleccione nuevamente!\n");?

}

bandera = 0

}

}

if(bandera==1)

printf("\n¡Lo siento, no existe tal persona!\n");?

¿Qué hacer?

{

¿Interruptor (c)? /*Debido a que agregué 1 después de la declaración for al encontrar al I-ésimo empleado, la siguiente información debe asignarse a la persona i-1*/

{?

¿Caso? 1:printf("¿El número de empleado cambió a:?");

scanf("%d ", & ampnum);

em[i-1]. num = num

Romper;?

¿Caso? 2:printf("¿Nombre cambiado a:?");

scanf("%s ", nombre);

strcpy(em[i-1]). Nombre, título);?

¿Romper;?

¿Caso? 3:printf("El género cambió a:?");

scanf("%s ", género);

strcpy(em[i-1]).

Sexo, sexo);

Romper;?

¿Caso? 4:printf("La fecha de nacimiento cambió a:?");

scanf("%s ", Bir);

strcpy(em[i-1]). bir, Bir);

Romper;?

¿Caso? 5:printf("La educación cambió a:?");

scanf("%s ", Li Xue);

strcpy(em[i-1]). Li Xue, Li Xue);?

Romper;?

¿Caso? 6:printf("¿Salario cambiado a:?");

scanf("%d ",& salario);

Descanso;?

¿Caso? 7:printf("¿La dirección cambió a:?");

scanf("%s ", addr);

strcpy(em[i-1]). addr,addr);

Romper;?

¿Caso? 8:printf("¿Cambiar el número de teléfono a:?");

scanf("%s ", número de teléfono);

strcpy(em[i-1]).

teléfono, teléfono);

Romper;?

}?

printf(" \ n ");

printf(" \ n¿Estás seguro de que deseas modificar la información?\n? ¿Cuál es el ¿Importa? Por favor presione 1;? No, por favor presione 2:?

scanf("%d ", & ampb);

}?

mientras(b = = 2

printf); (" \ nExaminar toda la información de los empleados modificados: \ n ");

printf(" \ n "); );

printf(" \nPresione 1 para continuar con la modificación, presione 0\n "para detener la modificación);

scanf("%d ",&t);

Interruptor(t)

{

¿Caso? 1:modificar(); romper;

¿Caso? 0: Desconectar;

¿Incumplimiento de contrato? :romper

}

}