Red de conocimientos turísticos - Información de alquiler - El uso de plantillas STL para escribir programas que administren las calificaciones de los cursos orientados a objetos de los estudiantes en una clase requiere la capacidad de implementar las siguientes funciones:

El uso de plantillas STL para escribir programas que administren las calificaciones de los cursos orientados a objetos de los estudiantes en una clase requiere la capacidad de implementar las siguientes funciones:

#include

#include

#include

#include

#include

#include

clase Estudiante

{

público:

Estudiante(int id,int puntuación)

:m_id(id)

,m_score(puntuación)

{

}

operador bool <(const Student& other)

{

return m_score

}

operador bool ==(const Estudiante& otro)

{

return m_id==other.m_id;

}

int m_id,m_score;

};

std::ostream& operador<<(std::ostream& o,const Student& s)

{

o<<"id: "<

return o;

}

int main(int argc, char *argv[])

{

std::cout<<"a [id] [puntuación] para agregar\n "

"d [id] para eliminar\n"

"f [id] para encontrar\n"

"s para ordenar\n"

"p para imprimir\n"

"q para salir\n"<

estado del carácter;

int id=0,score=0;

std::vector estudiantes;

bool done=false,errorFlag=false;

hacer {

std::cin>>status;

switch(status){

case 'q':

done=true ;

descanso;

caso 'a':

std::cin>>id>>puntuación;

estudiantes.push_back (Estudiante(id,puntuación));

std::cout<

ed.";

break;

case 'd':

{

std::cin>>id; p>

Estudiante s(id,-1);

std::vector::iterador itr=std::find(estudiantes.begin(),estudiantes.end( ), s);

if(itr!=students.end()){

estudiantes.erase(itr);

std::cout<

}

else

std::cout<<"estudiante ["<

}

descanso;

caso 'f':

{

std :: cin>>id;

Estudiante s(id,-1);

std::vector::iterador itr=std::find(estudiantes.begin () ,estudiantes.end(),s);

if(itr==estudiantes.end())

std::cout<<"estudiante ["<

else

std::cout<<*itr<<" encontrado.";

}

descanso;

caso 's':

std::sort(students.begin(),students.end());

std ::cout<<"sort end!";

break;

case 'p':

std::copy(students.begin( ), estudiantes.end(),std::ostream_iterator(std::cout,"\n"));

std::cout<<"print end!";

break;

predeterminado:

errorFlag=true;

}

if(errorFlag||std::cin .fail ()){

errorFlag=false;

std::cin.clear();

std::cin.ignore(std:: numeric_limits< std::streamsize>::max(), '\n');

std::cout<<"error al ingresar.";

}

std::cout<

} while(!

hecho);

std::cout<<"¡adiós!"<

}