Red de conocimiento informático - Conocimiento informático - Programación en c++ del sistema de gestión del estado de los estudiantes

Programación en c++ del sistema de gestión del estado de los estudiantes

#include

#include

#include

#include

#include

# incluye

usando el espacio de nombres std

int i

struct Student <; /p>

{ nombre de char[20];

sexo de char[10];

int edad,num

struct sco

{ int phy;

int matemáticas;

int inglés;

int computadora

int vc; p>

int inglés; p>

}puntuación;

}stu [1000];

void scan()

{ int u ,xe;

i=0;

for(u=0;u<1000;u++)

{ strcpy(stu[u].nombre, "/0");

strcpy(stu[u].sex,"/0");

stu[u].num=0; >stu[u].edad= 0;

stu[u].score.phy=0

stu[u].score.maths=0;

stu[u].score.english=0;

stu[u].score.computer=0;

stu[u].score.vc=0;

}

printf("Ingrese la información que desea ingresar en orden, primero su nombre, luego su número de identificación de estudiante, sexo, edad y sus calificaciones (para 5 materias) , este sistema almacena información sobre 1000 estudiantes para la mayor cantidad de materias. Esta sección almacena información de 1000 estudiantes y los 1000 restantes/n");

do

{ printf(" Ingrese el nombre del estudiante\n");

scanf("%s",&stu[i].name);

printf("Ingrese el número de estudiante\n");

scanf( "%d",&stu[i].num);

printf("Ingrese el género del estudiante\n"); "%s",&stu[i ].sex)&&strcmp(stu[i].sex, "niño")! =0&&strcmp(stu[i].sexo, "chica")! =0)

printf("Error de entrada, por favor ingrese de nuevo");

printf("Ingrese material

edad de la abolladura \n");

scanf("%d",&stu[i].age);

printf("Ingrese la calificación del estudiante (5 materias)\n")

printf("Física:");

scanf("%d",&stu[i].

printf("Física:") ;

scanf("%d",&stu[i].score.maths

printf("Computadora:");

scanf("%); d",&stu[i].score.computer);

printf("Computadora: ")computadora);

printf("Inglés:");

scanf("%d",&stu[i].score.inglés);

printf("VC:");

scanf("%d",&stu[ i].score.vc);

printf("%d\n restante",999-i);

printf("0 Continúe ingresando la siguiente información del estudiante (n1); devuelve Menu(n)");

i++;

if(i>=1000){printf("El espacio de almacenamiento del sistema está lleno, no puede continuar aumentando, ¡lo siento! " ) ; break;}

while(scanf("%d",&xe)&&xe!=0&&xe!=1)

printf("Error de entrada, ingrese nuevamente") ;

if(xe==0)printf("Continúe ingresando \n"

} while(xe!=1); }

void watch1()

{ if(i==0)printf("Ingrese la información del estudiante\n primero"

while( i ! =0)

{ int i2,j2,todos[100],promedio[100],g,a,za

cambio de carácter3[10]; >

for(i2=0;i2

{ todo[i2]=stu[i2].score.phy+stu[i2].score.computer+stu[i2 ] .score.english+stu[i2].score.maths+stu[i2].score.vc

promedio[i2]=all[i2]/5; }

for(i2=0;i2

{ todo[i2]=stu[i2].

for(i2=1 ; i2

{ for(j2=1;j2

{ si(todos[j2-1]

{ a=stu[j2-1].age;stu[j2-1].age=stu[j2].age;stu[j2].age=a

a = stu[j2-1].score.computer;stu

[j2-1].score.computer=stu[j2].score.computer;stu[j2].score.computer=a

a=stu[j2-1].score.english; stu[j2-1].score.english=stu[j2].score.english;stu[j2].score.english=a

a=stu[j2-1].score.maths ;stu[j2-1].score.maths=stu[j2 ].score.maths;stu[j2].score.maths=a;

a=stu[j2-1].score. phy;stu[j2-1].score.phy=stu[j2].

a=stu[j2-1].score.phy;stu[j2-1].score.phy=stu [j2].score.phy=a;

a=stu[j2-1].score.vc;stu[j2-1].score.vc=stu[j2].score.vc; stu[j2].score.vc=a;

a=todos[j2-1];todos[j2-1]=todos[j2];todos[j2]=a;

a=stu[j2-1].num;stu[j2-1].num=stu[j2].num;stu[j2].num=a

a=averge[; j2-1];promedio[j2-1]=promedio[j2];promedio[j2]=a;

strcpy( change3,stu[j2-1].nombre); p>strcpy(stu[j2-1].nombre,stu[j2].

strcpy(cambio3,stu[ j2-1].sexo);

strcpy(stu[ j2-1].sexo,stu[j2].sexo);

strcpy(stu[j2-1].sexo,stu[j2].sexo); stu[j2].sex,change3);

}

}

}

printf("Nombre del número de escuela,stu[ g].nombre,stu[g].sexo,stu[g].edad,stu[g].score.phy,stu[g].score.maths,stu[g].score.inglés,stu[g] .score.computer,stu[g].score.vc,all[g],averge[g],g+1);

printf("Ingrese 0 para volver al menú"); p>

p>

while(scanf("%d",&za)&&za!=0)

printf("Error de entrada, ingrese nuevamente"); p> if(za ==0) romper

}

}

void watch2()

{ if(i= =0) printf( "Primero ingrese la información del estudiante\n");

while(i! =0)

{ int max[5],min[5], j,g,i2,all[100],averge[100],za,j2,a,yy[5][2 ]; cambio de carácter3[20];

r(i2=0;i2

{ all[i2]=stu[i2].score.phy+stu[i2 ].score.computer+stu[i2].score. inglés+stu[i2].score.maths+stu[i2].score.vc;

promedio[i2]=all[i2]/5

}

for(i2=0;i2

{ todo[i2]=stu[i2].

for(i2=0;i2

{ for(j2=1;j2

{ if(all[j2-1]

{ a=stu[j2-1].age;stu[j2-1].age=stu[j2].age;stu[j2] .age=a

a=stu[ j2-1].score.computer;stu[j2-1].score.computer=stu[j2].score.computer;stu[j2].score.computer=a

a=stu; [j2- 1].score.english;stu[j2-1].score.english=stu[j2].score.english;stu[j2].score.english=a

a=; stu[j2-1].score.maths;stu[j2-1].score.maths=stu[j2].score.maths;stu[j2].score.maths=a

a; =stu[j2-1].score.phy;stu[j2-1].score.phy=stu[j2].score.phy;stu[j2].score.phy=a

a=stu[j2-1].score.vc;stu[j2-1].score.vc=stu[j2].score.vc;stu[j2].score.vc=a

a=stu[j2-1].score.phy;stu[j2-1].score.phy=stu[j2].vc=a

a=all[j2-1]; todo[j2-1]=todo[j2 ];todo[j2]=a;

a=stu[j2-1].num;stu[j2-1].num=stu[j2] .num;stu[j2].num=a;

a=promedio[j2-1];promedio[j2-1]=promedio[j2];promedio[j2 ]=a; >

strcpy(change3,stu[j2-1].nombre);

strcpy(stu[j2-1].nombre,stu[j2].

strcpy( change3,stu[j2-1].nombre);

strcpy(stu[j2-1].nombre,stu[j2].

}

}

printf("Número de escuela Nombre Género Edad Física Matemáticas Inglés Computadora VC Puntuación total Puntuación promedio Clasificación\n");

{ all[i2]=stu[i2].score.phy+stu[i2].score.computer +stu[i2].score.eng

lish+stu[i2].score.maths+stu[i2].score.vc;

promedio[i2]=all[i2]/5

}

for(i2=0;i2

{ todo[i2]=stu[i2].

for(g=0;g

printf("%-6d%-10s%-5s%-5s%-5d%-5d%-5d%-5d%-5d%-5d%-5d%-5d% -5d%-5d%-5d\n",stu[g].número,stu[g].nombre,stu[g].sexo,stu[g].edad,stu[g].puntuación.phy,stu [g].score.maths,stu[g].score.English,stu[g].score.computer,stu[g].score.vc,all[g],averge[g],g+1);

max[0]=0;min[0]=100;

para (j=0;j

{

p>

if(stu[j].score.phy>=max[0])

{ max[0]=stu[j].score.phy;yy [0][0 ]=j;}

if(stu[j].score.phy<=min[0])

{ min[0]=stu[j ].score.phy ;yy[0][1]=j;}

}

max[3]=0;min[3]=100

;

for( j=0;j

{

if(stu[j].score.computer>=max[3])

{ max[3]=stu[j].score.computer;yy[3][0]=j;}

{

if(stu[j ].score.computer <=min[ 3])

{ min[3]=stu[j].score.computer;yy[3][1]=j;}

}

max[2]=0;min[2]=100

for(j=0;j

{

if (stu[j].score.english>=max[2])

{ max[2]=stu[j].score.english;yy[2 ][0]= j;}

}

if(stu[j].score.english<=min[2])

{ min[ 2]=stu[ j].score.english;yy[2][1]=j;}

}

max[1]=0;min[1]= 100;

for(j=0;j

{

if(stu[j]. puntuación.maths>=max[ 1])

{ max[1]=stu[j].score.maths;yy[1][0]=j;}

{

if(stu[ j].

if(stu[j].score.maths<=min[1])

{ min[1]=stu[j]. .score.maths; yy[1][1]=j;}

}

max[4]=0;min[4]=100

<; p>f

or(j=0;j

{

if(stu[j].score.vc>=max[4] )

{ max[4]=stu[j].score.vc;yy[4][0]=j;}

}

if(stu[j].score .vc<=min[4])

{ min[4]=stu[j].score.vc;yy[4][1]=j;}

}

printf("Física max:%d %s min:%d %s\nMatemáticas max:%d %s min:%d %s\nInglés max:%d %s min:%d % s\nComputadora máx:%d %s min:%d %s\nV C max:%d %s min:%d %s\n",max[0],stu[ yy[0][0]]. nombre,min[0],stu[yy[0][1]].nombre,max[1],stu[yy[1][0]].nombre,min[1],stu[yy[1][ 1]].nombre,max[2],stu[yy[2][0]].nombre,min[2],stu[ yy[2][1]].nombre,max[3],stu[yy [3][0]].nombre,min[3],stu[aa[3][1]].nombre,max[4],stu[aa[4][0]].nombre,min[4] ,stu[yy[4][1]].name);

printf ("Ingrese 0 para regresar al menú"

while(scanf("%d"); ,&za) &&za!=0)

printf("Error de entrada, ingrese nuevamente");

if(za==0) break

}

}

void fine()

{ if(i==0)printf("Ingrese primero la información del estudiante\n"); p>

while(i!=0)

{ printf("Para buscar con el número de estudiante, ingrese 0, para buscar con el nombre, ingrese 1\n"); >int i1 ,j1, num1,te=0,tc=0;char nombre1[20];

scanf("%d",&i1); =0&&i1!=1)

printf("Error de entrada \n");

else if(i1==0 )

{ printf("Por favor ingrese el número de estudiante");

scanf("%d",&num1);

for(j1=0;j1

if (num1==stu[j1].

{ printf("Nº de estudiante:%dNombre:%sGénero:%sEdad:%dFísica:%dMatemáticas:%dInglés:%dComputadora:%dVC:%dPuntuación total %d\n",stu[j1].num,stu[j1].nombre,stu[j1].sexo,stu[j1].edad,stu[j1].score.phy,stu[j1].score. matemáticas, estu

[j1].score.inglés,stu[j1].score.computadora,stu[j1].score.vc,stu[j1].score.vc+stu[j1].score.computadora+stu[j1].score .inglés+stu[j1].score.maths+stu[j1].score.phy

te=1

}

if( te!=1) printf("No hay información para este estudiante\n");

}

else if(i1==1)

{ printf ("Por favor ingrese el nombre del estudiante");

scanf("%s",&name1

for(j1=0;j1<); p>if(strcmp(nombre1,stu[j1].nombre)==0)

{ printf("Número:%dNombre:%sGénero:%sEdad:%dFísica:%dMatemáticas:%dInglés:%dComputadora:% dVC:%dPuntuación total%d\n",stu[j1].num,stu[j1].nombre,stu[j1].sexo,stu[j1].edad,stu[j1].score.phy,stu[ j1].score.maths,stu[j1].score.inglés,stu[j1].score.computer,stu[j1].score.vc,stu[j1].score.vc+stu[j1].score. computadora+stu[j1] .score.english+stu[j1].score.maths+stu[j1].score.phy

tc=1

} <; /p>

tc=1.

if(tc!=1) printf("No hay información sobre este estudiante\n"); p>printf("Para continuar buscando ingrese 1, para regresar al menú ingrese 0"

int qq; )&&qq! =0&&qq!=1)

printf("Error de entrada, ingrese nuevamente");

if(qq==1)continue

if( qq==0)romper;

}

}

void se convirtió en()

{ if(i==0)printf ("Ingrese la información del estudiante (ingrese primero la información del estudiante)");

while(i!=0)

{ printf("Ingrese el número de estudiante que desea modificar). \n");

int num2,j3;

scanf("%d",&num2);

for(j3=0;j3<= i;j3++)

if(num2==stu[ j3].num)

{ strcpy(stu[ j3].n

ame,"/0");

printf("Vuelva a ingresar todos los datos de este estudiante, en orden, número de estudiante, nombre, sexo, edad, física, matemáticas, inglés, computadora, VC. \n");

printf("Ingresando el nombre del estudiante\n");

printf("Ingresando el nombre del estudiante\n").

scanf( "%s",&stu[j3].name);

printf("Ingrese el número del estudiante\n");

scanf("%d",&stu[j3]. num);

printf("Ingrese el género del estudiante \n");

while(scanf("%s",&stu[j3].sex)&&strcmp(stu[j3].sex, " boy")!=0&&strcmp(stu[j3].sex, "girl")!=0)

printf("Error de entrada, por favor ingrese nuevamente");

printf( "Ingrese la edad del estudiante \n");

scanf("%d",&stu[j3].age);

printf("Ingrese la calificación del estudiante (5 materias)\n ");

printf("Física:");

scanf("%d",&stu[j3].score.phy);

printf ("Matemáticas:");

scanf("%d",&stu[j3].

printf("Computadora:");

scanf( "%d",&stu[j3].score.computer);

printf("Inglés:

scanf("%d",&stu[j3].

printf("VC:");

scanf("%d",&stu[j3].score.vc);

printf("Modificado correctamente ");

}

else("No se encontraron estudiantes para este número de estudiante, asegúrese de ingresarlo correctamente\n");

int za;

printf("Ingrese 0 para regresar al menú, ingrese 1 para continuar buscando");

while(scanf("%d",&za)&&za! =0&&za!=1)

printf("Ingresado incorrectamente, ingrese nuevamente"); (za==1)continuar;

}

}

anular()

{ si(i==0) principe

tf("Ingrese la información del estudiante \n primero");

while(i!= 0)

{ printf("Ingrese el número de estudiante que desea eliminar \n");

int num3,j4,i3,za;

scanf("%d",&num3);

for(j4=0 ;j4<=i;j4++)

if( num3==stu[j4].num)

{ for(i3=j4;i3

{ stu[i3].num=stu[i3+1].

stu[i3].num=stu[i3+1].num

stu; [i3].edad=stu[i3+1].edad;

strcpy( stu[i3].nombre,stu[i3+1].nombre); stu[i3].sexo,stu[i3+1].sexo);

stu[i3].score.computer=stu[i3+1].score.computer; ].

stu[i3].score.english=stu[i3+1].score.english

stu[i3].score.maths=stu[i3+1; ].score.maths;

stu[i3].score.phy=stu[i3+1 ].score.phy

stu[i3].score.vc=stu; [i3+1].score.vc;

}

i--;

printf("Modificación exitosa\n");

}

else printf("Número de estudiante no encontrado. Asegúrese de que la entrada sea correcta \n"));

printf("Ingrese 0 para regresar al menú, ingrese 1 Continuar modificando");

while(scanf("%d",&za)&&za!=0&&za!=1)

printf("Error de entrada. Por favor entrar de nuevo") ;

if(za==0)interrumpir;

if(za==1)continuar;

}

}

}

anular en()

{ for(;;)

{ if(i>1000){ printf("El almacenamiento del sistema está lleno, no se puede continuar agregando más, ¡lo siento!}

printf("Ingrese la información del estudiante que se agregará, en orden: número de estudiante, nombre, sexo, edad, física, matemáticas , inglés, computadora, VC.\n");

i++;

printf("Ingrese el nombre del estudiante \n");

scanf(" %s", &

amp;stu[i-1].name);

printf("Ingrese el número de estudiante \n");

scanf("%d", &stu[i-1] .num);

printf("Ingrese el género del estudiante\n");

while(scanf("%s ",&stu[i-1].sex)&&strcmp(stu). [i-1].sex, "chico")! =0&&strcmp(stu[i-1].sex, "chica")! =0)

printf("Error de entrada, por favor ingrese nuevamente"

printf("Ingrese la edad del estudiante \n");

scanf("%d",&stu[i-1].age

printf("Ingrese la calificación del estudiante (5 materias)\n");

printf("Física:"); ].score.phy);

printf("Matemáticas:");

scanf("%d",&stu[i-1].

printf("Matemáticas:");

scanf("%d",&stu[i-1].score.maths

printf("Inglés:"); /p>

scanf("%d",&stu[i-1].

scanf("%d",&stu[i-1].score.English);

scanf("%d",&stu[i-1].score.maths).

printf("VC:");

scanf("%d"); ,&stu[i-1].score.vc);

printf("Entrada exitosa, %d restantes",1000-i); {printf("El almacenamiento del sistema está lleno y no puede seguir aumentando, ¡lo siento! (¡El almacenamiento del sistema está lleno y no puede seguir aumentando, lo siento!)");break;}

int zu(i>=1000 ){printf("El almacenamiento del sistema está lleno y no puede continuar aumentando, ¡lo siento!

int za;

printf("Ingrese 0 para regresar al menú, ingrese 1 para continuar aumentando ");

while(scanf("%d",&za)&&za!=0&&za!=1)

printf("Error de entrada, por favor ingrese nuevamente"); p>

si(za==0)romper

si(za==1)continuar

}

}

void main()

{ int a,wu=0;

ARCHIVO * fp

fp=fopen("out.t;

xt", "rb+");

if(feof(fp)!= 0)i=0;

mientras(feof(fp)==0)

{ fread(&i,sizeof(int),1,fp);

for(int m=0;m

fread(&stu[m] ], sizeof(struct Student),1,fp);

fread(&stu[m], "rb+");

fread(fp=fopen("out.txt"); ,1 sizeof(struct estudiante),1,fp

}

fclose(fp

do

{printf); ("************************menú principal ********************** **\n");

printf(" 1. Ingrese y almacene la información del estudiante (se eliminarán los registros anteriores)\n");

printf(" 2. Ver estudiante información (ordenada)/n" ;

printf(" 3. Estadísticas de desempeño de los estudiantes/n");

printf(" 4. Buscar información de los estudiantes/n");

printf( " 5. Modificar información del estudiante/n");

printf(" 6. Eliminar información del estudiante/n")Eliminar información del estudiante\n");

printf(" 7. Agregar información del estudiante\n");

printf(" 8. Salir\n"); ******** *** *************************************\n ");

printf("Ingrese el número de serie del artículo seleccionado:");

while(scanf("%d",&a)&&a!=0&&a!= 1& amp;&a!=2&&a!=3&&a!=4&&a!=5&&a !=6&&a!=7&&a!=8)

printf("Error al escribir, escriba nuevamente"); a==1)

{scan() ;}

if(a==2)

{watch1();}

if(a==3)

{watch2();}

if(a==4)

{fine();}

if(a==5)

{se convirtió();}

if(a==6)

{fuera( );}

si(a==7 )

{into();}

si(a==8)

{ ARCHIVO *fp;

fp= fopen ("out.txt", "rb+");

fwrite(&i,sizeof(int),1,fp);

for(int m=0;m

fwrite(&stu[m],sizeof(struct Student),1,fp

fcerrar(fp)

;

romper;

}

} mientras(8)

}

}

}