Класс - структура данных в двоичном файле (начальный балл – 4,5)



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

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

1. Класс – двоичный файл, производный от fstream. Файл содержит массив указателей на строки, представленные записями переменной длины: целый счетчик и последовательность символов строки (без 0-ограничителя). Формат файла: в начале – файла, размерность массива указателей, текущее количество указателей, адрес (смещение) массива указателей в файле.

2. Класс – двоичный файл, производный от fstream. Файл содержит односвязный список строк в формате записей переменной длины со счетчиком. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловый указатель на следующий и саму строку в виде записи переменной длины.

3. Класс – двоичный файл, производный от fstream. Файл содержит двусвязный циклический список строк в формате записей переменной длины со счетчиком. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловые указатели на следующий и предыдущий и саму строку в виде записи переменной длины.

4. Класс – двоичный файл, производный от fstream. Файл содержит двусвязный список строк в формате записей переменной длины со счетчиком. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловый указатель на следующий и саму строку в виде записи переменной длины.

5. Класс – двоичный файл, производный от fstream. Файл содержит массив указателей на упорядоченные по алфавиту строки, представленные записями переменной длины: целый счетчик и последовательность символов. Формат файла: в начале его размер массива указателей, текущее количество указателей, адрес массива указателей в файле.

6. Класс – двоичный файл, производный от fstream. Файл содержит односвязный список строк в формате записей переменной длины со счетчиком, реализованный по принципу стека. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловый указатель на следующий и саму строку в виде записи переменной длины.

7. Класс – двоичный файл, производный от fstream. Файл содержит двусвязный список строк в формате записей переменной длины со счетчиком, реализованный по принципу очереди. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловые указатели на следующий и предыдущий элемент и саму строку в виде записи переменной длины.

8. Создать класс, производный от fstream. Файл содержит бинарное дерево. Каждая вершина дерева содержит статический массив указателей на строки переменной длины. Формат файла: в начале его указатель на корневую вершину. Вершина содержит файловые указатели на левое и правое поддеревья, сам массив. (начальный балл 5,0).

Дополнение: добавить в коллекцию вложенный класс, реализующий функции итератора (дополнительный балл 0,5).

 

Шаблон - структура данных в двоичном файле (начальный балл – 5)

         Класс двоичного файла, производный от fstream. Двоичный файл содержит заданную структуру данных с типом хранимых объектов - параметром шаблона. Программа должна выполнять операции создания файла, просмотра, добавления, удаления, обновления и сортировки объектов заданного при генерации типа. Реализовать две версии программы для различных хранимых объектов (например, текстовых строк и объектов класса из лабораторной работы). Предполагается, что операции сравнения хранимых объектов переопределены стандартным образом (в виде операций <,> и т.д.). Для позиционирования в потоке можно использовать методы seekg(long,mode) и long tellg(), для хранимого объекта переопределен метод fstream << object который записывает объект с текущей позиции в открытый двоичный поток и метод fstream >> object, который читает содержимое объекта с текущей позиции открытого потока.

Программа должна реализовывать указанные выше действия. Протестировать структуру данных на простом типе данных (например, int, double и т.д.) и сложном. Программа тестирования должна содержать меню, обеспечивающее выбор операций.

1. Шаблон – двоичный файл, содержащий двусвязный циклический список объектов. Тип хранимого в файле объекта – параметр шаблона. В начале файла расположен файловый указатель на первый элемент списка. Элемент списка содержит 2 файловых указателя на следующий и предыдущий элементы, за которыми следует объект.

2. Шаблон – двоичный файл, содержащий односвязный список объектов. Тип хранимого в файле объекта – параметр шаблона. В начале файла расположен файловый указатель на первый элемент списка. Элемент списка содержит файловый указатель на следующий элемент, за которым следует объект.

3. Шаблон – двоичный файл, содержащий массив указателей на объекты. Тип хранимого в файле объекта – параметр шаблона. В начале файла расположены: размерность массива указателей (int), текущее количество указателей (int) и смещение (адрес) массива указателей. Если происходит заполнение массива указателей, то его размерность увеличивается в 2 раза и он переписывается в конец файла.

4. Шаблон – двоичный файл, содержащий двоичное дерево объектов. Тип хранимого в файле объекта – параметр шаблона. В начале файла расположен указатель на корневую вершину. Вершина содержит два файловых указателя на правое и левое поддерево и сам объект, который непосредственно следует за указателями.

5. Шаблон – двоичный файл, содержащий двоичное дерево объектов. Тип хранимого в файле объекта – параметр шаблона. В начале файла расположен указатель на корневую вершину. Вершина содержит два файловых указателя на правое и левое поддерево, счетчик количества объектов (int) и статический массив указателей на объекты. Структура данных упорядочена (дерево и массив объектов).

6. Создать шаблон – двоичный файл, содержащий двусвязный список объектов, реализованный по принципу очереди. Тип хранимого в файле объекта – параметр шаблона. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловые указатели на следующий и предыдущий элемент и сам объект.

7. Создать шаблон – двоичный файл, производный от fstream. Файл содержит односвязный список указателей на объекты, реализованный по принципу стека. Тип хранимого в файле объекта – параметр шаблона. Формат файла: в начале файла – заголовок списка. Элемент списка содержит файловый указатель на следующий элемент, указатель на объект и объект.


Дата добавления: 2021-01-20; просмотров: 191; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!