Red de conocimiento informático - Conocimiento de la instalación - Encuentre el código fuente del sistema de gestión de estudiantes en lenguaje C

Encuentre el código fuente del sistema de gestión de estudiantes en lenguaje C

Esto es parte del código que escribí hoy y entiendo el espíritu. Se recomienda hacer un dibujo primero, analizar la estructura de datos y luego hacer una lista vinculada. Primero puede mirar el código de otras personas, analizar el código de otras personas y luego intentar crear uno simple usted mismo (sin programación de referencia). Leer libros sobre estructuras de datos le será de gran ayuda para aprender listas enlazadas. ¡Recuerda practicar con frecuencia!

# include & ltiostream.h & gt

# include & ltfstream.h & gt

# include & ltiomanip.h & gt

# include & ltwindows.h & gt

static int n;

struct Student

{

int stu_number

char stu_name[10];

char stu_sex[4];

int stu_age

int matemáticas

int; Inglés;

int cplu_plus

int total

Promedio flotante;

};

Estudiante de clase

{

Estudiante masculino;

Público:

int getnum();

p>

void in_put(estudiante *p1, int num);

void in_file(struct estudiante *p, int número);

void readout(struct estudiante * p);

void A _ calcular(struct estudiante * p);

void T _ calcular(struct estudiante * p

int Cacu_aver(struct estudiante * p, int número);

int Cacu_total (estructura estudiante * p, int número);

void out _ put (estructura estudiante * p

};

);

void stu::in _ put(estudiante * p 1, int num)

{

int I;

for(I = 0; i& ltnumi++)

{

cout & lt& lt"Número de estudiante:"

CIN & gt;& gtp1[i] . stu_number

cout & lt& lt"nombre:"

CIN & gt;& gtp1[i]. stu_name

cout & lt& lt"Género:"

CIN & gt;& gtp1[i]. stu_sex

cout & lt& lt"Edad:"

CIN & gt;& gtp1[i]. stu_age

cout & lt& lt"Puntuación de matemáticas:"

CIN & gt;& gtp1[i]. Matemáticas;

cout & lt& lt"Puntuación en inglés:" < & ltendl

CIN & gt;& gtp1[i]. Inglés;

cout & lt& lt" puntuación c++: "

CIN & gt; cplu_plus

p1[i]. total = 0;

p1[i].

promedio = 0;

system("cls");

}

}

void stu::in_file(struct estudiante * p, int número)

{

int I;

ofstream ofs("feifei.txt ", IOs::out);

if(!ofs)

{

cerr & lt& lt"¡No se puede abrir el archivo!"& lt& ltendl

Salir(1);

}

Otro

{

for(I = 0;i<number;i++)

{

ofs & lt& ltp[i]. stu_number & lt& lt\n '

& lt& ltp[i]. stu_name & lt& lt\n '

& lt& ltp[i]. stu _ sexo & lt& lt\n '

& lt& ltp[i]. stu _ edad & lt& lt\n '

& lt& ltp[i]. Matemáticas& lt& lt\n '

& lt& ltp[i]. Español& lt& lt\n '

& lt& ltp[i]. cplu _ plus & lt& lt\ n ';

}

cout & lt& ltendl & lt& lt"¡Los datos han sido ingresados ​​en la computadora!"& lt& ltendl

ofs . close();

}

}

void stu::readout(estudiante*p)

{

int i, m;

ifstream ifs("feifei.txt ", IOs::in | IOs::binary);

if (!ifs )

{

cerr & lt& lt"¡No se puede abrir el archivo!"& lt& ltendl

Salir(1);

}

Otro

{

para(I = 0;i<n;i++)

{

}

}

ifs . close();

}

void stu::T _ calcular(struct Student * p)

{

int i,j;

estructurar temperatura del estudiante;

for(I = 0;i<n;i++)

{

p[i]. total=p[yo]. matemáticas+p[i]. Inglés+p[i]. cplu_plus

cout & lt& ltp[i]. stu_name<<"La puntuación total es:"

}

for(I = 0;i<n;i++)

{

for( j = I+1; j & ltn; j++)

{

si (p[i]. total & gtp[j].

Total)

{

temp = p[j];

p[j]= p[I];

p[ I]= temp;

}

}

}

}

void stu::A _ calcular(estructura estudiante * p)

{

int i, j;

estructura temperatura estudiante;

for(I = 0 ;i<n;i++)

{

for(j = I+1;j & ltn;j++)

{

si (p[i].stu_age & gtp[j].stu_age)

{

temp = p[j];

p[ j]= p [I];

p[I]= temp;

}

}

}

}

int stu::Cacu_aver(struct estudiante *p, int número)

{

int i, bandera = 1;

for(I = 0;i<n;i++)

{

p[i]. promedio = (p[i].matemáticas+p[i].inglés+p[i].cplu_plus)/3.0;

if (p[i].stu_number==número)

{

cout & lt& ltp[i]. stu_name & lt& lt "sí" puntuación media

bandera = 0

}

}

if (bandera! = 0; amp& ampi==n)

{

cout & lt& lt"!El número que ingresó no existe, verifique y vuelva a ingresar"

}

Indicador de retorno;

}

int stu::Cacu_total (estructura estudiante *p, int número)

{

int i, bandera = 1;

for(I = 0;i<n;i++)

{

p[i] . total=p[yo]. matemáticas+p[i]. Inglés+p[i]. cplu_plus

if (p[i].stu_number==número)

{

cout & lt& ltp[i].

stu_name & lt& lt puntuación total "sí"

bandera = 0

}

}

if (bandera! = 0; amp& ampi==n)

{

cout & lt& lt" - ! El número que ingresó no existe, verifique y vuelva a ingresar -" < & lt; /p>

}

Bandera de retorno;

}

void stu::out _ put(struct Student * p)

{

int I;

cout & lt& lt"La lista de información del estudiante está aquí:" & lt& ltendl & lt& ltendl

cout & lt& lt " " " & lt& ltsetw(10)& lt;& ltright& lt& lt"Número de estudiante"< & lt" " " & lt& ltsetw(8)& lt;& ltleft & lt& lt"Nombre"

cout & lt& ltsetw(6)& lt;& ltright& lt& lt《Matemáticas》< & ltsetw(6)<& ltright& lt& lt"Inglés"

cout & lt& ltsetw (8)<<right<<" Puntuación total"

for(I = 0;i<n;i++)

{

cout & lt& lt"first"

cout & lt& ltsetw(6)& lt;& ltleft & lt& ltp[i]. stu_sex<& ltsetw(6)<<right<& ltp[i]. stu_age<& ltsetw(6)<<right<& ltp[i]. Matemáticas;

cout & lt& ltsetw(6)& lt; & ltright& lt& ltp[i]. Inglés<& ltsetw(6)<<right<& ltp[i]. cplu_plus

if (p[i]. total!=0)

{

cout <<setw(8)<<right & lt& ltp[i]. total;

}

if (p[i].General!=0)

{

cout & lt& ltsetw(10 )<<right<<p[i].

General;

}

cout & lt& ltendl & lt& ltendl

}

}

int main( )

{

Stu boy;

Estudiante *per, *outp

int m;

cout & lt& lt"Seleccione la opción de operación que desee en el menú a continuación:"

Hacer

{

cout & lt& lt"1. Ingrese la información del estudiante y guárdelo en el archivo "

cout & lt& lt"2. Muestra información diversa de los estudiantes por edad. "

cout & lt& lt"3. a bajo"< & ltendl

cout & lt& lt"4. Ingrese el número de estudiante, calcule el puntaje promedio del estudiante y muéstrelo"

cout & lt& lt" 5. Ingrese el número de estudiante, calcule la puntuación total del estudiante y muéstrela"

cout & lt& lt"6 Clasifique a los estudiantes según su puntuación total y muestre los resultados de la clasificación"

cout & lt&. lt"7. Salir del sistema"

CIN & gt;& gtm;

Sistema ("cls");

Interruptor (m)

{

Caso 1:

{

cout & lt& ltPor favor ingrese el número de estudiantes que desea ingresar: "& lt& ltendl

CIN>& gtn;

per = estudiante de primer año[n];

chico.in_put(per, n);

chico in_file. (per, n);

Eliminar[]per;

Romper;

}

Caso 2:

{

outp = estudiante de primer año[n];

chico . readout(outp);

Buen chico a_caculate(outp);

chico out _ put(outp);

Eliminar []outp;

}

Caso 3 :

{

outp = estudiante de primer año[n];

chico. readout(outp);

Buen chico t_caculate(outp). );

chico . out_put(outp);

Eliminar[]outp;

Romper;

}

Caso 4:

{

número int, bandera

Marca de carácter 1;

outp =nuevo estudiante[n];

boy . readout(outp);

do

{

cout & lt& ltIngrese su número de estudiantes para encontrar: " <<endl

CIN>>Number;

flag=chicos.

Cacu_aver(outp, número);

if (flag==1)

{

cout & lt& lt "¿Quieres ingresarlo nuevamente? y ' /' N ' " & lt;& ltendl

CIN & gt;& gtflag 1;

}

Otro

Pausa ;

}

mientras(bandera 1 == ' Y ' | | bandera 1 == ' Y '); ) ;

Eliminar[]outp;

Romper;

}

Caso 5:

{< / p>

int número, bandera

Marca de carácter 1;

outp = nuevo estudiante [n];

p>

Do

{

cout & lt& ltPor favor, introduzca el número de estudiantes que busca: "& lt& ltendl

CIN & gt;& gt número;

bandera = niño_cacu_total(salida,número);

if (bandera==1)

{

cout & lt& lt"¿Quieres ingresarlo nuevamente? y '/' N ' " & lt;& ltendl

CIN & gt;& gtflag 1;

}

Otros

romper;

}

while(flag 1 == ' Y ' | | flag 1 == ' Y '); n);

Eliminar[]outp;

Romper;

}

Caso 6:

{

salida = nuevo estudiante[n];

niño . Romper;

}

}

}

Y (m!=7);

Devuelve 0

}

Un simple recordatorio: debes estar más en contacto contigo mismo, de lo contrario será difícil aprender bien