Student_infos extrace_fails(Student_infos& students)
{
    Student_infos fail;
    Student_infos::iterator iter = students.begin();

    while (iter != students.end()) {
        if (fgrade(*iter)) {
            fail.push_back(*iter);
            iter = students.erase(iter);
        } else 
            ++iter;
    }

    return fail;
}
Example #2
0
int main() {
    Student_infos vs;
    Student_info s;
    string::size_type maxlen = 0;
    while (read(cin, s)) {
        maxlen = max(maxlen, s.name.size());
        vs.push_back(s);
    }

    //  vs.sort(compare);

    Student_infos fails = extract_fails(vs);

    for (Student_infos::const_iterator i = fails.begin(); i != fails.end(); ++i)
        cout << i->name << " " << grade(*i) << endl;

    return 0;
}
Example #3
0
Student_infos extract_fails(Student_infos& students) {
    Student_infos fail;
#ifdef _MSC_VER
    Student_infos::iterator iter = students.begin();
#else
    Student_infos::iterator iter = students.begin();
#endif

    while (iter != students.end()) {
        if (fgrade(*iter)) {
            fail.push_back(*iter);
            iter = students.erase(iter);
        } else
            ++iter;
    }

    return fail;
}