Defina un estudiante de clase. Los miembros de datos incluyen el número del estudiante, el nombre, la puntuación de C#, la puntuación de inglés y la puntuación de matemáticas. La función miembro setstu implementa el cálculo de cada número.
#includelt;iostreamgt;
#includelt;cstringgt;
#includelt;iomanipgt;
#includelt;windows.hgt;
usando el espacio de nombres std;
//Declarar la clase abstracta Persona class
clase Persona
{
public :
Persona() {};
~Persona() {};
virtual void setperson() =0; información
virtual void getperson() =0; //Información de salida de función virtual pura
};
//Declarar clase de información del estudiante
clase Estudiante: Persona pública //Herencia pública
{
público:
Estudiante() {};
~Estudiante ( ) {};
void setnumber(int num){number=num;}
void setname(char *n){strcpy(name, n);}
void setgrade(char *g){strcpy(calificación, g);}
int getnumber(){return number;}
char *getname(){return nombre ;}
char *getgrade(){return grade;}
void setstudent() // Función de entrada
{
coutlt ;lt;"Por favor, introduzca el número de estudiante del estudiante:";
cingt;gt;number;
coutlt;lt;"Por favor, introduzca el nombre del estudiante:";
cingt;gt;name;
coutlt;lt;"Por favor ingrese la clase en la que está el estudiante:";
cingt;gt;grade;
}
p>privado:
char nombre[20]; //nombre del estudiante
char grado[20]; //clase del estudiante
int number; //Número de identificación del estudiante
};
//Declaración de clase de calificación
Puntuación de clase
{
público:
Puntuación() {};
~Puntuación() {}; E){english=E;}
void setmath(float M){math=M;}
void setphysics(float P){physics=P;}
void setsports(flotador S ){deportes
=S;}
void setcomputer(float C){computer=C;}
float getenglish(){return english;}
float getmath() {return math;}
float getphysics(){returnphysics;}
float getsports(){return sports;}
float getcomputer(){return computadora;}
void setcore() //Función de entrada
{
coutlt;lt;"Ingrese su puntuación en inglés:";
cingt;gt;inglés;
coutlt;lt;"Por favor, ingresa tu puntuación en matemáticas:";
cingt;gt;math;
coutlt ;lt; ;"Ingrese el puntaje de física:";
cingt;gt;physics;
coutlt;lt;"Ingrese el puntaje deportivo:";
cingt; gt;
coutlt; "Por favor, ingrese la calificación C:";
cingt; /p>
float total(); //Calcular puntaje de crédito
privado:
float english;
float math;
física de flotación;
deportes de flotación
computadora de flotación;
};
puntuación de flotación:: total()
p>{ float zong;
zong=inglés*2 matemáticas*4 física*4 deportes*1 computadora*3
return zong/14.0;
}
//Declarar la clase de información de puntuación del estudiante
clase stuscore: estudiante público, puntuación pública //Herencia múltiple
{
public:
stuscore() {};
~stuscore() {}
void setstuscore();
void printf1(){coutlt;lt;" "lt;lt;getnumber()lt;lt;" "lt;lt;getname()lt;lt;" "lt;lt;getenglish( );}
void printf2(){coutlt;lt;" "lt;lt;getnumber()lt;lt;" "lt;lt;getname()lt;lt;" "lt;lt ;getmath();}
void printf3(){coutlt;lt;" "lt;lt;getnumber()lt;lt;" "lt;lt;ge
tname()lt;lt;" "lt;lt;getphysics();}
void prinft4(){coutlt;lt;" "lt;lt;getnumber()lt;lt;" "lt ;lt;getname()lt;lt;" "lt;lt;getsports();}
void printf5(){coutlt;lt;" "lt;lt;getnumber()lt;lt; ""lt;lt;getname()lt;lt;" "lt;lt;getcomputer();}
void print()
{
coutlt;lt;" "lt;lt;getnumber()lt;lt;" "lt;lt;getname()lt;lt;" "lt;lt;getenglish()lt;lt;" "lt;lt;getmath ()lt;lt;" "lt;lt;getphysics()lt;lt;" "lt;lt;getsports()lt;lt;" "lt;lt;getcomputer()lt;lt;endl;
}
};
void stuscore::setstuscore() //Definir la función de entrada
{
setstudent(
setscore();
}
menú vacío();
int func1(stuscore stusco[]);
void func2(stuscore stusco[], int m);
void func3(stuscore stusco[],
void func4(stuscore stusco[); ], int m);
void func5(stuscore stusco[], int m
int i=-1;
int f; p>
int f p>
int número;
nombre de char[20];
inglés flotante;
matemáticas flotantes; p>
física de flotación;
deportes de flotación;
computadora flotante;
//Función principal
void main()
{
stuscore stusco[20];
int n;
menú(); ; lt; "Ingrese 1 Un número entre ~7 "lt;lt;endl;
coutlt;lt;" Ingrese la opción de menú: ";
cingt;gt; n;
while(1)
{
switch(n)
{
caso 1: f=func1(stusco);
caso 2: func2(stusco, f);
caso 3: func3(stusco, f); >
caso 4: func4(stusco, f);
ca;
se 5: func5(stusco, f); break;
caso 7: salida
}
}
}
//Función del menú principal
void menu()
{
system("color D");
coutlt;lt;"¡Bienvenido al sistema de gestión del desempeño estudiantil!"lt;lt;endl;
coutlt;lt;"************** **********************************************"lt;lt ;endl;
coutlt;lt;"------------------Sistema de gestión del desempeño estudiantil------------- --- ------"lt;lt;endl;
coutlt;lt;"************************ ****** *************************************"lt;lt;endl;
coutlt;lt; "* 1. Entrada de puntuación del estudiante*"lt;lt;endl;
coutlt;lt;"* 2. Consulta de puntuación del estudiante*"lt;lt;endl ;
coutlt; lt;"* 3. Modificar las puntuaciones de los estudiantes*"lt;lt;endl;
coutlt;lt;"* 4. Consultar las puntuaciones de todos los estudiantes en un materia única*"lt;lt;endl;
coutlt;lt;"* 5. Estadísticas de puntuación de una sola materia*"lt;lt;endl;
coutlt;lt;"* (puntaje promedio y proporción de cada rango de puntaje) *"lt ;lt; endl;
coutlt;lt;"* 6. Clasificación de puntaje general de los estudiantes*"lt;lt;endl;
coutlt;lt;"* 7. Salir del sistema* "lt;lt;endl;
coutlt;lt;endl;
}
/ /Ingrese la función de calificación
int func1( stuscore stusco[])
{ char p
do{
i; p>
stusco[i].setstuscore();
coutlt;lt;"¡Entrada exitosa! ";
coutlt;lt;"Si desea continuar escribiendo (presione y para continuar escribiendo, presione n para salir): "lt;lt;endl;
cingt; gt; p;
}mientras(p=='y');
devolver i 1
;
}
//Función de puntuación de consulta
void func2(stuscore stusco[])
{
int k;
coutlt;lt;"--------[1] Consulta por nombre----------------"lt;lt ;endl;
coutlt;lt;"--------[2] Buscar por número de estudiante------------"lt;lt;endl;
coutlt;lt;"Ingrese el método de consulta (1 o 2):";
cingt;gt;k;
if (k==1 )
{
char n='y';
int u[10]; ')
{
int j=0;
coutlt;lt; "Ingrese el nombre del estudiante que desea consultar:"
p>cingt;gt; nombre;
int t=0;
for(;tlt;f;t)
if(strcmp( nombre,stusco[t].getname( ))==0)
{ u[j]=t
j
}
if(j== 0)
{ coutlt;lt;"¡No hay ningún nombre de estudiante que desee consultar!";//No encontrado
coutlt;lt ;"¿Quieres salir? Pulsa n"lt para salir ;lt;endl;
cingt;gt;n;
}
for( int b=0;blt;j;b)
{
if(jlt;2)
{
t=u [b];
coutlt;lt; "Número de estudiante"lt;lt;" Nombre"lt;lt;" Inglés"lt;lt;" Matemáticas"lt;lt;" Física"lt;lt ;" Educación Física"lt;lt;" C "lt;lt; "Puntuación de crédito"lt;lt;endl;
coutlt;lt;" "lt;lt;stusco[t].getnumber( )lt;lt;" "lt;lt;stusco[t]. getname()lt;lt;" "lt;lt;stusco[t].getenglish()lt;lt;" "lt;lt;stusco[t] ].getmath()
lt;lt; " "lt;lt;stusco[t].getphysics()lt;lt;" "lt;lt;stusco[t].getsports()lt; lt;" "lt;lt;stusco[t].getcomputer() lt;lt;" "lt;lt;stusco[t].total()lt;lt;endl;
coutlt;lt ;" Si
Continúe la consulta (presione y para continuar, n para salir): "lt;lt;endl;
cingt;gt;n;
}
otro
{
t=u[b]
}
}
}
}
if(k==2)
{
char n='y';
while( n= ='y')
{
int j=0;
coutlt;lt;"Ingrese el número de estudiante del estudiante que desea consulta:";
cingt; gt; número;
int t=0;
for(;tlt;f;t)
{
p>
if(number==stusco[t].getnumber())
{
coutlt;lt;" estudiante número"lt;lt;" nombre"lt ;lt;" Inglés"lt;lt;" Matemáticas"lt;lt;" Física"lt;lt;" Educación Física"lt;lt;" Puntaje de crédito"lt;lt;endl; p>
coutlt;lt;" "lt;lt;stusco[t].getnumber()lt;lt;" "lt;lt;stusco[t].getname ()lt;lt;" "lt;lt ;stusco[t].getenglish()lt;lt;" "lt;lt;stusco[t].getmath()
lt;lt;" "lt;lt;stusco[t].getphysics ()lt;lt;" "lt;lt;stusco[t].getsports()lt;lt;" "lt;lt;stusco[t].getcomputer()lt ;lt;" "lt;lt;stusco[ t].total()lt;lt;endl;
coutlt;lt;"Si continuar con la consulta (presione y para continuar, n para salir ):"lt;lt;endl;
cingt;gt;n;
}
else
{ coutlt;lt; "¡No hay ningún estudiante al que quieras consultar! ";
coutlt;lt;"¿Salir? Para salir, presione n"lt;lt;endl;
cingt;gt;n;
}
}
}
p>}
}
//Modificar función de información
void func3(stuscore stusco[], int m) p>
{
int j=0, b[20], r;
int bandera
char n='y'; /p>
while(n=='y')
{
coutlt;lt;"Por favor, introduce
Número de estudiante cuyas calificaciones se van a modificar: ";
cingt; gt; number;
flag=0;
int d;
for(int t=0; tlt; m; t )
if(number==stusco[t].getnumber())
do{
b[j]=t;
coutlt;lt;"Por favor seleccione la información a modificar: "lt;lt;endl;
coutlt;lt;"1. Modificar puntuación de inglés"lt;lt;endl;
coutlt;lt;"2 Modificar puntuación de matemáticas"lt;lt;endl;
coutlt;lt;"3. puntuación" lt;lt;endl;
coutlt;lt;"4 Modificar puntuaciones deportivas"lt;lt;endl;
coutlt;lt;"5. lt; lt; endl;
coutlt;
si ( d==1)
{
coutlt;lt;"Ingrese una nueva partitura en inglés:";
cingt;gt;english; p >
stusco[t].setenglish(inglés);
}
else if(d==2)
{
coutlt;lt;"Ingrese la nueva puntuación de matemáticas:";
cingt;gt;math;
stusco[t].setmath(math);
}
else if(d==3)
{
coutlt;lt;"Ingrese una nueva puntuación de física:";
p>cingt; gt; física;
stusco[t].setphysics(física);
}
else if(d) ==4 )
{
coutlt;lt;"Ingrese nuevos resultados deportivos:";
cingt;gt;sports;
stusco[t].setsports(deportes);
}
else if(d==5)
{
coutlt; lt; "Ingrese una nueva calificación C:";
cingt;
stusco[t].setcomputer(computer); > }
bandera=1;
j ;
}mientras(dlt; 1||dgt; 5) (flag ==0)
{
coutlt;lt;"¡No hay ningún estudiante que estés buscando! "lt;lt;endl;
>
coutlt;lt;"Vuelva a ingresar (presione n para salir)";
cingt;gt;n;
}
else
{
cout<
}
}
coutlt;lt;"Puntuaciones de estudiantes modificadas: "lt;lt;endl;
coutlt;lt ;" Nombre del estudiante Inglés Matemáticas Física Educación Física C "lt; lt; endl;
for (int t=0; tlt; j; t )
{
r=b[t];
estusco[r].print();
}
}
// Consulta las puntuaciones de todos los alumnos de una sola materia
void func4(stuscore stusco[], int m)
{
int k;
char n='y';
while(n=='y')
{
coutlt;lt;"1.Inglés"lt;lt; endl;
coutlt;lt;"2.Matemáticas"lt;lt;endl;
coutlt;lt;"3.Física"lt;lt;endl;
coutlt;lt;"4.体育"lt;lt;endl;
coutlt;lt; "5.C "lt;lt;endl;
coutlt;lt ;endl;
coutlt;lt;"Por favor, introduzca un número entre 1 y 5 para seleccionar el asunto que desea consultado:";
cingt;gt;k;
if(k==1)
{
for(int t =0;tlt;m;t)
stusco[t].printf1(
}
else if(k==2)); p>
{
for(int t=0; tlt; m ;t )
stusco[t].printf2();
}
else if(k==3)
{
for(int t=0; tlt; m; t )
stusco[t].printf3();
}
else if(k==4)
{
for(int t=0;tlt;m;t)
stusco[t].printt4 ();
}
else if(k==5)
{
for(int t=0; tlt
;m;t )
stusco[t].printf5();
}
coutlt;lt;"¿Quieres continuar consultando? (Por favor haga clic en Sí para continuar y, presione n) para salir: ";
cingt; gt; n;
}
}
void func5(stuscore stusco[], int m)
{
int k
flotar excelencia
flotar bien;
pase flotante;
fallo flotante
int exc=0, wel=0, pas=0, fai=0; > coutlt; lt; "1.Inglés"lt;lt;endl;
coutlt;lt;"2.Matemáticas"lt;lt;endl;
coutlt;lt;" 3.Física"lt ;lt; endl;
coutlt;lt;"4.Deportes"lt;lt;endl;
coutlt;lt;"5.C "lt; lt;endl;
coutlt;lt;endl;
coutlt;lt;"Por favor, introduzca un número entre 1 y 5 para seleccionar los temas que requieren estadísticas:";
cingt; gt;k;
if(k==1)
{
for(int t=0;tlt;m; t)
{if(stusco[t].getenglish()gt;=85) exc;
else if(stusco[t].getenglish()gt;=70) wel;
else if(stusco[t].getenglish()gt;=60) pas;
else if(stusco[t].getenglish()lt; 60) fai ;
}
excelencia=exc/m;
bien=wel/m
pass=pas/m; p>
fail =fai/m;
coutlt;lt;"El resultado estadístico del desempeño en inglés es "lt;lt;endl;
coutlt;lt;"Excelencia tarifa:"lt;lt;excellencelt ;lt;endl;
coutlt;lt;"Buena tarifa:"lt;lt;welllt;lt;endl;
coutlt;lt; "Tasa de aprobación:"lt;lt ; passlt;lt;endl;
coutlt;lt;"Tasa de fracaso:"lt;lt;failt;lt;endl;
}
else if(k==2)
{
for(int t=0;tlt;m;t)
{ if(stusco[t]. getmath()gt;=85) exc;
else if(stusco[t].getmath()gt;=70) wel;
else si(stusco[t]. getmath()gt
;=60) pas;
else if(stusco[t].getmath()lt; 60) fai;
}
excelencia=exc/m ;
bien=wel/m;
pass=pas/m;
fail=fai/m;
coutlt;lt ;"Los resultados estadísticos de las puntuaciones de matemáticas son"lt;lt;endl;
coutlt;lt;"Índice de excelencia:"lt;lt;excellencelt;lt;endl;
coutlt ;lt; ;"Buena tasa:"lt;lt;welllt;lt;endl;
coutlt;lt;"Tasa de aprobación:"lt;lt;passlt;lt;endl;
coutlt ;lt;"Tasa de fallos:"lt;lt;failt;lt;endl;
}
else if(k==3)
{
for(int t=0; tlt; m; t )
{if(stuscco[t].getphysics()gt;=85) exc;
else if(stusco[t].getphysics()gt;=70) wel;
else if(stusco[t].getphysics()gt;=60) pas;
else if(stusco[t].getphysics()lt; 60) fai
}
excelencia=exc/m; =wel /m;
pass=pas/m;
fail=fai/m;
coutlt;lt;"El resultado de las estadísticas de puntuación de física es " lt;lt ;endl;
coutlt;lt;"Tarifa de excelencia:"lt;lt;excellencelt;lt;endl;
coutlt;lt;"Buena tarifa:"lt; lt;welllt ;lt;endl;
coutlt;lt;"Tasa de aprobados:"lt;lt;passlt;lt;endl;
coutlt;lt;"Tasa de reprobados:" lt; lt; falla lt; endl;
}
si(k==4)
{
para( int t =0; tlt; m t )
{if(stusco[t].getsports()gt;=85) exc;
else if(stusco[t] .getsports ()gt;=70) bien;
else if(stusco[t].getsports()gt;=60) pas;
else if(stusco[t] .getsports ()lt; 60) fai;
}
excelencia=exc/m
bien=wel/m; > pasar =pas/m;
fai
l=fai/m;
coutlt;lt;"El resultado estadístico del rendimiento deportivo es "lt;lt;endl;
coutlt;lt;"Índice de excelencia:"lt; lt; excelencialt;lt;endl;
coutlt;lt;"Buena tasa:"lt;lt;welllt;lt;endl;
coutlt;lt;"Tasa de aprobación:" lt; lt; passlt; lt; endl;
coutlt; "tasa de fallas:" else if(k==5)
{
for(int t=0;tlt;m;t)
{if(stuscco[t] .getcomputer()gt;=85) exc;
else if(stusco [t].getcomputer()gt;=70) wel;
else if(stusco[t] .getcomputer()gt;=60) pas;
else if(stusco [t].getcomputer()lt; 60) fai;
}
excelencia=exc/m;
bien=wel/m;
pass=pas/m;
fail=fai/m;
coutlt;lt;"El resultado de las estadísticas de puntuación C es"lt;lt;endl;
coutlt;lt;"Tarifa de excelencia:"lt;lt;excellencelt;lt;endl;
coutlt;lt;"Buena tarifa:"lt;lt;welllt;lt;endl;
coutlt;lt;"Tasa de aprobación:"lt;lt;passlt;lt;endl;
coutlt;lt;"Tasa de fracaso:"lt;lt;faillt;lt;endl ;
}
}