Red de conocimiento informático - Conocimiento informático - Código fuente de gestión escolar

Código fuente de gestión escolar

Diseño e implementación de un sistema de gestión docente sencillo: resultado de medio año de investigación

Escrito en C-FREE. Al mirar el foro, parece que muchas personas no aprendieron muchos capítulos, pero aprendieron más de lo que aprendimos en el libro de texto.

Oye, la Clase C de la escuela se completará en medio año. ¿Qué se puede hacer en el futuro? !

#Definición M 25

#Definición N 6

# incluir ltstdio.h gt

# incluir ltstdlib.h gt p>

# include ltmath.h gt

struct Student

{

int num

char name[20 ];

int score[N];

Calle flotante

} ST[M]

Estructura Kecheng; >

{

int num

char kcname[20];

Nieve en polvo cayendo;

Calle flotante;

Doble bzc

}Curso[N];

Tongji estructural

{

int exc

int bueno

int medio

int pase

int nopass

}Tongji[N];

/*Leer archivo de datos WL0114.txt */

void read_dat1()

{

int i, j;

char str 1[100];

ARCHIVO * fp

FP = fopen("D:\\wl0114.txt","r");

If (fp==0)

{

printf("No se puede abrir");

Salir(0);}

fgets(str1, 10000, FP);

for(I = 0; iltm; i)

{

fscanf(fp, "ds" , amp st[i].num,st[i].name);

for(j = 0;j ltn;j)

fscanf(fp, "d", amp saint [i]);

}

fclose(FP);

}

/*Leer Obtener el archivo de datos WL01kc.txt */

void read_dat2()

{

ARCHIVO * fp

int k;

char str 2[100];

fp=fopen("D:\\WL01kc.txt", "r");

if (fp==0 )

{

printf("No se puede abrir");

Salir(0);

}

fgets(str2, 100 , FP);

for(k = 0;k ltn;k)

fscanf(fp, "dsf", amp cursos[k]. número, por supuesto [k]. kcname amp;curso[k].

Nieve en polvo);

fclose(FP);

}

/*Calcular el promedio ponderado de N cursos para cada estudiante*/

void jqave()

{ FILE * fp/* * * * * *Crear automáticamente el archivo CTJ0114.txt* * * * * */

FP = fopen(" D :\\ctj0114.txt","w");

Fprintf(fp,"Ranking Nombre Inglés Lenguaje C Álgebra lineal Matemáticas discretas Matemáticas superiores Promedio de criptografía\n");

fclose(FP);

int i, j;

flotador s=0, suma

for(I = 0; i ltn; i )

s = cursos[i]. nieve en polvo;

for(I = 0;iltm;i)

{

suma = 0;

for(j = 0; j ltn; j )

suma =st[i]. Puntuación[j]*Curso[j]. Nieve en polvo;

Santo [I]. ave =(int)(sum * 10.0/s 0.5)/10.0;

}

}

/*Calcular el puntaje promedio y el estándar de cada curso. Diferencia*/

void course_ave()

{

int i, j;

Suma flotante;

for(I = 0; i ltn; i )

{ suma = 0;

for(j = 0; j ltm; j )

suma =st[j]. Puntuación[I];

Por supuesto[I]. ave = suma/M;}

for(I = 0;iltn;i)

{

suma = 0;

for(j = 0; j ltm; j )

suma = (st[j].score[i]-curso[I].ave)*(st[j].score[i] - curso[i].ave);

Por supuesto[i]. bzc = sqrt(sum/M);

}

}

/*Estadísticas de aprobados y reprobados para cada curso*/

Vacío Tutorial_Tongji()

{

int i, j

for(I = 0; iltm; i)

{

for(j = 0; j ltn; j )

{

if(st[i].score[j] gt; =90)Tongji[ j]. exc = 1;

else if(st[i].score[j] gt; =80) Tongji[j]. bueno = 1;

else if(st[i].score[j] gt;=70)tongji[j]. mid = 1;

else if(st[i].score[j] gt; 60) Tongji[j]. pasar = 1;

elseTongji[j].

nopass = 1;

}

}

}

/*Utiliza los resultados estadísticos de la función course_tongji() para obtener el siguiente distribución de calificaciones del curso Diagrama esquemático*/

void course_tjpic()

