Red de conocimientos turísticos - Información de alquiler - Preguntas sobre la programación en lenguaje C

Preguntas sobre la programación en lenguaje C

Lo principal es aprender sólidamente conocimientos básicos, como estructuras, funciones, punteros en lenguaje C… Luego aprenda algunos conocimientos sobre estructuras de datos. Cuando construyamos un sistema de consulta más grande en el futuro, tendremos una idea clara. Permítanme presentarles un sistema de consulta sobre la gestión de empleados empresariales. ¡Para referencia! De hecho, algunas ideas básicas del sistema de consulta son las mismas. Por ejemplo, consultas sobre el sistema telefónico, consultas sobre el sistema de gestión de bibliotecas, etc.

También hay una descripción específica de la función de su sistema de consulta: por ejemplo, debe poder ingresar el nombre para encontrar el número de teléfono del usuario, y el número de teléfono ingresado debería poder encontrar el número correspondiente al nombre del propietario. También debe poder insertar números de teléfono, guardar cambios en nombres y números, etc.

#include lt;stdio.hgt;

#include lt;string.hgt;

#include lt;stdlib.hgt;

#include lt;conio.hgt;

# define N 100

estructura empleado//Empleado básico

{

int num; //número de trabajador

int position; //el puesto 1 representa al presidente, 2 representa al director general, 3 representa al subdirector general, etc.

char name[8]; //nombre

char sex[2]; //género f representa mujer m representa hombre

int edad; edad

int cult; //cultura 1 representa expertos 2 representa médicos 3 representa maestrías 4 representa solteros 5 representa otros

int salario

int estado;//la salud se divide en buena, general, mala

}em[N];

estructura de comunicación//libreta de direcciones del personal

{

nombre de char[8];

char officeetel[13];

char homeel[13];

char handtel[13];

char dirección[13];

}empc[N];

struct empsalary//salario del empleado y nombre del archivo

{

nombre de char[8];

int salario;

}emps[N]; p>

gestión nula();

p>

consulta nula();

comunicación nula();

entrada nula();

visualización nula();

cambio nulo(); /p>

cuenta nula();

int cambiar posición();

int changecult();

int cambiasalario(); p>

int changestate();

void querysalary();

void creat();

void inputcommunicate();

}

}

}mientras(ngt; 0

if(!flag)

{

printf("Has alcanzado el número de entradas adiós\n");

}

}

hacer

{

printf("~ ~~~~~~~~~\t\t~~~~~~~~~~~~\n");

printf("\t\tBienvenido a la versión china del Sistema de Gestión de Empleados\n");

printf("Productor: Li Huashi\tClase: Contabilidad 034 Clase\tEscuela No.: 2003041150\n");

printf("Dirección de contacto: Facultad de Ingeniería de Guangxi\n");

printf("\n");

printf("\t Por favor elija el tipo de operación: ====\n");

printf(" = ============\t\t========= =====\n");

printf("/t\ t1 enter el sistema de gestión\n");

printf("/t\t2 ingrese al sistema de consulta\n");

printf("\t\t3 ingrese a la libreta de direcciones\ n");

printf("\t\t0 salir del sistema\n");

printf("============= == \t\t==============\n");

printf("Nota: copyright\n\n\n");

scanf("d",amp;choice);

switch(choice)

{

caso 1:

administrar ();

ruptura;

caso 2:

consulta();

ruptura

caso; 3:

comunicar();

romper;

caso 0:

{

printf (" Gracias por usar adiós \n");

exit(0);

}

predeterminado:

{

printf("Hubo un error al escribir, vuelva a escribir:\n");

return

}

}

}

}mientras(1);

}

vacío gestionar()

