Red de conocimiento informático - Material del sitio web - Preguntas sobre programación en lenguaje C para estudiantes de segundo año

Preguntas sobre programación en lenguaje C para estudiantes de segundo año

La mayor parte del código siguiente es similar al suyo, ¡solo como referencia!

/*Para llamar a funciones como ARCHIVO*/

#include "stdio.h"

#include "conio.h"

/* Para llamar a funciones como atof()*/

#include "stdlib.h"

#define TRUE 1

/* Declaración de estructura* /

struct zhigong

{

int mes

float id; flotar jbgz

int mes; p>

flotar jt;

flotar gt

flotar bt; ;

flotar jtbt;

flotar bt; p>

flotar yfs;

flotar fz; /p>

flotar hf;

flotar grsds;

flotar cx; p>

flotar yks; >

};

/* Crea una matriz de estructura de 50 elementos*/

struct zhigong zg[50]

/* Crea una variable de estructura; */

struct zhigong zgone

/* Número en la lista de personal */

int n=0

/* Obtener cadena*/

char numstr[50]

main()

{

char ch; p> n=0;

/*rfile(); El sistema cargará registros automáticamente*/

while(TRUE)

{

printf("\n");

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

printf("¡Bienvenido! Por favor, elija (1-6): \n");

printf("1.Agregar una información \n");

printf ("2.Eliminar una información \n");

printf("3.Modificar una información \n"); n");

printf("4.Imprimir por id \n ");

printf("5.Imprimir todo \n");

printf("6.Guardar fecha \n");

printf ("7.Cargar fecha \n");

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

ch=getche();

cambiar(ch)

{

<

p> caso '1': addone(); romper;

caso '2': borrar();

caso '3': modone(); /p>

caso '4': IDone(); descanso

caso '5': listall();

caso '6': wfile(); ; romper;

case '7': rfile(); break;

case '8': return

default: printf("Lo siento, por favor; ¡elección otra vez!\n");

}

}

}

/*Calcular el impuesto sobre la renta personal*/

flotar tgrsds(flotar m)

{

flotar sui1, sui2, sui3

flotar tmp; = 0; sui2=0; sui3=0;

if(mgt;=5000)

{

sui1=(m-5000)*0.2;

sui2=(5000-1000)*0.1;

sui3=(1000-800)*0.05;

}

else; if (mgt;=1000 amp;amp;mlt;5000)

{

sui2=(m-1000)*0.1

sui3=(1000; - 800)*0.05;

}

si no (mgt; =800 amp; amp; mlt; 1000)

{

sui3=(m-800)*0.05;

}

tmp=sui1 sui2 sui3

return(tmp); > }

/* Agregar información salarial del empleado*/

addone(void)

