Сформировать файл ”STUDENT”. вывести список студентов-хозрасчетников, имеющих задолжность

Сформировать файл ”STUDENT”, содержащий сведения об успеваемости студентов некоторой группы: фамилия, форма обучения (госбюджетная и хозрасчетная), итоги экзаменационной сессии по четырем предметам. Используя созданный файл, вывести список студентов-хозрасчетников, имеющих задолжность хоть по одной дисциплине.

#include <iostream>
#include <vector>;
#include <string>
#include <fstream>
using namespace std;

struct Student {
    string surname;
    string fstudy;
    int mark1;
    int mark2;
    int mark3;
    int mark4;
};

void DataInput(vector<Student>& data, size_t n) {
    Student temp;
    for (size_t i = 0; i < n; i++) {

        cout << "Surname: ";
        cin >> temp.surname;

        cout << "Form of study (state budget/self-supporting): ";
        getline(cin, temp.fstudy);

        cin.ignore(32767, '\n');

        cout << "Mark1: ";
        cin >> temp.mark1;

        cout << "Mark2: ";
        cin >> temp.mark2;

        cout << "Mark3: ";
        cin >> temp.mark3;

        cout << "Mark4: ";
        cin >> temp.mark4;

        cin.ignore(32767, '\n');

        cout << endl;

        data.push_back(temp);
    }
}

void DataIf(vector<Student>& data, string& ss) {
    ofstream fout("STUDENT.txt");
    for (auto& it : data) {
        if (it.fstudy == ss) {
            fout << "Surname: " << it.surname<< endl;
            fout << "Form of study (state budget/self-supporting): " << it.fstudy << endl;
            fout << "Mark 1: " << it.mark1 << endl;
            fout << "Mark 2: " << it.mark2 << endl;
            fout << "Mark 3: " << it.mark3 << endl;
            fout << "Mark 4: " << it.mark4 << endl;

            fout << endl;
        }
    }
}

int main() {

    size_t n;
    cout << "Vvedite kolichestvo studentov: ";
    cin >> n;
    cin.ignore(32767, '\n');
    vector<Student> data;
    DataInput(data, n);

   
    string ss;
    ss = "self-supporting";
    DataIf(data, ss);
}

Вот мой код. Помогите доработать его...


Ответы (0 шт):