{

int elecciónmanage;<

char elección='y';

while(choice=='y'||choice=='Y')

{

printf("/t\t Bienvenido al sistema de gestión\n");

printf("================= = ===\n");

printf("/t\tSeleccione el tipo de operación:\Seleccione el tipo de operación: "/n");

printf ( "/t\t1Ingresando información del empleado\n");

printf("/t\t2Mostrando información del empleado\n");

printf("\t\t3Editando información del empleado \ n");

printf("\t\t3Editando información del empleado\n n");

<

p> printf("\t\t4 agregando información de un empleado\n");

printf("\t\t5 eliminando información de un empleado\n"); "\t\t6 contando la información de un empleado\n");

printf("\t\t0 regresando\n");

printf("/t\t0 regresando\n"); n");

printf("=====================\n");

scanf(" d", amp; Choicemanage);

switch(choicemanage)

{

caso 1:

printf("4 es el el gerente 5 es el subgerente, 6 es el secretario (n");

printf("7 es el técnico, 8 es el capataz, 9 es el dependiente (n");

printf("El nombre es s\ n", em[i].nombre);

printf("El género es s\n", em[i].sex);

printf("donde m es hombre y f es mujer\n");

printf("La cultura es d\n", em[i].cult);

printf("1 es experto 2 es doctorado 3 es maestría 4 es licenciatura 5 es otro\n");

printf("El salario es d\n ",em[i].salario);

printf("La condición física es d\n", em[i].state);

printf("1 buena 2 promedio 3 mala \n");

}

printf("Terminé de presionar cualquier tecla para regresar \n");

getch();

fclose(fp); >

retorno;

}

cambio nulo()

{

ARCHIVO *fp; > int i;

char chname[8];

int Choicechange;

printf("Ingrese el nombre de la persona que desea cambiar:\ n");

Escanear f("s",&chname);

if((fp=fopen("employee.txt", "w"))==NULL)

{

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

return

}

for(i=0 ; ilt; N; i )

{

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

p>

{

printf("Esta es la información de la persona que desea modificar\n");

printf("El número de trabajo es dPosición es dNombre es sexo es sEducación es dSalario es dBody es d\n", em[i].num, em[i].posición, em[i].nombre, em[i].sexo, em[i].cult, em[i ].salario,em[i].estado);

printf("---------------------- --- --------------------------------\n");

printf(" Por favor ingrese la parte que desea modificar:\n");

printf("=======================\n") ;

printf("=====================\n"); p>

printf("1 Modificar posición/ n");

printf("2 Modificar nivel educativo/n");

printf("3 Modificar salario/n" ");

printf ("4 Modificar condición física/n");

printf("0 Salir del sistema\n");

printf(" =========== ===========\n");

printf("Por favor seleccione \n");

scanf("d",amp;choicechange );

switch(choicechange)

{

caso 1:

em [i].position=changeposition();<

ruptura;

caso 2:

em[i].cult=changecult()

p>

ruptura;

caso 3:

em[i].salary=changesalary();

break

caso 4:

p>

em[i].state=changesalary();

descanso;

caso 0:

retorno

> predeterminado:

printf("Hubo un error con la entrada");

}

fwrite(amp; em[ i], sizeof(struct empleado), 1, fp);

}

}

}

fclose(fp); > printf("Operación completa, presione cualquier tecla para regresar \n");

getch()

return

}

int cambio de posición()

{

int nueva posición;

imprimir

f("Ingrese el nuevo puesto:\n");

printf("1 es el presidente, 2 es el gerente general, 3 es el subdirector general\n");

printf ("4 es el gerente, 5 es el subgerente y 6 es la secretaria\n");

printf("7 para el técnico 8 para el capataz 9 para el personal\ n");

scanf("d",& nueva posición);

return(nueva posición);

}

int changecult ()

{

int newcult;

printf("Ingrese un nuevo diploma:\n");

printf( "1 representa experto 2 representa médico 3 representa maestro 4 representa soltero 5 representa otros\n");

scanf("d", amp;

return(newcult) ;

}

int changesalary()

{

int newsalary;

printf("Por favor, ingrese tu nuevo salario:\n");

scanf("d", amp; newsalary);

return(newsalary);

}

}

int changestate()

{

int newstate;

printf("Ingrese su condición física actual :\n");

printf("1 bueno 2 para promedio 3 para pobre \n");

Escanear f("d", amp; newstate);

Regresar (newstate) ;

}

void add()/Agregar información de un empleado

{

estructura empleado emp;

ARCHIVO *fp;

int i=0;

if((fp=fopen(" empleado.txt", "ab ") )==NULL)

{

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

getch(); > return;

}

printf("¿Podría escribir nueva persona:\n"

printf("Ingrese el número de trabajo: \n"); //ingrese el número del trabajo

scanf("d",amp; emp.num);

printf("Ingrese el título del trabajo:\n" ); //ingrese el título del trabajo

imprimir

f("1 es el presidente de la junta directiva 2 es el gerente general 3 es el subgerente general\n");

printf("4 para el gerente 5 para el subgerente 6 para el secretario\n") ;

printf("7 para Técnico 8 para Capataz 9 para Empleado\n"

scanf("d", amp; emp.position

<); p> printf("Ingrese el nombre:\n"); //ingrese el nombre

scanf("s", emp.name);

printf("Ingrese el género con m como hombre y f como mujer:\n"); //ingrese el género

scanf("s", emp.salary);

printf("Por favor ingrese su condición física :\n"); //condición física

printf("1 bueno 2 para promedio 3 para pobre\n");

scanf("d", amp; emp. estado);

fwrite(amp; emp, sizeof(estructura empleado), 1,

rewind(fp); Completado, presione cualquier tecla para regresar");

getch();

fclose(fp);

return;

}

void del()//eliminar la información de un empleado

{

int i=0;

char delname[8];

ARCHIVO *fp;

if((fp=fopen(" empleado.txt", "w"))==NULL)

{

printf("El archivo está vacío, no se puede abrir \n");

printf("Presione cualquier tecla para regresar

getch();

return;

}

printf("Ingrese el nombre de la persona que desea eliminar:\n"); //información sobre la persona eliminada. empleado

scanf("s", delname);

for(i=0; fread(amp; em[i], sizeof(struct empleado), 1, fp)! =0; i )

{

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

fwrite(amp; em[ i], tamaño de (estructura empl

oyee), 1, fp);

}

fclose(fp);

if((fp=fopen("empleado.txt", "r "))==NULL) //Muestra la información del nuevo empleado

return;

printf("La información del nuevo empleado es:\n");

for(i=0; fread(amp; em[i], sizeof(estructura empleado), 1, fp)!=0; i )

{

printf ("Número de trabajo d", em[i].num);

printf("La posición es d", em[i].posición);

printf("1 es El presidente 2 es el director general, 3 es el subdirector general\n");

printf("4 es el director, 5 es el subdirector y 6 es el secretario\n");

printf( "7 es técnico, 8 es capataz, 9 es empleado\n");

printf("El nombre es s", em[i].nombre[8]) ;

printf( "El género es s", em[i].sex[2]

printf("donde m es masculino y f es femenino"); p>

printf("La cultura es d", em[i]. Cultura);

printf("1 es un experto, 2 es un médico, 3 es un maestro, 4 es un soltero , 5 es otro (n)");

printf ("El salario es d", em[i].salario);

printf("La condición física es d", em [i].state);

printf("1 bueno 2 promedio 3 pobre \n"); p>

}

recuento nulo()

{

ARCHIVO *fp

int i=0

int num=0; //recuento total

int mnum=0, fnum=0; //recuento de género

int expernum=0, doctorornum=0, masternum=0, bechelornum=0, othernum=0; //Número de grados

int dsznum=0, zglnum=0, fzglnum=0, glnum=0, fglnum=0;

int mishunum=0, jsynum=0, lbnum=0, ygnum=0;

if((fp=fopen("employee.txt", "r"))= =NULL)

{

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

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

getch();

retorno ;

}

hacer

{

fread(amp; em[i], sizeof(estructura empleado), 1, fp

if(feof(fp) )

descanso

num ;

if(strcmp(em[i].sex, "m")==0)

mnum ;

if(strcmp(em[ i].sex, "f")==0)

fnum;

if(strcmp(em[i].cult==1)

expernum ;

if(em[i].cult==2)

doctornum ;

if(em[i].cult==3)

masternum ;

if(em[i].if(em[i].cult==4)

bechelornum ;

if(em[i].cult=5)

othernum;

if(em[i].position==1)//estadísticas de posición

dsznum ;

if(em[i].position==2)

zglnum ;

if(em[i].position==3)

fzglnum ;

if(em[i].position==4)

glnum

if(em[i]. posición==5)

fglnum;

if(em[i].position==6)

mishunum;

si (em[i].position==7)

jsynum ;

if(em[i].position==8)

lbnum ;

p>

if(em[i].position==9)

ygnum

i

} while( 1);

p>

printf("El número total de hombres es d\n",num);

printf("==== clasificación de género =====\ n");

printf("El número de hombres es d\n", mnum);

printf("El número de mujeres es d\n", fnum);

printf( "====== Clasificación del diploma =====\n");

printf("El número de especialistas es d\n", expernum);

printf(" El número de doctorados es d\n",doctornum);

printf("El número de maestrías es d\n",masternum);

printf ("El número del soltero es d\n ",bechelornum);

printf("El número del otro es

d\n", othernum);

printf("====== clasificación del trabajo ========\n");

printf("El el número del presidente es d\n", dsznum);

printf("El número del director general es d\n", zglnum);

printf("El número del vicepresidente el gerente general es d", fzglnum);

printf ("El número de gerentes es d", glnum);

printf ("El número de subgerentes es d", fglnum);

printf ("El número de secretarias es d", mishunum);

printf ("El número de técnicos es d", jsynum); El número de capataces es d", lbnum);

printf ("el número de empleados es d", ygnum);

fclose(fp);

retorno;

}

p>

consulta nula()

{

ARCHIVO *fp; p> int i=0;

char quename[ 8];

if((fp=fopen("employee.txt", "r"))==NULL)

{

printf(" No se puede abrir el archivo, presione cualquier tecla para regresar \n"); return;

}

printf("Ingrese el nombre de la persona que desea consultar \n"); "s", quename);

for(i =0; fread(amp; em[i], sizeof(estructura empleado), 1, fp)! =0; i )

{

if(strcmp(em[i ].name, quename)==0)/*Buscar y mostrar registros de empleados*

{

printf("/t\t/n consultó el número de empleado o la información del nombre de la siguiente manera:\n");

printf("La siguiente es la información de la persona que desea consultar \n");

printf("Trabajador número d",em[i].num);

printf("La posición es d", em[i].posición);

printf("\t1 es el presidente 2 es el director general 3 es el subdirector general\n ");

printf("\t4 es el director 5 es el subdirector 6 es el secretaria\n");

printf("\t7 es el técnico 8 Para capataz 9 Para empleado\n");

printf("El nombre es s", em[i ].nombre);

printf("El género es s"

, em[i].sex);

printf("\t donde m es hombre y f es mujer");

printf("La cultura es d", em[i ].cult);

printf("\t1 es experto 2 es doctorado 3 es maestro 4 es licenciado 5 es otro \n"); , em[i].salario);

printf("La condición física es d", em[i].estado);

printf("\n"); p>

printf("Consulta completa, presione cualquier tecla para regresar \n");

getch()

fclose(fp>);

return;

}

}

printf("No existe esa persona, presione cualquier tecla para regresar \n"); p> getch();

fclose(fp);

return;

return >}

void querysalary()

{

int i

ARCHIVO *fp1, *fp2;

creat(); (fp1 =fopen("empleado.txt", "w "))==NULL )

return

for(i=0; fread(amp; em[i] , sizeof (estructura empleado), 1, fp1)! =0; i )

{

printf("El resultado de salida es:/n");

printf("Número de trabajo d", em[i].num);

printf("La posición es d", em[i].position

printf("); 1 es el presidente 2 es el director general, 3 es el subdirector general\n");

printf("4 es el director, 5 es el subdirector y 6 es el secretario\n") ;

printf(" 7 es técnico, 8 es capataz, 9 es empleado\n");

printf("El nombre es s", em[i].nombre[8] ]);

printf("El género es s", em[i].sex[2]);

printf("donde m es masculino y f es femenino");

printf("El nivel educativo es d", em[i].cult);

printf("1 es experto, 2 es médico, 3 es maestro, 4 es soltero, 5 es otro/n");

printf( "El salario es d", em[i].salario);

printf("La condición física es d" ,em[i].state);

printf("1 es g

bueno 2 es promedio 3 es pobre\n");

strcpy(emps[i].name, em[i].name);

emps[i].salary= em[i].salario;

}

if((fp2=fopen("empsalary.txt", "w"))==NULL)

Retorno;

for(i =0; ilt; N; i )

fwrite(amp; emps[i], sizeof(struct empsalary), 1, fp2); /p>

fclose(fp1);

fclose(fp2

}

void creat()

{

ARCHIVO *fp;

if ((fp=fopen("employee.txt", "w "))==NULL)

return;

input();

fclose(fp);

}

comunicación nula()

{

int Choicecommunicate;

printf("Bienvenido al sistema de libreta de direcciones\n");

printf("Elija el tipo de operación:\n"); p>

printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); >

printf("1 se usa para ingresar información de la libreta de direcciones/n");

printf("2 se usa para consultar información de la libreta de direcciones/n"); printf( "3 se usa para modificar la información de la libreta de direcciones/n");

printf("3 se usa para cambiar la información de la libreta de direcciones/n n"); "0 se utiliza para salir del sistema de libreta de direcciones/n");

printf("~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ ~~~~\n");

scanf("d",amp;choicecommunicate);

switch(choicecommunicate)

{

caso 1:

inputcommunicate();

descanso

caso 2:

querycomunicar ();

romper

caso 3:

cambiar comunicar();

romper

caso 0:

{

printf("Gracias por usar Adiós\n");

printf("Presione cualquier tecla para regresar\n") ;

getch();

retorno

}

predeterminado:

printf("Error de entrada \n");

p>

}

}

}

void inputcommunicate()

{

ARCHIVO *fp;

int Choiceincom='y'; p>

int i=0;

if((fp=fopen("empcom.txt", "w"))==NULL)

{

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

printf("Cualquier clave devuelve \n"); >

return;

}

printf("Ingrese la información de su libreta de direcciones:\n"); 'y '||choiceincom=='Y')

{

i;

printf("dth empleado\n", i);

printf("Por favor, introduzca su nombre:\n");

scanf(" s", empc[i].name);

printf("Por favor ingrese el número de teléfono de la oficina:\n");

scanf("s", empc[i].officetel);

printf("Por favor, ingrese el número de teléfono de casa:\n"

scanf ("s", empc[i].hometel);

printf("Por favor, introduzca su número de teléfono móvil:\n"); p> scanf("s", empc[i].handtel);

printf("Ingrese su dirección:\n");

scanf("s ", empc [i ].address);

printf("¿Continúas escribiendo?(s/n)/n");

Choiceincom=getch();

fwrite(amp;empc[i],sizeof(struct comunicación),1,fp);

}

if(toupper(choiceincom)=='N')

{

fclose(fp);

printf("Ingreso completo, cualquier clave devuelve \n"); /p >

}

}

printf("No se puede abrir el archivo, presione cualquier tecla para regresar \n"); () ;

return;

}

printf("Ingrese el nombre de la persona que desea consultar:\n");

scanf("s", nombreqc);

for(i=0; fread(amp; empc[i], sizeof(estructura comunicación), 1, fp)!=0; i )

{

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

{

printf("La siguiente es la información que usted solicitó : \n");

printf("El nombre es s\n", empc[i]. nombre);

printf("El número de teléfono de la oficina es s\n", empc [i].officetel);

printf("El número de teléfono particular es s\n", empc[i].hometel);

printf("El número de teléfono celular es s \ n", empc[i].handtel);

printf("La dirección particular es s\n", empc[i].address);

printf("Consulta completa , presione cualquier tecla para regresar \n");

getch();

fclose(fp);

return;

}

}

printf("No existe esa persona, presione cualquier tecla para regresar \n"); > fclose(fp);

retorno

retorno

}

void changecommunicate()

{

ARCHIVO *fp;

int i=0;

char chcname[8]; >

if((fp=fopen("empcom.txt" , "w "))==NULL)

{

printf("No se puede abrir el archivo, presione cualquier clave para devolver \n");

getch();

return;

}

printf("Por favor, introduzca el nombre de la persona que desea modificar: \n");

scanf("s", chcname);

for(i=0; fread(amp; empc[i ] ,sizeof(estructura de comunicación),1,fp)! =0; i )

{

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

{

printf("Aquí está la información sobre la persona que estás modificando:\n");

printf("El nombre es s\n", empc[i] .name);

printf("El número de teléfono de la oficina es s\n", empc[i].officetel);

printf("El número de teléfono de casa es s\n", empc[i].hometel); >

printf("El número de teléfono celular es s\n", empc[i].handtel

printf("La dirección de casa es s\n", empc[i].address);

printf("Por favor, elija lo que desea cambiar:\n");

printf("$$$$$$$$$$$$$$$$ $$$$$$$$$$$ $$$$$$$$$$$\n");

printf("1 Modificar número de teléfono de oficina/n");

p>

printf("2 Modificar número de teléfono particular/n");

printf("3 Modificar número de teléfono móvil/n"); ("0 Salir del sistema /n").

printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$ $$$$$$$$$\n");

scanf("d",amp;choicecom);

switch(choicecom)

{

caso 1:

changetel1();

descanso

caso 2:

cambiartel2( );

romper

caso 3:

cambiartel3(); >

caso 0:

retorno

Valor predeterminado:

printf("Error de entrada \n");

}

}

}

}

void changetel1()<

{

printf("Refiriéndose a lo anterior, hay tiempo para recuperar \n nuevamente"

}

void changetel2()

);

{

printf("refiriéndose a lo anterior \n");

}

void changetel3()

{

printf("consulte \n arriba");

}

=================== ====== ======================

Grupo de entusiastas de la programación: 24410693 ¡Cualquier persona interesada en el lenguaje C puede postularse para unirse!