{

int i, j;

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

printf(" \nDiagrama esquemático de distribución de calificaciones para cada curso\ n ");

Printf ("\n 0. Volver Menú principal 1. Inglés 3. Álgebra lineal 5. Criptozoología.

printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

mientras(1 ){

Printf("Ingrese el número del curso (1-6): ");

scanf("d ", ampj);

switch(j). ){

Caso 1: Caso 2: Caso 3: Caso 4: Caso 5: Caso 6: {

Printf("\t\t10s cuadro de distribución de calificaciones\n ", curso [j-1].kcname);

Printf("Excelente:\t "); for(I = 0;iltm;i)if(Ilt;tongji[j-1].exc)printf (" = ");printf("\n");

printf("Bueno:\t "); for(I = 0; I ltm; i ) if (I lt; Tongji [j] -1]. bueno) printf (" = "); printf (" \ n ");

printf(" Medio: \ t "); (I lt; Tongji [j-1]. mid) printf ( " = "); printf ( " \ n "); ;iltm;i)if(Ilt;tongji[j-1]. pasar)printf(" = "); printf(" \ n ");

Printf("Error: \ t "); para(I = 0; i ltm; i ) if (I lt; Tongji[j-1].

sin pase)printf(" = "); printf(" \ n ");} roto

Caso 0: Devolución

Predeterminado: printf("Error de entrada!\n "); descanso;

}

}}

/*Cuenta los estudiantes reprobados y genera su información*/

Vacío st _Tongji ()

{

int i,j;

printf("\nNúmero de estudiante nombre nombre del curso crédito\n");

p>

para(I = 0; i ltm; i )

{

para(j = 0; j ltn; j )

{

if(st[i].score[j]lt;60)

printf("\n 2d 10s 15s 10.1f 10d\n",st[i].num , st [i]. kcname, curso[j]. puntuación[j]);

De lo contrario,

}

}

}

/*Utilice los resultados de la función jqave() para clasificar a los estudiantes*/

int paim( Punto flotante t)

{

int i, n = 0;

for(I = 0; i ltm; i )

{

if(t lt; santo[i ].ave)n;

En caso contrario continuar;

}return n 1;

}

/*Estadísticas sobre estudiantes destacados y mostrar su información*/

void st_tongji2()

{

int i, j

printf("\nNombre del estudiante Inglés; Clasificación promedio de criptografía matemática alta lineal discreta en lenguaje C\n");

for(I = 0;iltm;i)

{

for(j = 0; j ltn; j )

{

if(st[i].ave gt =92||paim(st[i].ave) lt;=5|| (st[i].ave gt= 88 amperios ampst[i].score[j] gt;=99))

{

printf("\n2d9s ",st[ i].num,st[i].nombre);

for(j = 0;j ltn;j )

printf("8d ", st[i].score [j]);

printf(" 10.1f 4d \ n ", st[i]. Calle Payim.

ave));

}

En caso contrario continuar;

}

}

}

/*Escribe la transcripción de la clase clasificada en MC0114.txt */

void Write_cjd()

{

FILE * fp

int i,j;

FP = fopen("D:\\MC0114.txt","w");

if (fp==0 )

{

printf("¡Error al crear un nuevo archivo! \n "

Salir (0);

Fprintf(fp, "Ranking Nombre Inglés Lenguaje C Álgebra lineal Matemáticas discretas Matemáticas avanzadas Criptografía Promedio\n"); {

fprintf(fp, " 3d4d10s ", paim(st[i].ave), st[i].num, st[i].nombre);

for( j = 0; j ltn; j )

fprintf(fp, "10d", st[i].score[j]);

fprintf( fp, "10.1f\ n", st[i].ave);

} printf("Archivo creado correctamente, ruta completa: D:\\MC0114.txt\n\n");

fclose(FP);

}

/*Escribe las estadísticas de aprobados y reprobados de cada curso en MC0114.txt */

void Write_course()

{

ARCHIVO * fp

int i, j; float t

FP = fopen ("D:\\KC0114.txt; ","w");

If (fp==0)

{

printf("¡No puedo crear nuevos archivos! \n ");

Salir (0);

}

Fprintf(fp, "desviación estándar de la puntuación promedio del curso numerado") ;

for( I = 0;iltn;i)

fprintf(fp, "d 10s 10.1f 1f 1d 10d 10d 10d 10d 10d 10d \n", curso[i ]. num, por supuesto [i]. kcnombre, curso[i]. ave, por supuesto [yo]. bzc, Tongji[i]. exc, Tongji[i]. Está bien, Tongji [yo]. medio, Tongji[i]. Tong, Tongji [I].

no pass);

Printf("Archivo creado correctamente, ruta completa: D: \ \ KC 0114 . txt \ n \ n ");

fclose(FP); p>

}

/*Mostrar la puntuación de cada estudiante*/

void st_cjd()

{

ARCHIVO * fp

int i,j;

FP = fopen("D:\\ctj 0114.txt","a");

Printf( "Ingrese el número de estudiante: ");

scanf("d ", ampI);

If (i gt= 0 amp ampIlt=M)

{ printf ("Nombre del rango Inglés Lenguaje C Álgebra lineal Matemáticas discretas Matemáticas avanzadas Criptología Puntuación promedio \ n ");

fprintf(fp, " 2d4d10s ", paim(st[i-1]). ave), st[i-1]. Número, ST[número de identificación 1]. nombre);

printf("3d4d10s ", paim(st[i-1]).ave), st[i-1]. Número, ST[número de identificación 1]. nombre);

for(j = 0;j ltn;j){fprintf(fp, "8d", st[i-1].score[j]);

printf("8d", st[i-1].score[j]);}

fprintf(fp, "10.1f\n", st[i-1].ave);

fprintf(fp, "10.1f\n", st[i-1].ave);

p>

printf("10.1f\n ",st[i -1].ave); fclose(FP);

printf("\nLa puntuación del estudiante se ha guardado en: d :\ \ ctj 0114 . txt \ n \ n ");

}

Else {printf("¡ID de estudiante no válido!\ n ";}

}

void main_chaxun()<); /p>

