Неділя, 21.04.2019, 23:17
Гость

Мішатронік

Автор - Кренцін Михайло

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Оцініть мій сайт
Всього відповідей: 12
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0




Сохранение оценок в файл

Чтобы после завершения работы с программой, все данные сохранялись, мы будем записывать их в текстовый файл.

Оценки каждого студента будут находится в отдельной строке. Имя и фамилии будут разделяться пробелами. После имени и фамилии ученика ставится еще один пробел, а затем перечисляются все его оценки.

Пример файла с оценками:

Василий Пупкин 5 4 5 3 3
Иван Сидоров 5 5 3 4 5
Андрей Иванов 5 3 3 3 3

Для работы с файлами мы воспользуемся библиотекой fstream, которая подключается в заголовочном файле с таким же именем.

#include <fstream>

// Запись данных о студенте в файл
void Students::save()
{
 std::ofstream fout("students.txt", std::ios::app);

 fout << Students::get_name() << " " 
 << Students::get_last_name() << " ";

 for (int i = 0; i < 5; ++i) {
 fout << Students::scores[i] << " ";
 }

 fout << std::endl;
 fout.close();
}

Переменная fout — это объект класса ofstream, который находится внутри библиотеки fstream. Классofstream используется для записи каких-либо данных во внешний файл. Кстати, у него тоже есть конструктор. Он принимает в качестве параметров имя выходного файла и режим записи.

В данном случае, мы используем режим добавления — std::ios:app (англ. append). После завершения работы с файлом, необходимо вызвать метод close() для того, чтобы закрыть файловый дескриптор.

Чтобы сохранить оценки студента, мы будем вызывать только что созданный метод save().

Students student = new Students("Василий", "Пупкин");
student->save();
 

 

Форма входа
Пошук
Календар
«  Квітень 2019  »
ПнВтСрЧтПтСбНд
1234567
891011121314
15161718192021
22232425262728
2930
Друзі сайту
Погода у Вінниці


Єдина Країна! Единая Страна!