• Предмет: Информатика
  • Автор: melfoy
  • Вопрос задан 5 месяцев назад

Сформировать файл “EXAM” по результатам экзаменационной сессии (три экзамена). Информация о студентах вводится в символьном виде в следующем порядке: фамилия **N1**N2**N3, где Ni – это оценка. Используя файл распечатать результаты сессии в виде таблицы .Предусмотреть печать шапки таблицы с названиями дисциплин в С++

Ответы

Ответ дал: GTRlox
0

Ответ:

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main() {

// Відкриваємо файл для читання

ifstream infile("EXAM.txt");

// Відкриваємо файл для запису результатів

ofstream outfile("EXAM_RESULTS.txt");

// Перевірка, чи відкрилися файли успішно

if (!infile.is_open()) {

cout << "Помилка відкриття файлу!" << endl;

return 1;

}

if (!outfile.is_open()) {

cout << "Помилка відкриття файлу!" << endl;

return 1;

}

// Шапка таблиці

outfile << "Результати екзаменів" << endl;

outfile << "-------------------------------------" << endl;

outfile << "| Прізвище | Екзамен 1 | Екзамен 2 | Екзамен 3 |" << endl;

outfile << "-------------------------------------" << endl;

// Читаємо дані з файлу і формуємо таблицю результатів

string line;

while (getline(infile, line)) {

outfile << "| ";

int start_pos = 0, end_pos = 0;

for (int i = 0; i < 3; i++) {

end_pos = start_pos + 3;

string mark = line.substr(start_pos, end_pos - start_pos);

outfile << " " << mark << " | ";

start_pos = end_pos;

}

outfile << endl;

}

outfile << "-------------------------------------" << endl;

// Закриваємо файли

infile.close();

outfile.close();

return 0;

}

Вас заинтересует