{

int n;

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

Printf("\nSistema de consulta de puntuación detallada del estudiante\ n ");

Printf("\n 1. Genere las calificaciones de los estudiantes especificados. 2. Muestre la lista de estudiantes reprobados. 4. Volver al menú principal.

\n ");

printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

While(1){ printf("Ejecutar consulta comando: ");

scanf("d ", ampn);

Cambiar (n)

{ caso 1: ST _ CJD(); Romper ;

Caso 2: st_Tongji();Rotura;

Caso 3: ST_Tongji 2();Rotura;

Caso 4: Retorno ;

Predeterminado: printf("¡Error de entrada!\n "); Break;

}}}

void main_menu()

{ int n;

printf(" \ n amp; amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp \ n ");

Printf("\nSistema de gestión de enseñanza simple\ n ");

Printf("\n1. Hacer un expediente académico de la clase 2. Crear una puntuación para cada curso Estadísticas 3. Consultar las calificaciones de los estudiantes 4 Consultar la distribución de calificaciones del curso 5. Salir

printf(" amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp. amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp amp \ n "

mientras(1){ printf(" Ejecutar comando: ");

scanf ("d", ampn);

Cambiar (n)

{ caso 1: Escribir _ CJD(); romper;

Caso 2: Escribir _ curso();

Caso 3: main_chaxun() ; menú_principal().

Caso 4: curso_TJ pic(); main_menu().

Caso 5: Salir (0);

Predeterminado: printf("¡Error de entrada!\n ");

}}}

Principal()

{

leer _ dat 1()

leer _ dat 2(); jqave();

curso_ave();

curso_tongji();

menú_principal().

}

Contenido de dos archivos de datos

(1) Dos archivos de datos

/* Contenido del archivo Wl0114.txt* /

Nombre del estudiante Inglés Idioma C Álgebra lineal Matemáticas discretas Matemáticas avanzadas Criptografía

Liu** 91 92 93 94 95 96

2 *** 85 92 67 75 93 86

3 *** 88 76 91 92 93 77

4Yang Xin65 94 54 91 88 66

5Tuoba Ye93 85 33 54 94 90

Liang Xiao90 94 89 90 92 91

7 Cheng Dong69 98 92 59 58 90

8 Zhou Fengli 92 89 86 94 59 92

9Tian Xiaoyu89 78 92 88 70 74

10Qin Yu89 69 77 74 68 90

11Hua Xiaoshuang90 92 93 91 89 78

12 Liu Yingying 91 85 59 88 65 92

13 Pluma de Gong Yang 89 68 91 89 87 88

Xiang Shaolong 88 77 66 55 87 94

15 Dong Shuaimin 89 92 77 91 65 67

16 AG 88 56 88 78 69 89

17 Hua Qingxiao 89 65 82 94 84 89

Wang Xiaobao 69 58 44 24 33 55

19 Gushen 92 91 90 93 94 91

20 Lu Jian 85 89 84 81 83 92

21 Yu 59 91 80 85 85 84

22Liang Wenjing85 84 94 92 93 94

230.000 de regreso al Tíbet91 94 85 83 81 61

Naruto85 57 93 94 58 68

25 Universidad de Wuhan 85 81 87 86 80 72

/* Contenido del archivo WL01LC.txt*/

Nombre del curso Número de créditos del curso

1 Inglés 6.0

2 Idioma C 4.0

3 Álgebra lineal 5.0

4 Matemática discreta 4.5

5 Matemática avanzada 3.0

6 Criptozoología 2.0