La Red de Conocimientos Pedagógicos - Aprendizaje de redacción de artículos/tesis - Escribir un sistema de gestión de información estudiantil utilizando lenguaje C y estructura de datos. ¡Me gustaría preguntar cómo escribir el marco básico y solicitar orientación de expertos! ! !

Escribir un sistema de gestión de información estudiantil utilizando lenguaje C y estructura de datos. ¡Me gustaría preguntar cómo escribir el marco básico y solicitar orientación de expertos! ! !

No sé cuáles son las funciones de gestión de información que desea implementar. Lo hice hace dos días. Puedo darle una referencia. Está hecho con una función estadística. está hecho por mí y las otras partes están hechas por mí. Fue compilado por el profesor

/*Comando de precompilación*/

#include lt; p>

#include lt; stdlib.hgt;

#include lt;conio.hgt;

#include lt;string.hgt;

/*Tipo de datos personalizado*/

typedef struct Student{

char xh[10]; //Número de identificación del estudiante

char xm[15]; /Name

int cj[3] ; //Calificaciones de 3 cursos

}STU, *STUP;

typedef struct sulist{

STUP elem; // Variable de puntero de estructura

p>

int listsize; //Capacidad

int length; //Longitud

}SqList;

/*Descripción de la función personalizada*/

int initSqlist(SqList amp; L, int n

int insertSqlist(SqList amp; L, STU x, int); i);

void creatSqlist( SqList amp; L, int m

int deleteSqlist(SqList amp; L, int i

int localizarSqlist); (SqList L, char *xhp);

void disp(SqList L);

int menu();

void tongji(int bh, SqList amp); ; m);

/* Definición de función*/

/*Función de menú*/

