M
M
Mag1str2021-06-15 12:19:23
C++ / C#
Mag1str, 2021-06-15 12:19:23

Why is redac not working?

Should edit, but for some reason not work.
331 lines in base.h Project

link: https://github.com/Roman200242/school

All in one file: https://ideone.com/ESBmh0

Answer the question

In order to leave comments, you need to log in

1 answer(s)
M
Mag1str, 2021-06-15
@Mag1str

void redac()
    {
        system("cls");
        Stud ob[1000];
        fstream del;
        del.open(file, ios::in | ios::out | ios::binary);
        if (!del.is_open()) {
            cout << "Помилка!" << endl;
            exit(1);
        }
        int count = 0;
        while (!del.eof()) {
            del.read((char*)&ob[count], sizeof(Stud));
            count++;
        }
        look();
        count--;
        cout << "Введіть особистий номер учня для редагування: ";
        double number;
        cin >> number;
        del.close();
        del.clear();
        del.open(file, ios::out | ios::binary);
        for (int x = 0; x < count; x++)
            if (ob[x].number != number)
                del.write((char*)&ob[x], sizeof(Stud));
        enter();
        cout << "Успішно!" << endl;
        del.close();
    }

void enter()
    {
        Stud ob;
        ofstream out;
        out.open(file, ios::out | ios::app | ios::binary);
        if (!out) {
            cout << "Помилка";
        }
        system("cls");
        detail();
        cout << "Клас: ";
        cin >> ob.clas;
        cout << "Особистий номер: ";
        cin >> ob.number;
        eatline();
        cout << "Прізвище: ";
        cin.getline(ob.prizv, 15);
        cout << "Ім'я: ";
        cin.getline(ob.name, 15);
        cout << "По батькові: ";
        cin.getline(ob.batk, 15);
        if (ob.number < 499) {
        cout << "Українська мова: ";
        cin >> ob.ukr_mov;
        cout << "Математика: ";
        cin >> ob.matem;
        cout << "Іноземна мова: ";
        cin >> ob.in_mov;
        cout << "Фіз-ра: ";
        cin >> ob.fizra;
        ob.ukr_lit = '\0';
        ob.informatic = '\0';
        ob.fizika = '\0';
        ob.istor_ukr = '\0';
        ob.geografiy = '\0';
        ob.biologia = '\0';
        ob.seredniy_bal = (ob.matem + ob.ukr_mov + ob.in_mov + ob.fizra) / 4;
            } else {
        cout << "Українська мова: ";
        cin >> ob.ukr_mov;
        cout << "Математика: ";
        cin >> ob.matem;
        cout << "Українська література: ";
        cin >> ob.ukr_lit;
        cout << "Іноземна мова: ";
        cin >> ob.in_mov;
        cout << "Інформатика: ";
        cin >> ob.informatic;
        cout << "Фізика: ";
        cin >> ob.fizika;
        cout << "Історія України: ";
        cin >> ob.istor_ukr;
        cout << "Географія: ";
        cin >> ob.geografiy;
        cout << "Біологія: ";
        cin >> ob.biologia;
        cout << "Фіз-ра: ";
        cin >> ob.fizra;
 
        ob.seredniy_bal = (ob.matem + ob.ukr_mov + ob.informatic + ob.ukr_lit + ob.in_mov + ob.biologia + ob.istor_ukr + ob.fizika + ob.fizra + ob.geografiy) / 10;
        }
        eatline();
        out.write((char*)&ob, sizeof ob);
        out.close();
        system("pause");
    }

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question