Red de conocimientos sobre prescripción popular - Conocimiento del confinamiento - Escribir un sistema de gestión del desempeño de los estudiantes en C

Escribir un sistema de gestión del desempeño de los estudiantes en C

He escrito antes, propósito: gestión del desempeño de los estudiantes, cada estudiante incluye tres puntajes. Ingrese la información del estudiante desde el teclado, incluido el número, el nombre y las calificaciones del estudiante para tres cursos. Calcule el puntaje promedio de la universidad y clasifíquelos en orden descendente de puntaje promedio.

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

# 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;

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

}

vstudent . erase(it);

Devuelve VERDADERO

}

void main()

{

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~