Red de conocimiento informático - Conocimiento informático - ¿Cuál es el código para el sistema de gestión del desempeño estudiantil?

¿Cuál es el código para el sistema de gestión del desempeño estudiantil?

El código es el siguiente:

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

printf("*");

printf("\n");

printf("1.Ingresar registro\n");

printf("2.Calcular el total y la puntuación promedio de cada curso \n" );

printf("3.Calcular el total y la puntuación promedio de cada estudiante\n");

printf("4.Ordenar en orden descendente por puntuación total de cada estudiante\ n");

printf("5.Ordenar en orden ascendente por puntuación total de cada estudiante\n");

printf("6.Ordenar en orden ascendente por número\ n");

printf("7.Ordenar en orden ascendente por nombre\n");

printf("8.Buscar por número\n");

printf("9.Buscar por nombre\n");

printf("10.Análisis estadístico de cada curso\n");

printf ("11 .Listar registro\n");

printf("12.Escribir en un archivo\n");

printf("13.Leer desde un archivo\n ");

printf("0.Salir\n");

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

printf(" *") ;

printf("\n");

printf("Por favor ingrese su elección:");

printf("\n" );

Función de entrada:

void Readscore (STU stu[], int n, int m) //1. >

int i, j;

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

{

printf("Ingrese el ID del estudiante, nombre y puntuación ");

scanf("ld",amp;stu[i].studentID);

scanf("s",stu[i].studentName);

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

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

}

}

Función de procesamiento de datos:

void Tota (STU stu[], int n, int m) //2. de cada curso Puntuación y puntuación media

{

int i, j, sum[M]

double ave[M]; p>para (j=

0;jlt;m;j )

{

suma[j]=0;

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

{

suma[j]=sum[j] stu[i].score[j];

}

ave[ j]=(doble)suma[j]/n;

}

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

printf(" Puntaje total del proyecto d=d, puntaje promedio del curso=f\n",i 1,sum[i],ave[i]);

}

void Datasort_1 ( STU stu[], int n, int m) //3. Calcular la puntuación total y la puntuación media de cada estudiante

{

int i, j, sum[N];

doble ave[N];

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

{

suma[i ] =0;

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

{

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

}

ave[i]=(doble)suma[i]/m;

}

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

printf("ID: 10ld, Nombre: s Allscore=d, The ave=f\n", stu[i].studentID, stu [i].studentName,sum[i],ave[i]);

}

Función de clasificación:

void Datasort_2 (STU stu[] , int n, int m) ?//4. Clasifica la lista de mayor a menor según la puntuación total de cada estudiante

{

int i, j, k, h. , suma [N];

STU t;

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

{

suma[ i]=0;

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

{

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

}

}

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

{

k=i;

for(j=i 1;jlt;n;j)

{

si (suma [j]gt;suma[k])

k=j;

}

if(i!=k)

{

t=stu[i], h=suma[i];

stu[i]=stu[k], suma[i]=suma[k] ;

stu[k]=t, suma[k]=h

}

}

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

printf("ID: 10ld, Nombre: s, Puntuación: d\n", stu[i].IDEstudiante, stu[i].NombreEstudiante, suma[i] );

}

void Datasort_3 (STU stu[], int n, int m)?//5. Clasifica la lista de clasificación de menor a mayor según la puntuación total de cada estudiante

p>

{

int

i, j, k, h, suma[N];

STU t;

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

{

suma[i]=0

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

{

suma[ i]=sum[i] stu[i].score[j];

}

}

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

{

k=i;

for(j=i 1; jlt; n; j )

{

if (suma[j]lt; suma[k])

k=j

}

if(i!= k)

{

t=stu[i], h=suma[i];

stu[i]=stu[k], suma[ i]=suma[k];

stu[k]=t, suma[k]=h;

}

}

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

printf("ID: 10ld, Nombre: s, puntuación: d\n", stu[i].studentID, stu[i] .studentName, sum[i]);

}

void Datasort_4 (STU stu[], int n, int m) //6 Ordenar por número de estudiante de pequeño a grande. Lista de clasificación

{

int i, j, k;

STU t

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

{

k=i;

for(j=i 1;jlt;n;j)

{

if (stu[j].studentIDlt; stu[k].studentID)

k=j

}

if; (i!=k)

t=stu[k], stu[k]=stu[i], stu[i]=t;

}

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

{

printf("ID: 10ld, Nombre: s\n", stu[i].studentID, stu[i].studentName);

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

printf("Proyecto d Puntuación: d\n", j 1, stu [i].score[j]);

}

}

Función de análisis de datos:

void Statistis (STU stu[ ], int n, int m) ? //10.

{

int i, j, recuento_1, recuento_2, recuento_3, recuento_4, recuento_5;

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

{

cuenta_1=0, cuenta_2=0, cuenta_3=0, cuenta_4=0, cuenta_5=0;

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

{

if(stu[i].score[j]gt;=90)

count_1;

else if(stu[i].score[j]gt;=80)

count_2;

>

else if(stu[i].score[j]gt;=70)

count_3;

else if(stu[i].score[j]gt ;=60)

count_4 ;

else

count_5 ;

}

printf("proyecto d \n", j 1);

printf("Excelente: d\tExcelente tasa: f\n", count_1, (float)count_1/n);

printf( " Bueno: d\tBuena tasa: f\n", count_2, (float)count_2/n);

printf("Media: d\tMedium rate: f\n", count_3, ( float)count_3 /n);

printf("Aprobar: d\tTasa de aprobación: f\n", count_4, (float)count_4/n);

printf(" Fallo: d\ tTasa de fallos: f\n", count_5, (float)count_5/n);

}

}

Interfaz de datos Función de impresión:

Lista vacía (STU stu[], int n, int m) //11.

{

int i, j, sum[ N];

doble ave[N];

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

{

suma[i]=0;

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

{

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

}

ave[i]=(doble)suma[i]/m;

}

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

{

printf("ID: 10ld, Nombre: s\n", stu[i] .studentID,stu[i] .studentName);

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

{

printf("Puntuación d : d\n", j 1, stu[i].score[j]);

}

printf("Allscore=d\puntuación promedio f\n", suma[i],ave[i] ]);

}

}

Función de procesamiento de archivos:

void WritetoFile(STU stu [], int n, int m ) //Escribe la información del registro de cada estudiante en el archivo

{

Tota(stu, n, m);

Datasort_2 (stu, n, m);

ARCHIVO *fp;

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

{

printf("¡Error al abrir Student.txt!\n");

exit(0);

}

fwrite(stu, tamaño de(STU), n, fp);

fclose(fp>}

int ReadfromFile(STU stu[], int); n, int m) // desde archivo

Lea la información del registro de cada estudiante y muéstrela

{

FILE *fp;

int i;

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

{

printf("¡Error al abrir Student.txt!\n");

{

printf("¡Error al abrir Student.txt!\n");

p>

exit(0);

}

for(i=0;!feof(fp);i )

{

fread(amp; stu[i], tamaño de(STU) , 1, fp);

}

fclose(fp);

printf("El total de estudiantes es d.\n",i-1);

n=i-1;

List(stu,n,m);? //Salida Lee información del archivo en la pantalla

return i -1;

}