{

printf("\n") ;

printf("Nº de registro d \n", n 1

printf("Por favor, introduzca el mes: \n"); gets(numstr);

zg[n].month=atoi(numstr);

printf("Por favor, ingrese zhigongbianhao: \n"); >gets(numstr);

zg[n].id=atof(numstr);

printf("Por favor, ingrese jibengongzi: \n"); p>gets(numstr);

zg[n].jbgz=atof(numstr);

printf("Por favor, ingrese jintie: \n");

gets(numstr);

zg[n].jt=atof(numstr);

printf("Por favor, introduzca gangti

e: \n");

gets(numstr);

zg[n].gt=atof(numstr);

printf("Por favor, escriba en butie: \n");

gets(numstr);

zg[n].bt=atof(numstr);

printf("Por favor poner colmillo: \n");

gets(numstr);

zg[n].ft=atof(numstr);

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

gets(numstr);

zg[n].jtbt=atof(numstr);

zg[ n].yfs=(zg[n].jbgz) (zg[n].jt) (zg[n].gt) (zg[n].bt) (zg[n].ft) (zg[n] .jtbt);

printf("Por favor, ingrese fangzu: \n");

gets(numstr); atof(numstr);

printf("Por favor, ingrese chuxu: \n");

gets(numstr); =atof(numstr);

printf("Por favor, ingrese huifei: \n");

gets(numstr); hf=atof(numstr);

zg[n].grsds=tgrsds(zg[n].yfs;

zg[n].yks=(zg[n]); .fz) (zg[n].cx) (zg[n].hf) (zg[n].grsds);

zg[n].sfs=(zg[n].yfs); -(zg[n].yks);

n;

}

/*Eliminar registro personal*/

delone( vacío)

{

struct zhigong tmp[50]

float zhigongid

int j, k

int flagfind;

flagfind=0;

k=0;

printf("\n Por favor, ingrese zhigongbianhao: \n");

gets(numstr);

zhigongid=atof(numstr);

for(j=0;jlt;=n;j)

{

if(zg[j].id==zhigongid)

{

flagfind=1

}

más

{

tmp[k]=zg[j]

k;

}

if(flagfind==1)

{

for(j=0;jlt;=

(n-1); j )

{

zg[j]=tmp[j]

}

printf( "\n ¡Registro eliminado! \n");

n=n-1

}

else

{

printf("\n ¡Registro no encontrado! \n");

}

return

}

/*Modificar registro personal*/

modone(void)

{

float zhigongid

int j

int flagfind;

flagfind=0;

printf("\n Por favor ingrese zhigongbianhao: \n");

zhigongid=atof(numstr);

for(j=0;jlt;=n;j)

{

if(zg[j].id==zhigongid)

{

printf("NO.:d\n",j

printf); ("mes: d\n", zg[j].mes);

printf("zhigongbianhao10.0f\n", zg[j].id

printf); ("jibengongzi: 10.2f\n", zg[j].jbgz);

printf("Por favor, ingrese jibengongzi: \n");

zg[j].jbgz=atof(numstr);

printf("jintie:10.2f\n",zg[j].jt); p> printf("Por favor, introduzca jintie: \n");

gets(numstr);

zg[j].jt=atof(numstr);

printf("gangtie: 10.2f\n", zg[j].gt);

printf("Por favor, ingrese gangtie: \n"); (numstr);

zg[j].gt=atof(numstr);

printf("butie:10.2f\n",zg[j].bt); /p>

printf("Por favor, ingrese butie: \n");

gets(numstr);

printf("fangtie: 10.2f\n", zg[j].ft);

printf("Por favor, ingrese fangtie: \n");

gets(numstr);

zg[j].ft=atof(numstr);

printf("jiaotongbutie:10.2f\n",

zg[j].jtbt);

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

gets(numstr); ].jtbt=atof(numstr);

zg[j].yfs=(zg[j].jbgz) (zg[j].jt) (zg[j].gt) (zg[ j].bt) (zg[j].ft) (zg[j].jtbt);

printf("fangzu:10.2f\n",zg[j].fz

p>

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

gets(numstr);

zg[j].fz=atof; (numstr);

printf("chuxu: 10.2f\n", zg[j].cx

printf("Por favor, ingrese chuxu: \n");

gets(numstr);

zg[j].cx=atof(numstr);

printf("huifei:10.2f\n",zg); [j].hf );

printf("Por favor, ingrese huifei: \n");

gets(numstr); .hf=atof( numstr);

zg[j].grsds=tgrsds(zg[j].yfs);

zg[j].yks=(zg[j); ].fz) ( zg[j].cx) (zg[j].hf) (zg[j].grsds

zg[j].sfs=(zg[j].yfs); )-(zg[ j].yks);

flagfind=1

}

más

{

flagfind= 0;

}

}

if(flagfind==0)printf("\n ¡No se puede encontrar el registro! \n" );

return;

}

/*Buscar registros aleatoriamente en la memoria según la identificación*/

idone(void)

{

float zhigongid

int j;

int flagfind

flagfind=0; p>

printf("\n Por favor ingrese zhigongbianhao: \n");

gets(numstr);

zhigongid=atof(numstr);

for( j=0;jlt;=n;j)

{

if(zg[j].id==zhigongid)

{

printf("\n d registro encontrado! \n |", j 1;

printf("mes: d |", zg[j].mes); /p>

printf("zhigongbianhao10.0f |", zg[j].id

);

printf("jibengongzi: 10.2f |", zg[j].jbgz

printf("jintie: 10.2f |", zg[j].jt); );

printf("gangtie: 10.2f |", zg[j].gt

printf("butie: 10.2f |", zg[j].bt); );

printf("fangtie:10.2f |",zg[j].ft);

printf("jiaotongbutie:10.2f |",zg[j].jtbt); );

printf("yingfashu: 10.2f |", zg[j].yfs

printf("fangzu: 10.2f |", zg[j].fz); );

printf("chuxu:10.2f |",zg[j].cx);

printf("huifei:10.2f |",zg[j].hf); );

printf("gerensuodeshui:10.2f |",zg[j].grsds);

printf("yingkoushu:10.2f |",zg[j].yks);

printf("shifashu:10.2f\n", zg[j].sfs

flagfind=1

}

else

{

flagfind=0;

}

}

if(flagfind ==0)printf("\n ¡No se puede encontrar el registro! \n");

return

}

/* Muestra los registros de todos. empleados en el mes actual Información salarial*/

listall(void)

{

int j

if(nlt; 1; )

{

printf("\n ¡Sin registro! \n");

}

else

{

p>

for(j=0;jlt;n;j)

{

printf("\n NO: d |", j 1);

printf("mes: d |", zg[j].mes);

printf("zhigongbianhao10.0f |", zg[j ].id);

printf("jibengongzi: 10.2f |", zg[j].jbgz

printf("jintie: 10.2f |", zg[j); ].jt);

printf("gangtie: 10.2f |", zg[j].gt);

printf("butie: 10.2f |", zg[j); ].bt);

printf("fangtie: 10.2f |", zg[j].ft);

printf("jiaotongbutie: 10.2f |", zg[j]. ].jtbt);

printf("y

ingfashu: 10.2f |", zg[j].yfs);

printf("fangzu: 10.2f |", zg[j].fz);

printf(" chuxu: 10.2f |", zg[j].cx);

printf("huifei: 10.2f |", zg[j].hf);

printf(" gerensuodeshui: 10.2f | ", zg[j].grsds);

printf("yingkoushu: 10.2f |", zg[j].yks);

printf(" shifashu: 10.2f\n", zg[j].sfs);

}

}

}

/* Todo los registros se escriben desde la memoria al disco gongzi.rec*/

wfile(void)

{

FILE *fptr

printf; ("\n Fecha de guardado... \n");

if(nlt; 1)

{

printf("\n ¡Sin registro! \n");

return;

}

if((fptr=fopen("gongzi.rec","wb"))= =NULL )

printf("¡No se puede abrir el archivo gongzi.rec! \n");

else

{

fwrite (zg). , sizeof(zg[0]), n, fptr);

fclose(fptr);

printf("¡Archivo de d registros escritos! \n", n ); /p>

}

}

/* Leer todos los registros del disco gongzi.rec en la matriz gz*/

rfile( void)

{

ARCHIVO *fptr;

n=0;

printf("\n Fecha de carga... \ n");

if((fptr=fopen("gongzi.rec","rb"))==NULL)

printf("¡No se puede abrir el archivo gongzi.rec! \n"

else

{

while(fread(amp;zg[n], sizeof(zg[n]), 1, fptr)== 1)

n ;

fclose(fptr);

printf("¡Total d registros leídos! \n",n); p> }

}