Red de conocimiento del abogados - Ley de patentes - Buscando el código fuente del sistema de gestión de estudiantes en lenguaje C

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

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

¡Recuerda practicar más a menudo!

#include lt;iostream.hgt;

#include lt;fstream.hgt;

#include lt;iomanip.hgt;

#include lt;windows.hgt;

static int n;

estructura estudiante

{

int stu_number;

estructura estudiante

p>

char stu_name[10];

char stu_sex[4]; p>

int matemáticas;

int inglés;

int cplu_plus;

int total

flotante promedio

p>

};

cosas de clase

{

estudiante;

público:

int getnum();

void in_put (estudiante *p1, int num);

void in_file (estructura estudiante *p, int número

void); lectura (struct estudiante *p);

void A_caculate(struct estudiante *p> void T_caculate(struct estudiante *p); struct estudiante *p, int número);

int Cacu_total(struct estudiante *p, int número

void out_put(struct estudiante *p>};

void stu:: in_put(estudiante *p1, int num)

{

int

for ( i=0; ilt; num; i)

{

coutlt;lt;"Número de estudiante:"lt;lt;endl;

cingt;gt ;p1[i].stu_number;

coutlt;lt;"Nombre:"lt;lt;endl;

cingt;gt;p1[i].stu_name;

coutlt;lt;"Género: "lt; lt;endl;

cingt;gt;p1[i].stu_sex;

coutlt;lt;"Edad: "lt;lt;endl;

cingt;gt;p1[i].stu_age;

coutlt;lt;"Resultados matemáticos:"lt;lt;endl;

cingt;gt;p1[i].ma

th;

coutlt;lt;"partitura en inglés:"lt;lt;endl;

cingt;gt;p1[i].english;

coutlt ;lt;"c Puntuación:"lt;lt;endl;

cingt;gt;p1[i].cplu_plus;

p1[i].total=0;

cingt;gt;p1[i].cplu_plus;

p1[i].total=0;

p>

p1[i].average=0;

system("cls");

}

}

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

{

int i;

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

if ( !ofs)

{

cerrlt;lt;"¡no se puede abrir el archivo!"lt;lt;endl;

exit(1); p>

}

else

{

para (i=0; ilt ; número; i )

{

ofslt;lt;p[i].stu_numberlt;lt;'\n'

lt;lt;p[ i].stu_namelt;lt;'\n'

lt;lt;p[i].stu_sexlt;lt;'\n'

lt;lt;p[i] .stu_agelt;lt;'\n'

lt;lt;p[i].mathlt;lt;'\n'

lt;lt;p[i].englishlt ;lt;'\n'

lt;lt;p[i].cplu_pluslt;lt;'\n';

}

coutlt;lt ;endllt;lt;"¡Se han escrito datos en la computadora! "lt;lt;endl;

ofs.close();

}

}

void stu::readout(estudiante *p)

{

int i, m;

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

if (!ifs)

{

cerrlt;lt;"¡no se puede abrir el archivo!"lt;lt;endl;

salir(1);

}

más

{

for (i=0;ilt;n;i)

{

}

}

ifs.close();

}

void stu:: T_caculate(struct Student *p)

{

int i, j;

estructura temporal del estudiante;

for (i=0; ilt; n; i)

{

p[i].total=p[i ].math p[i].english p[i].cplu_plus;

coutlt;lt;p[i].stu_namelt;lt;" la puntuación total es: "lt;lt;p[ i ].totallt;lt;endl;

}

para (i=0;ilt;n;i)

{

for (j=i 1; jlt; n; j )

{

if (p[i].totalgt; p[j].total)

{

temp=p[j];

p[j]=p[i];

p[i]=temp

}

}

}

}

void stu::A_caculate(struct estudiante *p)

{

int i, j;

estructura estudiante temp;

for (i=0; ilt; n; i)

{

for (j=i 1;jlt;n;j)

{

if (p[i].stu_agegt; p[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; ilt; n ;i )

{

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

p>

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

{

La puntuación media de coutlt;lt;p[i].stu_namelt;lt; es "lt;lt;p[i].averagelt;lt;endl;

flag=0;

}

}

if (flag!=0amp;amp;i==n)

{

coutlt;lt ;"!El número que ingresó no existe, verifique y vuelva a ingresar"lt;lt;endl;

}

return flag;

}

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

{

int i, flag=1;

for ( i=0;ilt;n;i )

{

p[i].total=p[i].math p[i].inglés p[i] .cplu_plus ;

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

{

coutlt;lt;p[i].stu_namelt;lt; " La puntuación total es "lt;lt;p[i].totallt;lt;endl;

flag=0;

}

}

if (flag!=0amp;amp;i==n)

{

coutlt;lt;"----------- -- ------!El número que ingresó no existe, verifique y vuelva a ingresar---------------"lt;lt;endl;

}

bandera de retorno;

}

void stu::out_put(struct Student *p)

{

int i;

coutlt;lt;"lista de información del estudiante aquí:"lt;lt;endllt;lt;endl;

coutlt;lt;" "lt; lt;setw( 10)lt;lt;rightlt;lt;"Número de estudiante"lt;lt;" "lt;lt;setw(8)lt;lt;leftlt;lt;"Nombre"lt;lt;setw(6 )lt;lt ;leftlt;lt;"género"lt;lt;setw(6)lt;lt;rightlt;lt;"edad";

coutlt;lt;setw(6)lt;lt ;rightlt;lt ;"Matemáticas"lt;lt;setw(6)lt;lt;rightlt;lt;"Inglés"lt;lt;setw(6)lt;lt;rightlt;lt;"c";

coutlt;lt;setw(8)lt;lt;rightlt;lt;"puntaje total"lt;lt;setw(10)lt;lt;rightlt;lt;"puntaje promedio"lt;lt;endl;

para (

i=0; ilt; n; i )

{

coutlt;lt; "th"lt;i 1lt;lt;"nombre"lt;lt;sew( 10)lt;lt;rightlt;lt;p[i].stu_numberlt;lt;" "lt;lt;setw(8)lt;lt;leftlt;lt;p[i].stu_name;

coutlt;lt;setw(6)lt;lt;leftlt;lt;p[i].stu_sexlt;lt;setw(6)lt;lt;rightlt;lt;p[i].stu_agelt;lt;setw(6 )lt;lt;rightlt;lt;p[i].math;

coutlt;lt;setw(6)lt;lt;rightlt;lt;p[i].englishlt;lt;sew( 6)lt;lt;rightlt;lt;p[i].cplu_plus;

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

{

coutlt;lt;setw(8)lt;lt;rightlt;lt;p[i].total;

}

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

{

coutlt;lt;setw(10)lt;lt;rightlt;lt;p[i].average;

}

coutlt;lt;endllt;lt;endl;

}

}

int main()

{

stu boy;

estudiante *per, *outp;

int m;

coutlt;lt;"Seleccione del menú a continuación Seleccione la opción de operación que desea realizar: "lt;lt;endllt;lt;endl;

do

{

coutlt;lt;"1 .Ingrese la información del estudiante y guárdela en el archivo "lt;lt;endl;

coutlt;lt;" 2. Muestre la información del estudiante de mayor a menor"lt;lt;endl;

coutlt;lt;"3. Muestra la información del estudiante de mayor a menor en cada materia"lt;lt;endl;

coutlt;lt;"4. Ingrese el número de estudiante para calcular el puntaje promedio del estudiante y muestra "lt;lt;endl;

coutlt;lt;" 5. Ingrese el número del estudiante para calcular la puntuación total del estudiante y muestra "lt;lt;endl;

coutlt ;lt; "6. Clasifique a los estudiantes según sus puntuaciones totales y muestre los resultados de la clasificación"lt;lt;endl;

coutlt;lt;"7. Salga del sistema"lt;lt;endl;

cingt; m;

sistema("cls");

cambiar (m)

{

caso 1:

{

coutlt;lt;"ingrese el número de estudiantes que desea ingresar:"lt;lt;endl;

cingt; gt; n;

por=nuevo estudiante[n];

chico.in_put(per, n)

chico.in_file(por, n) ;

eliminar []per;

romper

}

caso 2:

{

p>

outp=nuevo estudiante[n];

boy.readout(outp);

boy.A_caculate(outp);

chico. out_put(outp);

eliminar[]outp;

romper

}

caso 3:

{

outp=nuevo estudiante[n];

chico.readout(salida);

chico.T_caculate(salida);

boy.out_put(outp);

eliminar[]outp;

romper;

}

caso 4:

p>

{

int número, bandera;

char bandera1

outp=nuevo estudiante[n];

boy.readout(outp);

do

{

coutlt;lt;"ingrese el número de estudiantes que quiero encontrar:"lt; lt; endl;

cingt; gt; número;

flag=boy.Cacu_aver(outp, número);

if (flag==1)

{

coutlt;lt;"¿quieres entrar?

¿poner de nuevo?'Y'/'N'"lt;lt;endl;

cingt;gt;flag1;

}

else

romper;

}

mientras (flag1=='y'||flag1=='Y');

boy.in_file(outp , n);

eliminar[]outp;

romper

}

caso 5:

{

int número, bandera;

char flag1;

salida=nuevo estudiante[n]; );

do

{

coutlt;lt;"ingrese el número de estudiantes que desea encontrar:"lt;lt;endl;

cingt; número;

bandera=boy.Cacu_total(salida, número

if (bandera==1)

{

coutlt;lt;"¿quieres ingresar de nuevo?'Y'/'N'"lt;lt;endl;

cingt;gt;flag1;

p>

}

else

romper

}

mientras (flag1=='y '||flag1= ='Y');

boy.in_file(outp, n);

eliminar[]outp;

romper;

}

caso 6:

{

outp=nuevo estudiante[n];

chico.readout( salida);

p>

boy.out_put(salida);

descanso

}

p>

}

}

mientras (m!=7

devuelve 0; >

Un simple recordatorio: debes contactar a más personas tú mismo; de lo contrario, será difícil aprender bien