código fuente del examen c
# incluir & ltstdlib.h & gt
orden nula();
promedio nulo();
p>nulo consultar xh();
int x, y, z;
Estructura estudiante
{
龙Xue Hao;
Zha Xingming[30];
Fu Shuxue;
Yu Wen flotante;
Yu Ying flotante <; /p>
float zongcj
};
struct Student Student[200], stu
struct Student * p = Student;
int main()
{
char l;
FILE * fout
Printf("¿Cuánto debo ingresar? Calificaciones de los estudiantes:\ n ");
scanf("%d ",x);
if ((fout = fopen("d:\stud.txt ", " WB ")= = NULL)
{
Printf("¡No se puede abrir el archivo!\n ");
Salir (0);
}
for(y = 0; y & ltx; y++, p++)
{
Printf("ID de estudiante:\ n " ; , fout);
printf(" nombre \ n ");
scanf("%s ", &p->;星明); (&p->;Xingming,sizeof(char),1,fout);
Printf("Matemáticas\n");
scanf("%f ", & ;p->; Shuxue);
fwrite(&p->;shuxue, sizeof(float), 1, fout);
printf(" idioma \ n ") ;
scanf("%f ",&p->Yuwen);
fwrite(&p->Yuwen, sizeof(float), 1, fout <); /p>
Printf("Inglés\ n ");
scanf("%f ", &p->;Yu Ying
fwrite(& amp;p); ->;Yu Ying,tamañode(flotador),1,fout);
p->;zong CJ = p-& gt;Shu Xue+p-& gt;Yu Wen+p-& gt ;Yu Ying;
fwrite(& amp;p->;zongcj, sizeof(float),1,fout);
}
abc:printf
("¿Cuál es la operación\n1. Ordenar\n2. Genera la calificación promedio de la clase\n3.
Consultar la calificación de un estudiante por ID de estudiante\n");
scanf("%d ", z);
Switch (z)
{
Caso 1:
orden();
Interrupción;
Caso 2:
Promedio() ;
Pausa;
Caso 3:
consultar xh();
Pausa;
}
Función de impresión
("Continuar con y (sí) o n (no)");
scanf ("%d", & ampl); /p>
If (l == y)
Ir a abc
Otro
Printf("¡Gracias por tu uso! Cierra el ventana ");
}
Orden no válida()
{
int i, j, k, g; p>
char h;
Bucle: printf
("Qué tipo\n1. Ordenar por número de estudiante\n2. Ordenar por puntuación total\n3. Ordenar por puntuación de matemáticas \n4. Ordenar por puntuación china\n5.
Ordenar por puntuación en inglés\ n ");
scanf("%d ", & ampg);
Switch (g)
{
Caso 1:
for(I = 0; i & ltx-1; i++)
{
for(j = 0; j & ltx-I-1; j++, p++)
{
If ((p-& gt; nieve hao)>((p+1)-& gt; nieve hao) )
{
stu = estudiante[j];
Estudiante[j] = estudiante[j+1];
Estudiante [j+1]= stu;
}
}
}
Descanso;
Caso 2 :
para(I = 0;i<x-1;i++)
{
para(j = 0;j & ltx-I-1 ; j++ , p++)
{
Si ((p-& gt; zongcj)>((p+1)-& gt; zongcj))
{
stu = estudiante[j];
Estudiante[j] = estudiante[j+1];
Estudiante[j+1]= stu ;
}
}
}
Descanso;
Caso 3:
para (I = 0; i & ltx-1; i++)
{
for(j = 0; j & ltx-I-1; j++, p++) p>
{
Si ((p-& gt; shuxue)>((p+1)-& gt; Shuxue))
{
stu = estudiante[j];
Estudiante[j] = estudiante[j+1];
Estudiante[j+1]= stu;
}
}
}
Rotura;
Caso 4:
for(I = 0 ;i<x- 1;i++)
{
for(j = 0;j & ltx-I-1;j++,p++)
{
If ((p-& gt; Yu Wen)>((p+1)-& gt; Yu Wen))
{
stu = estudiante[j];
Estudiante[j] = estudiante[j+1];
Estudiante[j+1]= estu;
}
p>}
}
Pausa;
Caso 5:
for(I = 0;i<x- 1; i++)
{
for(j = 0; j & ltx-I-1; j++, p++)
{
Si (( p-& gt; Yu Ying)>((p+1)-& gt; Yu Ying))
{
stu = estudiante[j]; p>Estudiante[j] = estudiante[j+1];
Estudiante[j+1]= estu;
}
}
}
Pausa;
}
Función de impresión
("ID de estudiante\tNombre\tMath \中文\ tEnglish\ tPuntuación total\ n ");
for(k = 0; k & ltx; k++, p++)
{
printf("%ld\t ", p-& gt; nieve hao);
printf("%s\t ", p-& gt; estrella);
printf("%5.1f\t ",p-& gt; Shu Xue);
printf("%5
.1f\t ", p-& gt; Yu Wen);
printf("%5.1f\t ", p-& gt; Yu Ying);
printf( "%5.1f\n ", p-& gt; zong CJ);
}
Printf("Si continuar ordenando y (sí) o n (no)")
scanf("%s ",& amph);
If (h == y)
Ir al bucle;
Otro
Printf("Gracias por usar\n ");
}
Promedio no válido()
{ p >
int i,j,k,a=0,b=0,c=0;
for(I=0;i<x;i++,p++)
{
a = a+p-& gt;
}
a = a/x
Printf ( "puntuación promedio de matemáticas de la clase\n ", a
for(I = 0; I<x;i++,p++)
{
b = b+ p-& gt;
}
b = b/x;
Printf("La puntuación promedio de toda la clase en chino\ n " , a);
for(I = 0;i<x;i++,p++)
{
c = c+p-& gt; Ying ;
}
c = c/x;
Printf("La puntuación media de inglés de la clase\n ", a);
}
void preguntarxh()
{
int i, j, k
char e; >
def:printf
("Ingrese el número de estudiante del estudiante que desea consultar\n");
scanf("%ld ", & ampk) ;
p>for(i = 0;i<x;i++,p++)
{
if (p->seolho==k)
Función de impresión
("Número de estudiante %ld nombre %s Matemáticas %f Chino %f Inglés %f Puntuación total %f ",
p->; Xue Hao , p-& gt; >
}
Printf("¿Continuar consulta? y(sí) o n(no)");
scanf("%s ", & ampe);
if (e == y)
ir a def
Otro
Printf("Gracias por usar\n ");
}