¿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;
} p>
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;
}