Escribir un sistema de gestión del desempeño de los estudiantes en C
Además, se implementa la (1) función de inserción, que requiere que la clasificación de calificaciones se mantenga después de la inserción. .
(2) Ingrese el número de estudiante especificado para la función de eliminación. ¡Elimine de la tabla de información del estudiante y las calificaciones eliminadas mantendrán su orden original!
// -
#Incluir " stdafx.h "
# incluir ltWindows.h gt
# incluir ltvector gt p>
# incluir lt string gt
# incluir ltiostream gt
# incluir lt algoritmo gt
Usar std::CIN;
Usar std::cout;
Administrar estudiantes en clase
{
Público:
BOOL InputOneStudent();
BOOL DelOneStudent();
anular mostrar todos los estudiantes();
Privado:
anular ordenar datos();
Información de la estructura
{
std:: string name; //nombre
INT iStudentID//número de estudiante
INT iles son 1; //Resultados
INT iLesson2
INT iLesson3
Viajes internacionales; //Puntuación media
Info() { }
Información (INT iID)
: iStudentID (iID)
{
}
/ / Juzgue la igualdad para find_if()
Operador booleano () (información constante y datos) constante
{
Devuelve esto - iStudentID == data.iStudentID
}
// El juicio de igualdad se utiliza para ordenar sort() de mayor a menor.
Operador booleano () (datos de amplificador de información constante 1, suma de información constante.
Datos 2) Constante
{
Devolver datos 1 . Promedio gt; datos 2
}
} oneInfo.
STD::vector lt;Info gtvStudent
};
BOOL cmanagementstudent::inputone estudiante()
{
cout lt lt"Ingrese su número de estudiante, cancele la entrada -1\n";
CIN gt; gtoneInfo.iStudentID
if(oneinfo . istudentid = = - 1)
Devuelve FALSO
if ( find_if( vStudent.begin(), vStudent.end(), oneInfo)!= vStudent.end())
{
cout lt lt"¡El número de estudiante ya existe!\n ";
Devuelve FALSO
}
cout lt lt " Ingrese un nombre y cancele la entrada para salir\n";
CIN gt; gtoneInfo.name
if (oneInfo.name == "exit")
Return FALSE
cout lt lt "Ingrese la puntuación del curso 1, salga ingresando -1\n";
CIN gt; gtoneinfo.ilesson 1;
if(oneinfo . ilesson 1 = =-1)
Regresar FALSO
cout lt lt"Ingrese la puntuación del segundo curso, salga e ingrese -1\ n";
CIN gt; gtoneinfo .iles hijo 2;
if (oneInfo.iLesson2 == -1)
Devuelve FALSO
cout lt lt"Ingrese la puntuación del tercer curso, salga e ingrese -1\n";
CIN gt; gtoneinfo.iles son 3;
if (oneInfo) .iLesson3 == - 1)
Devuelve FALSO
oneinfo . promedio =(oneinfo . iles hijo 1 oneinfo . iles hijo 2 oneinfo . iles hijo 3)/3; p>
vstudent.push _ back(oneInfo);
sort data(); // Después de insertar un dato, es necesario ordenarlo, pero no se puede eliminar.
Devuelve VERDADERO
}
void cmanagementstudent::sort data()
{
sort(vStudent .begin(), vStudent.end(), cmanagementstudent::Info());
}
void cmanagementstudent::showall Student()
{
for(STD::vector lt;Info gt*iterator it = vstudent.begin();vStudent.end()!= it it)
{
cout lt lt"Nombre del estudiante:"
lt lt"Número de estudiante:"
lt lt"Logros de China:"
lt lt" Puntuación de matemáticas : "
lt lt" Puntuación en inglés: " < ltIt-gt;iLesson3
lt lt" Puntuación media: "
lt ltSTD:: endl;
}
}
BOOL CManageStudent::DelOneStudent()
{
cout lt lt "Por favor, introduzca su número de estudiante, cancele la entrada -1\n";
CIN gt; gtoneInfo.iStudentID
if(oneinfo . istudentid = =-1)
Regresar FALSO
STD::vector lt;Info gt*iterator it = find_if(vStudent.begin(), vStudent.end(), oneInfo);
if ( it == vStudent .end())
{
cout lt "¡El número de estudiante no existe!";
Devuelve FALSO
} p>
vstudent . erase(it);
Devuelve VERDADERO
}
void main()
{ p>
int stop = 0;
cmanagementstudent rMS;
mientras(verdadero)
{
cout lt lt" Para salir ingrese 0\n "
lt lt"Ingrese nueva información e ingrese 1\n "
lt lt"Para eliminar información ingrese 2\n "
lt lt"Mostrar entrada de mensaje 3\n";
CIN gt gt stop;
Cambiar (detener)
{
Caso 0:
Regreso;
Caso 1:
rMS. inputone Student();
Descanso;
Caso 2:
rMS. DelOneStudent();
Pausa;
Caso 3:
rMS. showall estudiante();
Pausa;
Valor predeterminado:
Pausa;
}
}
}
STL se crea utilizando la biblioteca de plantillas estándar de C y el contenido sigue siendo muy útil.
Sería mejor agregar una función para mostrar toda la información~