Red de conocimiento del abogados - Preguntas y respuestas sobre la Ley de patentes - Sistema de gestión del desempeño estudiantil (lenguaje C)

Sistema de gestión del desempeño estudiantil (lenguaje C)

#includelt;stdio.hgt;

#includelt;stdlib.hgt;

#includelt;string.hgt;

# includelt; windows.hgt;

#define NUM_SUBJECT 4

typedef struct zl

{

char no[5]; Número de estudiante*/

char nombre[6]; /*Nombre*/

int puntuación[NUM_SUBJECT] /*Puntuaciones de cada materia*/

float total; /*Puntuación total*/

promedio flotante /*Puntuación promedio*/

int orden;

int REC_NUM=0; /*Número de expedientes estudiantiles*/

char*subject[]={"Matemáticas", "Computación", "Física", "Ingeniería eléctrica" } ;

char*menu[]={"***************MENU******************",

p>

"1. Ingresar nuevo registro",

"2. Mostrar registro",

"3. Buscar registro",

"4 . Modificar registro",

"5. Eliminar un registro a la lista",

"6. Agregar un registro a la lista",

"7. Ordenar para crear un archivo nuevo",

"8. Guardar el archivo",

"9. Cargar el archivo",

"10. Salir"};

registros de ESTUDIANTE[10];

void newRec();

void showTable();

void showTable2 (Iint);

void display();

void searchRec();

void modificarRec();

void deleteRec( );

p>

void addRec();

void orderRec();

void sortRec();

void saveRec();

void loadRec();

void copyRec(ESTUDIANTE*, ESTUDIANTE*);

void quit();

int menu_select();

int findRec(char*, int, int

void main()

{

<); p>sistema("cls

");

para(;;)

{

cambiar(menu_select())

{

caso 1: newRec(); break;

caso 2: display();

caso 3: searchRec(); 4: modificarRec(); romper;

caso 5: borrarRec();

caso 6: agregarRec(); sortRec(); romper;

caso 8: saveRec(); romper;

caso 9: loadRec(); romper );

}

}

}

int menu_select()

{

char s[3];

int c, i;

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

{

printf("s", menú[i]);

}

ventana(1, 1, 80, 25);

{

printf(" Ingrese su elección(1-10): ";

scanf("s",

);

c=atoi(s);

} while(clt;0||cgt;11);

return c;

}

void showTable1()

{

system("cls");

printf("********* *** ********INFORMACIÓN DEL ESTUDIANTE******************");

printf("D?D?D?D? D?D ?D?D?D?D\n");

printf("|Rec | No | Nombre | Computadora | Física | Inglés | total | Promedio | Orden\n");

printf("?¨¤?¨¤?¨¤?¨¤?¨¤?¨¤?¨¤?¨¨\n");

}

void showTable2(int n)

{

if(n==0)n=1;

if(REC_NUM==0)n =-1 ;

printf("?\n");

}

void quit()

{

char str[5];

printf("¿Guardar registros?(S/N)");

scanf("s", str

if(str[0]=='Y'||str[0]=='y')

saveRec();

> salir(0);

}

void newRec()

{

int i, j, suma;

system("cls");

printf("Ingrese REC_NUM: ");

scanf("d",amp; REC_NUM); >

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

{

system("cls");

suma=0;

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

{

scanf("d",amp;records[i].score[j ]);

suma=suma registros[i].puntuación[j]

}

registros[i].total=suma

registros[i].average=registros[i].total/NUM_SUBJECT

registros[i].order=0

}

}

visualización nula()

{

int i=0

showTable1(); > for(i=0;ilt;REC_NUM;i)

{

printf("|2d |4s |6s?4d | 4d | 4d | 5.1f | 5.1f | 2d \n", i 1, registros[i].no, registros[i].nombre, registros[i].puntuación[0], registros[i].puntuación[1], registros[i].puntuación[2 ], registros[i].puntuación[3], registros[i].total, registros[i].promedio, registros[i].orden

}

showTable2); (i);

printf("¡Presione cualquier tecla para regresar!"); saveRec()

{

ARCHIVO*fp1, *fp2;

if((fp1=fopen("d:\\cjt\\tc\\ lianxiti\\keshe\\keshe.dat", "wb"))==NULL)

{

printf("¡No se puede abrir este archivo!");

salir(1);

}

if((fp2=fopen("d:\\cjt\\tc\\lianxiti\\keshe\\keshe.dat ", "wb"))==NULL)

{

printf("¡No se puede abrir este archivo!");

exit(1);

}

printf("\nGuardando archivo......\n");

fwrite(amp; REC_NUM, tamaño de

(REC_NUM), 1, fp2);

fwrite(registros, tamaño de(ESTUDIANTE), REC_NUM, fp1);

fclose(fp1); >

printf("n\¡Guardado exitoso!!\n"); retraso(1000);

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

getch();

}

void loadRec()

{

ARCHIVO*fp1, *fp2;

if((fp1=fopen("d:\\cjt\\tc\\lianxiti\\keshe\\keshe.dat", "rb"))==NULL)

{

printf("¡No se puede abrir este archivo!");

exit(1);

}

if((fp2=fopen(); "d:\\cjt\\tc\\lianxiti\\keshe\\keshe.dat","rb"))==NULL)

{

printf("No se puede ¡abre este archivo!");

exit(1);

}

system("cls");

printf( "\nCargando archivo....\n");

fread(amp; REC_NUM, sizeof(REC_NUM), 1, fp2;

fread(records, sizeof( ESTUDIANTE); ), REC_NUM, fp1);

fclose(fp1); fclose(fp2);

demora(2000);

printf("\nTienes éxito leer fecha del archivo!!!\n");

printf("\presione cualquier tecla para regresar!");

getch();

}

void searchRec()

{

char str[20];

int i;

system("cls");

printf("Ingrese el número que desea obtener:");

scanf("s", str);

i=findRec(str, 1, 0);

if(i!=-1)

{

printf("|2d | 4s | 6s | 4d | 4d | 4d | 5.1f | 2d \n", registros[i].no, registros[i]. [i].puntuación[1], registros[i].puntuación[2], registros[i].puntuación[3], registros[i].total, registros[i].promedio, registros[i].orden) ;

mostrar

Table2(0);

}

else printf("¡No se encuentra!\n");

printf("¡Presione cualquier tecla para regresar!") ;

getch();

}

void deleteRec()

{

int i, j ;

char str[20];

system("cls");

printf("Ingrese el número que desea eliminar:");

scanf("S", str);

i=findRec(str, 1, 0

for(j=i; jlt; REC_NUM); ;j )

registros[j]=registros[j 1];

REC_NUM--;

saveRec();

}

void copyRec(ESTUDIANTE*src, ESTUDIANTE*dest)

{

int i;

strcpy(dest-gt; no, src-gt; no);

strcpy(dest-gt; nombre, src-gt; nombre

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

destino-gt; puntuación[i]=src-gt; puntuación[i];

destino-gt; > dest-gt; promedio=src-gt; promedio;

dest-gt; orden=src-gt;

}

void orderRec( )

{

int i;

registros[0].order=1

for(i=1; ilt; REC_NUM; i )

if(registros[i].total==registros[i-1].total)

registros[i].order=registros[i-1] .order;

else

registros[i].order=i 1;

}

void sortRec()

{

int i, j, bandera;

ESTUDIANTE t

sistema("cls"); printf("\nclasificar archivo\n");

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

{

flag=0;

for(j=REC_NUM-1;jgt;i;j--)

if(records[j].totalgt;records[j-1].total)

{

copiarRec(amp; registros[j],amp;t);

copiarRec(amp;reco

rds[j-1],amp;records[j]);

copyRec(amp;t,amp;records[j-1]);

flag=1;

}

if(!flag) break

}

orderRec()

retraso(2000);

printf("\nclasificación exitosa\n");

saveRec()

}

int findRec(char); *destino, int tarType, int de)

{

int i

para (i=de; ilt; REC_NUM; i )

{

if((tarType==1amp; amp; strcmp(destino, registros[i].no)==0)

||tarType==2amp; amp;strcmp(destino, registros[i].nombre)==0)

return(i);

}

return(-1);

}

void modificarRec()

{

int i, j, suma

char no; [20], str[8];

system("cls");

printf("Ingrese el número que desea modificar: "); p> scanf("s", no);

i=findRec(no, 1, 0

showTable1(); | 2d | 4s | 6s |4d |4d | 4d | 4d | 5.1f|2d |\n",i 1,registros[i].no,registros[i].nombre [0], registros[i].puntuación[1], registros[i].puntuación[2], registros[i].puntuación[3], registros[i].total, registros[i].promedio, registros[ i].order);

showTable2(0);

printf("¿Quieres modificar este estudiante(Y/N):");

scanf("s", str);

if(str[0]=='y'||str[0]=='Y')

{

printf("ingrese número:");scanf("s", registros[i].no);

printf("ingrese nombre:");scanf("s", registros[i].nombre);

suma=0;

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

{

printf("s: ", asunto[j]);

scanf(" d",amp; registros[i].score[j]);

suma=suma registros[i].score[j];

}

registros[i].total=suma;

registros[i].average=registros[i].total/NUM_SUBJECT;

registros[i].order=0;

}

printf("¡Presione cualquier tecla para regresar!";

getch(); p>void addRec()

{

int i, j, suma=0

char no[20], str[8]; p>

for(;;)

{

system("cls");

printf("Ingrese el número que desea para agregar : ");

scanf("s", str);

i=findRec(str, 1, 0);

if(i == -1)break;

else printf("¡Este número existe!\n"); >

strcpy(registros[REC_NUM].no, str);

printf("ingrese nombre:"); scanf("s", registros[REC_NUM].nombre);

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

{

printf("s: ", asunto[j]);

scanf( "d", & registros[REC_NUM].score[j]);

suma=suma registros[REC_NUM].score[j];

}

registros[REC_NUM].total=sum;

registros[REC_NUM].average=registros[REC_NUM].total/NUM_SUBJECT;

registros[REC_NUM].order=0

REC_NUM

guardarRec();