La Red de Conocimientos Pedagógicos - Currículum vitae - ¡La programación del sistema de gestión en lenguaje C es urgente!

¡La programación del sistema de gestión en lenguaje C es urgente!

# incluir & ltstdio.h & gt

# incluir & ltwindows.h & gt

# incluir & lttime.h & gt

# incluir & ltstring. h & gt

#Definición número 100

Empleado de estructura

{

int num

Nombre del personaje[ 10];

Chaer Zhicheng;

int Yoshimoto;

int Jiangjin;

int Baoxian;

int zafei

int "Registros históricos";

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

void menu();

void input();

void save(int);

void display();

void del();

void save(int);

void display();

void del();

void save(int); >búsqueda vacía();

búsqueda vacía _ zhi cheng();

nombre de búsqueda vacía();

modificación vacía(); function*/

Menú nulo() /*Función de menú*/

{

printf(" \ n ");

p>

printf(" Netmeter 091 Grupo 7 \ n ");

printf(" \ n "

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

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

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

Printf(" 3. Consultar información del empleado"

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

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

Printf(" 6. Salir\ n "); * * * * * * * * * * * * * * * Gracias por usar * * * * * * * * * * * * \ n ");

printf(" \ n ") ;

printf(" \ n ");

}

void main()

{

int n, flag

char a;

while(1)

{

Hacer

{

menu(); /*Llamada a la función de menú*/

Printf("Seleccione los pasos que necesita para operar (1-6):\ n ");

scanf("%d ", & ampn);

Si (n & gt=1.

& ampn & lt=6)

{

bandera = 1;

descanso

}

Otros

{

flag = 0;

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

}

} while(flag = = 0);

Cambiar (n)

{

Caso 1:printf("Ingrese empleado información \ n "); printf (" \ n "); input (); break;

Caso 2: printf ("Buscar información del empleado\ n "); printf (" \ n "); sistema ( "cls"); display(); break;

Caso 3: printf("Consultar información del empleado por número de empleado\n"); ; search(); break;

Caso 4: printf("Eliminar información del empleado\n"); printf("\n"); /p> p>

Caso 5: printf("Modificar información del empleado\ n "); printf(" \ n "); sistema ("cls"); Caso 6: ir a la

Predeterminado: break

}

}

Los Ángeles:

Sistema ( "cls") ;

printf(" \ n \ n \ n \ n \ n¡Gracias por tu uso! \ n "); 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("Ingrese el número de empleado:");

scanf("%d ", & ampem[i].num); Aquí está mal, se debe usar una matriz Subíndice.

printf(" \ n ");

Printf("Por favor ingrese su nombre:");

scanf("%s ",em[ i ]. Nombre); //Este código es incorrecto, debes usar subíndices de matriz.

getchar();

Printf("Ingrese el título:");

scanf("%c ", & ampem[i]. Zhicheng ); //El código aquí es incorrecto, se deben usar subíndices de matriz.

Printf("Ingrese el salario básico:");

scanf("%d ", & ampem[i]. Yoshimoto //El código aquí es incorrecto, an); Se debe utilizar la matriz Subíndice.

Printf("Ingrese bonificación:");

scanf("%d ", & ampem[i]. Jiangjin // El código aquí es incorrecto, debería); utilice una marca de matriz.

Printf("Ingrese el seguro:");

scanf("%d ", & ampem[i]. Baoxian); //El código aquí es incorrecto, una matriz debe utilizarse subíndice.

Printf("Ingrese tarifas diversas:");

scanf("%d ", & ampem[i].zafei); //El código aquí es incorrecto, usted debe utilizar una marca de matriz.

em[i]. shiji=em[yo]. jiben + em[yo]. Jiangjin-em[i]. Baoxiano - em[i]. Zafei; // El código aquí es incorrecto, se deben usar subíndices de matriz.

printf(" \n ");

}

printf(" \nCreado!\n "); p>

Guardar(m);

}

Void save(int m) /*Función guardar archivo*/

{

int I;

FILE * fp

If ((FP = fopen ("employee_list","WB")== null)/*Crear un archivo para determinar si se puede abrir*/

{

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

Salir (0);

}

for(I = 0;I& ltm;I++) /*Envía la información del empleado en la memoria a un archivo de disco*/

if(fwrite(& amp ;em, sizeof(estructura empleado),1,fp)!=1)

printf("Error de escritura de archivo\n ");

fclose(FP);

p>

}

Int load() /*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);

}

Otro

{

Hacer

{

Fred(& ampem, tamaño de (estructura empleado), 1, FP

i++; p>

mientras(feof(FP)== 0);

}

fclose(FP);

Retorno (I-1) ;

}

Visualización nula() /*Función de exploración*/

{

int I;

int m = load();

printf("\nNúmero de empleado\tNombre\tPosición\tSalario básico\tResponsabilidades\tSeguros\tOtros gastos\tSalario real\n") ;

para (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 % d \ t % d \ t % d \ t % d \ n ",em[i]. número,em[i]. Nombre, em[i]. Zhicheng, em[yo]. Gibbon, em[yo]. Jiangjin, em[yo]. Baoxian, em[yo]. zafei,em[i]. "Registros históricos"); //El código aquí es incorrecto, se deben utilizar subíndices de matriz.

Printf("Presione cualquier tecla para continuar\n ");

getchar(); getchar() system("cls");

Void del() /*Eliminar función*/

{

int m = load();

int i, j , n, t, bandera

nombre de char 1[10];

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

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

printf(" \ n ");

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

scanf("%s ",nombre 1);

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

{

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

{

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

printf("\nNúmero de empleado\tNombre\tPosición\tSalario básico\tResponsabilidades\tSeguros\tOtros gastos\tSalario real\n");

printf(" \ n % d \ t % s \ t % c \ t % d \ t % d \ t % d \ t % d \ t % d \ n ",em[i] . num, em[i]. Zhicheng, em[i]. Baoxian, em[i]. ]. "Registros históricos");

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

scanf("%d ", &n);

If(n==1) /*Si se elimina, el resto de la información subirá una línea*/

{

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

{

em[j]= em[j+1 ];

}

bandera = 0;

}

}

}

if (!flag)

m = m-1;

Otros

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 con la eliminación, presione 0 para detener la eliminación\n");

scanf(" %d ",&t);

Interruptor (t)

{

Caso 1: del(); break;

Caso 0: pausa;

Predeterminado: pausa

}Sistema("cls");

}

Búsqueda nula()/* función de consulta*/

{

int t, flag

Do

{

printf("\ nPresione 1 para consultar por nombre; presione 2 para consultar por título de trabajo Presione 3\n" para ingresar a la función principal);

scanf("%d ",&t);

if(t>=1.

&t & lt=3)

{

flag = 1;

descanso;

}

Otros

{

flag = 0;

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

}

} mientras(bandera == 0); sistema("cls");

mientras(bandera==1)

{

Switch(t)

{

Caso 1:printf("Consulta por nombre\n "); Buscar nombre();

Caso 2 :printf("Consulta por título\n "); buscar _ zhi cheng(); break;

Caso 3: main()

Predeterminado: break

}

System("cls");

}

}

void search_name()

{

nombre de carácter 1[10];

int i, t

int m = cargar(); >Printf("Ingrese el nombre que está buscando: \ n ");

scanf("%s ", nombre 1

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

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

{

printf("\nEsto ha sido encontrado Persona, cuyo registro es:\n ");

printf("\nNúmero de empleado\tNombre\tCargo\tSalario básico\tResponsabilidad\tSeguros\tOtros gastos\tSalario real\ n ");

printf(" \ n % d \ t % s \ t % c \ t % d \ t % d \ t % d \ t % d \ t % d \ n ", em[i]. num, em [i]. Zhicheng, em[i]. Baoxian, em[i]. , em[i]. "Registros históricos"); >

If (i==m)

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 "Continuar consultando el número de empleado);

scanf("%d ", & ampt);

Cambiar (t)

{

Caso 1: búsqueda();

Caso 2: ruptura

Predeterminado: romper

}

}

void search_zhicheng()

{

Chaerzhicheng;

int i, t = 0;

int m = load();

System("cls");

Printf( "Ingrese el título que está buscando:\n ");

scanf("%c", & Zhicheng); //Utilice la dirección aquí.

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

if(em[i].

Zhicheng = = Zhicheng)

{

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

printf("\nNúmero de empleado\ tNombre\tPosición\ tSalario básico\tResponsabilidad\tSeguros\tOtros gastos\tSalario real\n ");

printf("\n % d\t % s\t % c \ t % d \ t % d \ t % d \ t % d \ t % d \ n ", em[i]. num, em[i]. Nombre, em[i]. Zhicheng, em[i] . Yoshimoto, em[i]. Baoxian, em[ i]. "Registros históricos");

}

if (i==m)

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);

Interruptor (t)

{

Caso 1: sistema(" cls "); search(); roto;

Caso 2: roto;

Predeterminado: break

}

}

Void modificar() /*Modificar función*/

{

int num

Nombre del personaje[10];

Char Zhicheng;

int Yoshimoto;

int Jiangjin;

p>

int Baoxian;

int zafei

int "Registros históricos";

int b, c, I, n, t, flag

int m = load() /*Información en el archivo importado*; /

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

display();/*Llamar a la función de exploración*/

printf(" \ n ");

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

scanf("%s ",nombre);

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

{

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

{

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

printf("\nNúmero de empleado\ tNombre\tPosición\tBásica\tResponsabilidades\tSeguros\tGastos varios\tSalario real\n") ;

printf(" \ n % d \ t % s \ t % c \ t % d \ t % d \ t % d \ t % d \ t % d \ n ",em[i]. número,em[i]. Nombre, em[i]. Zhicheng, em[yo]. Gibbon, em[i]. Jiangjin, em[yo]. Baoxian, em[yo]. zafei,em[i]. "Registros históricos");

printf("\nPor favor presione 1 para modificar la información de esta persona; presione 0\n") sin modificación;

scanf("%d ", &n );

If (n==1)

{

printf(" \nOpciones a modificar\n 1. Empleado No. 2. Nombre 3 Título 5. Bonificación 7. Gastos varios.

Salario real\ n ");

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

scanf("%d ",&c);

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

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

}

bandera = 0;

}

}

if(bandera==1)

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

Hazlo

{

Switch(c) /*Porque después de encontrar el Ith Cuando se trata de empleados, agregué 1 después de la declaración for, por lo que necesito cambiarlo a continuación

La información está asignada a i-1 personas*/

{

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

scanf("%d ", & ampnum);

em[i-1]. >

Pausa;

Caso 2: printf("nombre cambiado a");

scanf("%s ", nombre);

strcpy (em[i-1]).

Break;

Caso 3: printf("título cambiado a"); p>

scanf("%c ", & ampzhicheng);

em[i-1]. Caso 4: printf("El salario básico cambió a");

scanf("%d ", & amp Yoshimoto);

em[i Yoshimoto = Yoshimoto;

Pausa;

Caso 5: printf("Bonus cambiado a");

scanf("%d ", & Jiangjin); dirección aquí

em[i-1]. Jiangjin = Jiangjin;

Descanso

Caso 6: printf("Seguro cambiado a"); /p>

scanf("%d", & 宝贤); //Utilice la dirección aquí

Break

Caso 7: printf("Cargos varios cambiados. to ");

scanf("%d ",& ampzafei); //Utilice la dirección aquí.

em[. i-1]. zafei = zafei

Descanso;

Caso 8: printf("salario real cambiado a");

scanf("%d " ,&"Registros históricos");

em[i-1]. Shiji = Shiji;

Pausa;

}

printf("\n");

printf("\n¿Estás seguro? ¿Desea 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 ");

Guardar (m);

Mostrar ();

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

scanf("%d ", & ampt);

Cambiar (t)

{

Caso 1: modificar(); romper;

Caso 0: romper

Predeterminado: romper

}Sistema ("cls");

}