А как хранятся записи? Какой формат? Может это база данных, если БД, то какая?
Слишком мало данных. Тема С++ мало что говорит, в С++ можно хранить данные кучей разных способов.
C/C++
Записи содержат фамилию и 4 оценки. Удалить имеющих 2, 3.
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
#include <array>
using namespace std;
void flush() {
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
class Record {
public:
Record() = default;
Record(const string& name, const array<int, 4>& grades)
: name(name), grades(grades) {}
bool isloser(const int limit)const {
auto fact = [limit](int x) { return x <= limit; };
return any_of(grades.begin(), grades.end(), fact);
}
private:
string name;
array<int, 4> grades;
friend ostream& operator<<(ostream& out, const Record& rec) {
out << rec.name << " :";
for (auto grade : rec.grades) out << ' ' << grade;
return out;
}
};
struct Records : public vector<Record> {
void add(const Record& rec) {
this->push_back(rec);
}
auto exclude(const int limit)const {
vector<Record> box;
for (const auto& record : *this) {
if (!record.isloser(limit)) {
box.push_back(record);
}
}
return move(box);
}
};
auto set_record() {
cout << "Ф.И.О.: ";
string name;
getline(cin, name);
cout << "Оценки: ";
array<int, 4> grades;
for (auto& grade : grades) cin >> grade;
flush();
return move(Record{ name, grades });
}
int main() {
cout << "Количество записей: ";
size_t length;
cin >> length;
flush();
Records records;
for (size_t i = 0; i < length; ++i) {
records.emplace_back(set_record());
}
auto box = records.exclude(3);
puts("\nСписок успевающих:\n");
for (const auto& record : box) {
cout << record << '\n';
}
}
#include <iostream>
#include <string>
#include <vector>
#include <array>
using namespace std;
void flush() {
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}
class Record {
public:
Record() = default;
Record(const string& name, const array<int, 4>& grades)
: name(name), grades(grades) {}
bool isloser(const int limit)const {
auto fact = [limit](int x) { return x <= limit; };
return any_of(grades.begin(), grades.end(), fact);
}
private:
string name;
array<int, 4> grades;
friend ostream& operator<<(ostream& out, const Record& rec) {
out << rec.name << " :";
for (auto grade : rec.grades) out << ' ' << grade;
return out;
}
};
struct Records : public vector<Record> {
void add(const Record& rec) {
this->push_back(rec);
}
auto exclude(const int limit)const {
vector<Record> box;
for (const auto& record : *this) {
if (!record.isloser(limit)) {
box.push_back(record);
}
}
return move(box);
}
};
auto set_record() {
cout << "Ф.И.О.: ";
string name;
getline(cin, name);
cout << "Оценки: ";
array<int, 4> grades;
for (auto& grade : grades) cin >> grade;
flush();
return move(Record{ name, grades });
}
int main() {
cout << "Количество записей: ";
size_t length;
cin >> length;
flush();
Records records;
for (size_t i = 0; i < length; ++i) {
records.emplace_back(set_record());
}
auto box = records.exclude(3);
puts("\nСписок успевающих:\n");
for (const auto& record : box) {
cout << record << '\n';
}
}
Похожие вопросы
- ПОМОГИТЕ ПОЖАЛУЙСТА НАПИСАТЬ ПРОГРАММУ НА С++ В базе хранятся сведения о сотрудниках предприятия. Каждая запись содержит
- Написать программу на C++. Дан массив записей, содержащий номера телефонов сотрудников учреждения
- C++ как написать if(x!=1,2,3)
- Создать файл ABONENT.dat, содержащий записи следующей структуры: ФИО абонента; его номер телефона. на языке си++
- В языке С.Необходимо определить количество целых чисел из ряда от 1 до 100, которые содержат цифры 3.
- Найти решение уравнения(arccos(x-1)+x^3-4=0) на указанном диапазоне ([0.5;1.9]). используя численный метод-Метод Ньютона
- Почему 12, а не 2.4?????
- Запись и чтение двумерного массива в бинарный файл
- Задачка на C++ на формирование массива из 10 записей
- C++ STL. Проверить и удалить (по необходимости)
‘set_record’ function uses ‘auto’ type specifier without trailing return type
все в порядке
Разработать программу, которая строит двоичное дерево Т. Описать процедуру или функцию, определяющую число вхождений некоторого элемента E в дерево Т.