¿Alguien sabe cómo programar el sistema de gestión del desempeño estudiantil en lenguaje C?
(traiga explicación detallada)
#include
#include
#include
# incluir
#define N 1000
typedef struct Student
{
int número;
nombre de char[20];
int grado;
int gaoshu;
int yingyu;
int jisuanji; p> p>
int sum;
}ESTUDIANTE;
ESTUDIANTE estudiante[N];
int shuliang=0;
void menu();
void fhzjm()
{
char biaozhi[20];
printf("\ n" );
printf("¿Aún necesita operar? Si necesita operar, ingrese: sí; de lo contrario, ingrese: no\n");
scanf ("%s",biaozhi );
if(strcmp(biaozhi,"yes")==0)
{
menú();
}
else if(strcmp(biaozhi,"no")==0)
exit(0);
else
{
printf("Ingrese los caracteres correctos, ¡gracias!\n");
fhzjm();
}
}
void DengJi()
{
int rs;
int i,k=1 ;
system("CLS");
printf("Ingrese la información requerida del estudiante:");
scanf("%d",&rs );
for(i=shuliang;i { printf("Ingrese el número de estudiante del %d estudiante:", k); scanf("%d",&student[i].number); printf("Por favor, ingrese el nombre del estudiante:"); scanf("%s",estudiante[i].name); printf("Ingrese las calificaciones del estudiante para 3 cursos:"); printf("Ingrese las calificaciones del primer curso: "); scanf("%d",&student[i].gaoshu); printf("Ingrese las calificaciones del segundo curso :"); scanf("%d",&student[i].yingyu); printf("Ingrese la puntuación del curso 3: "); scanf("%d",&student[i].jisuanji); } shuliang=shuliang+rs; p> fhzjm( ); } void ShanChu() { char shanchuinf o[10]; system("CLS"); printf("Para eliminar toda la información del estudiante, ingrese \"all\", para eliminar la información del estudiante con el número de estudiante especificado, ingrese \"one\"\n"); scanf("%s",shanchuinfo); if(strcmp(shanchuinfo,"all") ==0) p> { int j; printf("La información del estudiante que eliminó es la siguiente:\n"); printf("-- ----------ID del estudiante-------------Nombre-------------Matemáticas superiores- -------- ----Inglés--------------Computadora\t\n"); for(j=0;j< shuliang;j++) printf("----%d-------%s-------%d-------%d--- ----%d\t \n",estudiante[j].número,estudiante[j].nombre,estudiante[j].gaoshu,estudiante[j].jisuanji); shuliang= 0; printf("Eliminación exitosa\n\n"); } else if(strcmp(shanchuinfo,"one")==0 ) { struct estudiante *p=NULL; int elección; int i,j,k=0; printf( "Ingrese el ID de estudiante de la persona que desea eliminar:"); scanf("%d",&choice for); (i=0;i { if(choice==estudiante[i].número) { k=1;j=i ;romper; } } if(k) { p> if(shuliang== 1) { p=&estudiante[0]; gratis(p); shuliang=0; } más { for(i=j;i { p> estudiante[i]=estudiante[i+1]; } shuliang=shuliang -1; } printf("Eliminación exitosa\n\n"); } else { printf("¡Error en los datos de entrada! \n"); } } fhzjm(); } void LiuLan( ) { int i; sistema("CLS"); if(shuliang==0) { printf("No hay ¡Qué información estudiantil! \n"); } más { for(i=0;i { printf("El número de estudiante del %d estudiante es: %d\n",i+1,estudiante[i].número); printf("El nombre del %d estudiante es: %s\n",i+1,estudiante[i].nombre); printf("El primer curso del %d estudiante El la calificación del segundo curso del estudiante %d es: %d\ n",i+1,student[i].yingyu); printf("La calificación del tercer curso del estudiante %dth es : %d\n",i+1,estudiante [i].jisuanji); estudiante[i].sum=estudiante[i].gaoshu+estudiante[i].yingyu+estudiante[i] ].jisuanji; printf ("La puntuación total del %d estudiante es: %d\n",i+1,student[i].sum); } } fhzjm(); } void ChaZhao() { int xx; elección de caracteres,yy[20]; int i,j,k=0; sistema("CLS") ; if(shuliang= =0) { printf("¡No hay información del estudiante en el sistema!\n"); fhzjm(); } printf("Tres métodos de búsqueda: número de estudiante, nombre, grado\n"); printf( "Si busca por número de estudiante, ingrese 1. Si busca por número de estudiante, ingrese 1. Ingrese 2 para buscar por nombre, o 3 si busca por calificaciones\n"); printf ("Ingrese su método de búsqueda:"); scanf("%s ",&choice); if(choice=='1') { printf("Ingrese el número de estudiante que desea encontrar: ") ; scanf("%d",&xx); printf ("La información del estudiante que buscas es:\n"); printf ("----número de estudiante----nombre----puntuaciones altas en matemáticas---- Partituras en inglés----partituras por computadora----\t\n"); for(i=0;i { if(xx==estudiante[i].número) { j=i;k=1; printf("-- --%d-------%s-------%d---- ---%d-------%d----\t\n", estudiante[j].número,estudiante[j].nombre,estudiante[j].gaoshu,estudiante[j],estudiante[i].jisuanji); } } if(k==0) printf(" Información de entrada incorrecta:\n"); } si no (elección e=='2') { printf("Ingrese el nombre del estudiante que desea encontrar:\n"); scanf ("%s ",yy); printf("La información del estudiante que buscas es:\n"); printf("----estudiante número----nombre----Puntuación de Matemáticas Avanzadas----Puntuación de Inglés----Puntuación de Computadora----\t\n"); for(i=0;i { if(strcmp(yy,estudiante[i].nombre)==0) { j=i; k=1; printf("----%d-------%s-------%d------ -%d--- ----%d----\t\n",estudiante[j].número,estudiante[j].nombre,estudiante[j].gaoshu,estudiante[j].yingyu, estudiante[j].jisuanji ); } } if(k==0) printf("Entrada incorrecta información:\n" ); } else if(choice=='3') { printf(" Por favor ingrese el estudiante que desea encontrar Grado:\n"); scanf("%d",&xx); printf("La información del estudiante que está buscando for is:\n"); printf("----número de estudiante----nombre----matemáticas secundarias----inglés----computadora----\ t\n"); for(i=0;i { if(xx==estudiante[i]. calificación) { j=i;k=1; printf("----%d-------%s -------%d -------%d-------%d----\t\n",estudiante[j].número,estudiante[j].nombre ,estudiante[j].gaoshu,estudiante [j].yingyu,estudiante[i].jisuanji); } } if(k= =0) printf("Información de entrada incorrecta:\n"); } fhzjm(); } void PaiXu () { estructura estudiante *p1[N],**p2,*temp; int i, j; system("CLS"); p2=p1; for( i=0;i { p1[i]=estudiante+i; } for( i=0;i { for( j=i+1;j { if((*(p2+i) )->suma<(*( p2+j))->suma) {temp=*( p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;} } } printf("La información después de ordenar según la puntuación total es:\n"); printf("----número de estudiante----nombre----puntuación total-- -- \t\n"); for( i=0;i { estudiante[i].sum= estudiante[ i].gaoshu+estudiante[i].yingyu+estudiante[i].jisuanji; printf("----%d-----%s----%d -- ---\n",(*(p2+i))->número,(*(p2+i))->nombre,(*(p2+i))->suma); } fhzjm(); } void CunChu() { int i; ARCHIVO *rs; if((rs=fopen("student.txt","w"))==NULL) { p> printf("no abierto"); salir(0); } for(i=0;i< shuliang; i++) { fwrite(&student[i], sizeof(student[i]), 1, rs); } if(ferror(rs)) { fclose(rs); perror("¡Error al escribir el archivo!\n") ; return; } printf("¡Almacenando el archivo correctamente!\n"); fclose(rs) ; fhzjm(); } void DaoChu() { estructura estudiante t; int i=0; ARCHIVO* fp = fopen("student.txt", "r"); shuliang=0; if (NULL==fp) { perror("¡Error al leer y abrir el archivo! \n"); return; } memset(estudiante,0x0,sizeof(estudiante)); while( 1) { fread(&t,sizeof(t),1,fp); if(ferror(fp)) { fclose(fp); perror("¡Error al leer el archivo!\n"); return; } if(feof(fp)) { descanso; } estudiante[ i]=t; i++; } fclose(fp); shuliang=i; printf("¡Exportar el archivo correctamente!\n"); > fhzjm(); } menú vacío() { int n=0; system("CLS"); printf(" Sistema de gestión de información estudiantil\n"); printf(" Autor: Chen Chun\n"); printf("------------------MENÚ-----------------\n") ; printf(" 1. Registrar información del estudiante\n"); printf(" 2. Eliminar información del estudiante\n"); printf( " 3. Explorar todos los estudiantes registrados\n"); printf(" 4. Buscar\n"); printf(" 4.1 Buscar por número de estudiante\n" ); printf(" 4.2 Buscar por nombre\n"); printf(" 4.3 Buscar por grado\n"); printf(" 5. Ordenar según puntuación total\n"); printf(" 6. Almacenar en archivo\n"); printf(" 7. Exportar desde archivo\n" ; printf(" 8. Salga del sistema\n"); a: printf(" Seleccione: "); scanf("%d ",&n); cambiar (n) { caso 1: DengJi();romper; caso 2: ShanChu();romper; caso 3: LiuLan();romper; caso 4: ChaZhao();romper; caso 5: PaiXu();romper; caso 6: CunChu();romper; caso 7: DaoChu();romper; caso 8: exit(0);break; default: { printf("Ingrese un número entre 1 y 8, ¡gracias! \n"); ir a; } } } principal() { menú(); }