Реферат Курсовая Конспект
Работа с файловыми потоками в С++. Двоичные файлы. - раздел Программирование, Лабораторная Работа №14 Ра...
|
Лабораторная работа №14
Работа с файловыми потоками в С++.
Двоичные файлы.
Цель работы: получить практические навыки решения задач с использованием двоичных файлов на языке С++.
Теоретические сведения
Пример 14.3.
Объявим структуру
struct mountine {
char name[20]; //название горы
int altitude; //высота над уровнем моря
int complicate; //сложность
};
mountine mount;
Для сохранения информации в двоичном файле выполняют следующее:
ofstream fil_out(“mountines.txt”, ios_base::app);
fil_out << mount.name << “ “ << mount.atitude << ‘.’ << mount.complicate <<”n”;
Для сохранения той же информации в двоичном файле выполняют следующее:
ofstrem fil_out(“mountines.dat”, ios_base::app | ios_base::bynary);
fil_out.write((char *) &mount, sizeof(mountine));
Метод write копирует указанное число байтов (в данном случае – sizeof(mountine)) в файл из памяти ЭВМ. Несмотря на то, что сохранение данных происходит в двоичном файле, адрес переменной преобразуется к указателю на тип char.
Для чтения данных из двоичного файла используют метод read:
ifstream fil_in(“mountines.dat”, ios_base::binary);
fil_in.read((char *) &mount, sizeof(mountine));
При записи или чтении классов, не содержащих виртуальных функций, можно использовать тот же самый подход. Чтобы сделать класс потоковым, нужно перегрузить операторы << и >>:
friend ostream &operator<<(ostream &, AnyClass &);
friend istream &operator>>(istream &, AnyClass &);
Лабораторное задание.
Для выполнения лабораторной работы необходимо составить программу согласно своему варианту задания.
Варианты заданий
Номер варианта | Задание |
1, 14 | В двоичном файле целого типа заменить максимальный элемент суммой предыдущих элементов, минимальный – суммой последующих элементов. |
2, 15 | В конец двоичного файла целого типа дописать четные элементы этого файла |
3, 16 | В начало двоичного файла целого типа дописать нечетные элементы этого файла. |
4, 17 | В середину двоичного файла целого типа поместить элементы этого файла, кратные пяти. |
5, 18 | В двоичном файле целого типа поменять местами элементы, стоящие на четных местах с элементами, стоящими на нечетных местах. |
6, 19 | В начало двоичного файла целого типа дописать его минимальное значение, в середину – максимальное. |
7, 20 | В начало двоичного файла целого типа записать элементы, являющиеся делителями максимального элемента этого файла. |
8, 21 | В середину двоичного файла целого типа записать элементы этого файла, меньшие числа, введенного с клавиатуры. |
9, 22 | Даны двоичные файлы f и g целого типа. Записать в начало файла f положительные компоненты файла g, а в конец файла g – отрицательные компоненты файла f с сохранением порядка их следования. |
10, 23 | Дан двоичный файл с целыми числами. Удалить из него число, записанное после первого нуля (принять, что нули в файле имеются). Результат записать в другой файл. |
11, 24 | Дан двоичный файл с целыми числами. Все его четные элементы заменить нулями. Рассмотреть 2 варианта: - исходный файл содержит 13 чисел; - размер исходного файла неизвестен. |
12, 25 | Дан двоичный файл с целыми числами. Заменить все его элементы, порядковый номер которых кратен 7, на новые значения, которые вводятся с клавиатуры. Рассмотреть 2 варианта: - исходный файл содержит 20 чисел; - размер исходного файла неизвестен. |
13, 26 | Дан двоичный файл с положительными и отрицательными целыми числами. Записать в другой файл сначала отрицательные элементы, а затем положительные. |
– Конец работы –
Используемые теги: работа, файловыми, потоками, Двоичные, файлы0.072
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Работа с файловыми потоками в С++. Двоичные файлы.
Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов