Escribir un programa de gestión salarial de empleados en lenguaje C
Idea:
Utilizar una estructura para guardar información de los empleados, diseñar una función separada, implementar entradas, ordenar por salario de los empleados, descomponer empleados pares e impares, leer y escribir archivos y mostrar funciones de datos.
1 - Ingrese información desde el teclado en una estructura de matriz y guárdela en un archivo, ingrese + escriba en el archivo.
2 - Leer los datos del archivo del disco, imprimirlos en secuencia, leer el archivo + mostrar los datos.
3 - Ordene los datos de los empleados por salario, almacene los registros ordenados en el archivo trabajador2.dat, ordene + escriba en el archivo.
4 - Almacene la información de los empleados con números pares e impares en los otros dos archivos de disco, trabajador3.dat y trabajador4.dat respectivamente, y descomponga los empleados pares e impares + escriba en el archivo.
5 - Y leer la información del empleado de estos dos archivos y mostrarla en el monitor, leer el archivo + mostrar los datos.
El fragmento de código es el siguiente: int?main(int?argc,?char*?argv[])
{
worker?arr[WORKER_NUMBER ];
int?cnt?=?WORKER_NUMBER;
trabajador?odd[WORKER_NUMBER];
int?oddnum?=?0;
trabajador?par[NÚMERO_TRABAJADOR];
int?evennum?=?0;
clear_worker_array(arr,?cnt);
clear_worker_array(impar ,?cnt );
clear_worker_array(even,?cnt);
//1. Ingrese y guarde en trabajador1.dat
entering_data(arr,? cnt);
if(?save_file(arr,?cnt,?nombre de archivo[0])?==?0?)
{
printf( "Registro original ¿Se guardó correctamente en el archivo?-?%s\n",?filename[0]);
}
//2 Leer trabajador1.dat y mostrarlo<. /p >
clear_worker_array(arr,?cnt);
if(?load_file(arr,?&cnt,?nombre de archivo[0])?==?0?)
{
printf("¿Cargar archivo?-?%s\n",?nombre de archivo[0]);
}
show_data(arr,? cnt );
//3. Ordenar y guardar en trabajador2.dat
sort_by_salary(arr,?cnt);
if(?save_file(arr, ? cnt,?filename[1])?==0?)
{
printf("Los registros ordenados por salario se han guardado correctamente en el archivo?-?%s \n ",?filename[1]);
}
//4. Guarde la información del número de empleado par e impar en trabajador3.dat y trabajador4.dat
filter_workers(arr,?cnt,?impar,?&oddnum,?par,?&evennum);
if(?save_file(impar,?oddnum,?nombre de archivo[2])?==?0 )
{
printf("¿Los registros con números de empleados impares se han guardado correctamente en el archivo?-?%s\n",?filename[2]);
}
if(?save_file(even,?evennum,?filename[3])?==?0?)
{
printf ("¿Los registros con números pares de empleados se han guardado correctamente en el archivo?-?%s\n",?filename[3]);
}
// 5. Lea Obtener trabajador3.dat y trabajador4.dat y muestre
clear_worker_array(odd,?oddnum);
oddnum?=?0;
if( ?load_file( impar,?&oddnum,?nombre de archivo[2])?==?0?)
{
printf("¿Cargar archivo?-?%s\n", ?nombre de archivo [2]);
}
show_data(impar,?od
dnum);
clear_worker_array(par,?oddnum);
evennum?=?0;
if(?load_file(par,?&evennum,?nombre de archivo [3])?==?0?)
{
printf("¿Cargar archivo?-?%s\n",?nombre de archivo[3]); p >
}
show_data(even,?evennum);
return?0;
}
Para mayor comodidad durante las pruebas, la macro aquí solo especifica la información de 5 empleados. Si desea cumplir con sus requisitos, simplemente cámbiela a 10. Los resultados de ejecución son los siguientes:
Para obtener el código completo, consulte el archivo adjunto -?worker_manager.c
: de never715