int menu(){

int num;

while(1) {

system("cls"); //Borrar pantalla

printf("-------- ----Sistema de gestión de puntuación del estudiante----- --------\n\n");

printf(" 1--Crear tabla de puntuación del estudiante 2--Insertar estudiante puntuación\n\n");

printf(" 3--Eliminar puntuaciones de estudiantes 4--Buscar por número de estudiante\n\n");

printf(" 5- -Mostrar tabla de puntuación de los estudiantes 6--Estadísticas de puntuación\n\ n");

printf(" 0--Salir\n\n");

printf(" -- ------------- --------------------------\n");

printf("Ingrese 0-6:");

scanf("d",amp;num);

fflush(stdin);

si(núm;0|

|numgt; 6){

printf("¡Reseleccionar! ¡Presione cualquier tecla para continuar!"

getch();}

else

break;

}

return num;

}

/*Función de inicialización*/

int initSqlist(SqList amp; L, int n){

L.elem=new STU[n];

if(L.elem==NULL){

printf("¡No se pudo solicitar el espacio!\n");

exit(0); n;

L.length=0;

devolver 1;

}

/*Insertar función*/

int insertSqlist(SqList amp;L,STU x,int i){

int j;

if(igt;L.listsize){

printf ("¡Desbordamiento!\n");

printf("¡Reseleccionar! ¡Presione cualquier tecla para continuar!"); return 0 ;

}

if(ilt;=0||igt;L.length 1){

printf("¡Posición irrazonable!\n" ) ;

printf("¡Reseleccionar! ¡Presione cualquier tecla para continuar!"

getch()

return

}

for(j=L.length-1;jgt;=i-1;j--)

L.elem[j 1]=L.elem[j ] ;

L.elem[i-1]=x;

L.longitud ;

devuelve 1;

}< / p>

/*Crear función*/

void creatSqlist(SqList amp; L, int m){

int i, j;

for(i=1;ilt;=m;i){

printf("Por favor ingrese los datos del désimo estudiante:\n", i);

printf ("ID de estudiante:");

scanf("s",x.xh);

for(j=0;jlt;L.length;j){< / p>

if(strcmp(x.xh, L.elem[j].xh)==0){

printf("El número de estudiante ya existe, vuelva a ingresar:"

scanf("s",x.xh);

}

}

printf("Nombre:") ;

scanf("s", x.xm);

printf("Número alto en idioma C inglés (separado por espacios):

); scanf ("ddd",amp;x.cj[0],amp;x.cj[1],amp;x.cj[2]);

i

nsertSqlist(L, x, i);

}

fflush(stdin);

}

/*Función de visualización*/

void disp(SqList L){

int

printf("10s15s7s7s7s\n", "ID de estudiante", "Nombre", "Alto Número", "Lenguaje C", "Inglés");

for(i=0; ilt; L.length; i )

printf("10s15s7d7d7d\n", L .elem[i].xh, L.elem[i].xm,

L.elem[i].cj[0], L.elem[i].cj[1], L. elem[i].cj[2]);

printf("¡Presione cualquier tecla para continuar!");

getch(); / p>

/*Función de eliminación*/

int deleteSqlist(SqList amp; L, int i){

int j

if( ilt ;=0||igt;L.length){

printf("¡La posición no es razonable, vuelva a ingresar!");

getch();

devolver 0;

}

for(j=i;jlt;=L.length-1;j)

L.elem[ j-1 ]=L.elem[j];

L.length--;

devuelve 1;

}

/*Función de búsqueda */

int localizarSqlist(SqList L, char *xhp){

int

for(i=0; ilt; L .length; i )

if(strcmp(xhp,L.elem[i].xh)==0)break;

if(ilt;L.length)return i 1;

else return 0;

}

/*función estadística*/

void tongji(int bh, SqList amp; m){

int i, max, min

doble suma

switch(bh){

caso 1: si (m. lengthlt; 2) {

printf("El número actual de personas es inferior a 2, las estadísticas no se pueden completar, presione cualquier tecla para continuar:

); getch();

break;

}

suma=0

for(i=0; ilt; m.length ; i ){

suma=sum m.elem[i].cj[0];

}

max=m.elem[0]. cj[0];

for(i=1; ilt; m.length; i ){

if(maxlt; m.elem[i].cj[0])

max= m.elem[i].cj[0];

}<

/p>

min=m.elem[0].cj[0];

for(i=1;ilt;m.length;i){

si (mingt; m.elem[i].cj[0])

min=m.elem[i].cj[0];

}

printf("Puntuación más alta: d\n\nPuntuación más baja: d\n\nPuntuación promedio: .2lf\n", max, min, sum/m.length

printf(" Presione cualquiera); tecla para continuar: ");

getch();

break;

caso 2: if(m.lengthlt; 2){

printf("El número actual de personas es inferior a 2, las estadísticas no se pueden completar, presione cualquier tecla para continuar:");

getch();

}

suma=0;

for(i=0; ilt; m.length; i ){

suma =sum m.elem [i].cj[1];

}

max=m.elem[0].cj[1]; for(i=1 ;ilt;m.length;i ){

if(maxlt;m.elem[i].cj[1])

max=m.elem [i].cj [1];

}

min=m.elem[0].cj[1]; ; ilt; m. longitud; i ){

if(mingt; m.elem[i].cj[1])

min=m.elem[i].cj [1];

}

printf("Puntuación más alta: d\n\nPuntuación más baja: d\n\nPuntuación promedio: .2lf\n", máx, mínimo, suma /m. length);

printf("Presione cualquier tecla para continuar:

getch();

break; p> caso 3: if(m.lengthlt; 2){

printf("El número actual de personas es inferior a 2, las estadísticas no se pueden completar, presione cualquier tecla para continuar:"); /p>

getch();

romper;

}

suma=0; ; ilt; m.longitud; i ){

suma=sum m.elem[i].cj[2]; .elem[0].cj[2] ;

for(i=1;ilt;m.length;i){

if(maxlt;m.elem[i] .cj[2])

max=m.elem[i].cj[2]

}

min=m.elem[0] .cj[2];

for(i=1;ilt;m.length;i){

<

p> if(mingt; m.elem[i].cj[2])

min=m.elem[i].cj[2];

}

printf("Puntuación más alta: d\n\nPuntuación más baja: d\n\nPuntuación promedio: .2lf\n", max, min, sum/m.length);

printf( "Presione cualquier tecla para continuar: ");

getch();

break

}

}

/*Función principal*/

void main(){

int menunum, n, m, pos, i; STU x; ;

while(1){

menunum=menu();

switch(menunum){

caso 0: salir ( 0);

caso 1: printf ("Ingrese el número total de estudiantes: ");

scanf ("d", amp; n); p > if(initSqlist(L, n)){

printf("Ingrese el número de estudiantes que deben crearse ahora: "); , amp; m) ;

creatSqlist(L, m);

}

break;

caso 2: printf(" \nPor favor ingrese los datos del estudiante:\n");

printf("ID del estudiante:");

scanf("s",x.xh);

for(i=0;ilt;L.length;i){

if(strcmp(x.xh, L.elem[i].xh)==0){

printf("La identificación del estudiante ya existe, vuelva a ingresar:");

scanf("s", x.xh); p>

}

printf("Nombre: ");

scanf("s", x.xm);

printf("Superior); Matemáticas C Idioma Inglés :");

scanf("ddd",amp;x.cj[0],amp;x.cj[1],amp;x.cj[2]);

while(1){

printf("Ingrese la posición del estudiante a insertar (1-d): ", L.length 1); p> scanf("d" , amp; pos);

if(insertSqlist(L, x, pos))break

}

break;

caso 3: mientras(1){

printf("Ingrese la posición del estudiante que desea eliminar (1-d): ", L.length

scanf("d", amp; pos

if( deleteSqlist(L, pos))break

}

break;

case 4: printf("Ingrese el número de estudiante que desea buscar: ");

scanf("s", xh);

pos=locateSqlist(L, xh);

if(pos!=0 ){

printf("Las calificaciones del estudiante son las siguientes:\n");

printf("10s15s7s7s7s\n", "ID del estudiante", "Nombre", "Superior Matemáticas", "Lenguaje C", "Inglés");

printf("10s15s7d7d7d\n", L.elem[pos-1].xh, L.elem[pos-1].xm,

L.elem[pos-1].cj[0], L.elem[pos-1].cj[1], L.elem[pos-1].cj[2]);

}

else

printf("La puntuación del estudiante no existe\n");

printf("Presione cualquier tecla ¡para continuar!");

getch();

break;

caso 5: disp(L);

break;

caso 6: int bianhao1;

printf("Ingrese el número de curso 1-3 que requiere estadísticas:\n\n"); ("1--Matemáticas superiores 2--Lenguaje C 3--Inglés\n\n");

scanf("d", amp; bianhao1

fflush(); stdin);

while(bianhao1lt; 1||bianhao1gt; 3){

printf("Número incorrecto, vuelva a ingresar:\n");

scanf("d", amp ;bianhao1);

}

tongji(bianhao1, L);

}//cambiar

}//mientras

}