/*Este código fuente incluye 11 funciones (incluida la función principal)
①student_new
②student_del
③student_edit
④score_input
⑤score_edit
⑥navegador
⑦page_title (llamada a función principal)
⑧return_confirm (primeras cinco llamadas a función)
⑨search_id (segunda/tercera/quinta llamada a función)
⑩sort_it (llamada a función del navegador)
main (llamada a las primeras siete funciones)
*/
/*Gestión del desempeño de los estudiantes*/
/*Compilado en Borland C, no ingrese números grandes durante la depuración*/
#include lt ;stdio.hgt ;
#include lt;stdlib.hgt;
#include lt;conio.hgt;
int INDEX[32];
p>
//Variable de estructura
struct ESTUDIANTE{
int id;
int edad
int chino, matemáticas, inglés;
nombre de char[21];
}estudiantes[32];
void page_title(char *menu_item){
printf("gt; gt; gt; sistema de gestión de estudiantes lt; lt; lt; \n\n- s -\n\n", menu_item);
void return_confirm(void){
printf("\nPresione cualquier tecla para regresar...\n");
getch();
}//
void Student_new(void){
int n;
page_title("Ingrese la información básica del estudiante"); > for(n=0;nlt;32;n)
if(students[n].id==0) break;
printf("ID de estudiante:");
scanf("d", amp; estudiantes[n].id);
printf("Nombre:
scanf("s"); , amp; estudiantes[n].nombre);
printf("Edad:");
scanf("d", amp; estudiantes[n].edad);
p>return_confirm();
}//①
int search_id(void){
int n, i; p>
printf("Ingrese el número de estudiante: ");
scanf("d", amp; i);
for(n=0; nlt; 32; n )
{
if(estudiantes[n].id==iamp;amp; estudiantes[n].id!=0)
{ p>
printf("ID de estudiante: d\n", st
estudiantes[n].id);
printf("Nombre: s\n", estudiantes[n].nombre);
printf("Edad: d\n", estudiantes[n].edad);
return n;
}
}
printf("\nError de entrada o error de estudiante El número no existe.\n");
return -1;
}//
void Student_del(void){
int n;
page_title("Cerrar sesión con la información básica del estudiante");
if((n=search_id())!=-1) estudiantes[n].id =0;
printf("\n!El estudiante ha cerrado sesión.\n");
return_confirm()
}//③<; /p>
void Student_edit(void){
int n;
page_title("Editar información básica del estudiante");
if((n =search_id() )!=-1)
{
printf("\nVuelva a ingresar la nueva información:\nNúmero de estudiante: ");
scanf(" d", & estudiantes[n].id);
printf("Nombre:");
scanf("s", & estudiantes[n].nombre ) ;
printf("Edad: ");
scanf("d", & estudiantes[n].edad
}
return_confirm();
}//②
void score_input(void){
int s, n, t
;page_title("Ingrese resultados");
printf("\nPor favor use las teclas numéricas para seleccionar materias\n1-Chino 2-Matemáticas 3-Inglés\n");
scanf("d",amp;s);
for(n=0;nlt;32;n)
{
if(estudiantes [ n].id!=0)
{
printf("Número de estudiante: d Nombre: s Calificación:", estudiantes[n].id, estudiantes[n]. nombre );
scanf("d",amp;t);
interruptor(es)
{
caso 1: estudiantes [n].chinese=t;break;
caso 2: estudiantes[n].math=t;break;
caso 3: estudiantes[n].english=t ; romper;
}
}
}
return_confirm()
}//④<; / p>
void score_edit(void){
int n;
page_title("Modificar puntuación");
if((n=s
search_id())!=-1)
{
printf("Chino: d Matemáticas: d Inglés: d\n", estudiantes[n].chino, estudiantes[n ].math, Students[n].english);
printf("\nVuelva a ingresar la puntuación:\nChino:");
scanf("d",amp ;estudiantes[n].chinese);
printf("Matemáticas:");
scanf("s", & estudiantes[n].matemáticas);
printf("Inglés: ");
scanf("d", y estudiantes[n].inglés
}
return_confirm); ();
}//⑤
void sort_it(char nn){
int n, m, p, x, t[32]; /p>
for(n=0; nlt; 32; n )
{
cambiar(nn)
{
caso '1': t[n]=estudiantes[n].id; descanso;
caso '2': t[n]=estudiantes[n].chinese; > p>
caso '3': t[n]=estudiantes[n].math;
caso '4': t[n]=estudiantes[n].inglés; ;
caso '5': t[n]=estudiantes[n].estudiantes chinos[n].estudiantes de matemáticas[n].inglés
}
}
para(n=0; nlt; 32; n )
{
x=0; p =-1;
for(m=0;mlt;32;m)
{
if(t[m]gt;x)
p>{
x=t[m]
p=m
}
}
t[p]=-1
ÍNDICE[n]=p
}
}//
navegador vacío(void){
int n, x;
char k
sort_it('1');
while(1)
{
page_title("Examinar");
printf("Presione las teclas numéricas para seleccionar el método de clasificación o presione 0 para regresar\n") ;
printf("Número de estudiante-1\tNombre\tEdad\tChino-2\tMatemáticas-3\tInglés-4\tPuntuación total-5\n"); p >
for(n=0;nlt;32;n)
{
if(INDEX[n]!=-1)
{
x=INDEX[n];
printf("d\ts\t",estudiante
ents[x].id, estudiantes[x].nombre);
printf("d\td\t", estudiantes[x].edad, estudiantes[x].chinese);
printf("d\td\t", estudiantes[x].matemáticas, estudiantes[x].inglés);
printf("d\n", estudiantes[x].chino estudiantes[x].estudiantes de matemáticas[x].inglés);
}
}
k=getch();
if(klt;'6'amp;kgt;'0') sort_it(k);
else if(k=='0') break;
else continuar <; /p>
}
}//⑥
void main(void){
menú: page_title("Menú de operación" ); p>
printf("Por favor use las teclas numéricas para seleccionar la operación\n\n");
printf("1 Ingrese la información básica del estudiante\n2 Modifique la información básica del estudiante\n" );
printf("3 Cerrar sesión con información básica del estudiante\n\n4 Ingresar puntajes\n5 Modificar puntajes\n\n");
printf("6 Explorar... \n \n0 Salir\n");
switch(getch())
{
caso '1': estudiante_nuevo(); descanso;
caso '2': estudiante_edit(); descanso
caso '3': estudiante_del();
caso '4': puntuación_input(); ; romper;
caso '5': puntuación_edit(); romper;
caso '6': navegador() romper;
caso '0'; : exit(0 );
}
ir al menú
} Está planteado y le falta algo de información, pero puedes consultar la estructura