Читайте также:
|
|
Введення/виведення потоками, робота з файлами,
створення нових потокових операцій
Варіант 1
Створити динамічний клас для роботи з одновимірними масивами чисел дійсного типу. Здійснити перевантаження символів операцій:
" = " - динамічне присвоєння,
" + " - по елементне додавання,
" - " - по елементне віднімання,
"[ ] " - доступ до елементу по індексу з контролем.
Крім того перевантажити операції введення із файлу і виведення у файл з символами " << ", " >> " таким чином:
f << A - виведення (запис) значення A у файл f,
f >> A - введення (читання) значення A із файлу f.
Тип елементу масиву обрати самостійно (один з дійсних типів).
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 2
Створити динамічний клас для роботи з рядками символів. Максимальна довжина послідовності - 65535, код завершення послідовності - нуль. Здійснити перевантаження символів операцій:
" + " - конкатенація (з’єднання) рядків,
" - " - вилучення підрядку,
" < " - відношення "менше",
" > " - відношення "більше",
" == " - відношення "дорівнює".
За відношення порядку ("менше", "більше") вважати відношення лексикографічного порядку.
Крім того перевантажити операції введення із файлу і виведення у файл з символами " << ", " >> " таким чином:
f << A - виведення (запис) значення A у файл f,
f >> A - введення (читання) значення A із файлу f, де f - покажчик на файл або поток.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 3
Створити динамічний клас для роботи з рядками однобайтових символів. Максимальна довжина послідовності - 254. Перший байт робочого масиву повинен містити інформацію про фактичну кількість символів у рядку. Здійснити перевантаження символів операцій:
" + " - конкатенація (з’єднання) рядків,
" < " - відношення "менше",
" > " - відношення "більше",
" == " - відношення "дорівнює".
За відношення порядку ("менше", "більше") вважати відношення лексикографічного порядку.
Крім того перевантажити операції введення із файлу і виведення у файл з символами " << ", " >> " таким чином:
f << A - виведення (запис) значення A типу "рядок" у файл f,
f >> A - введення (читання) значення A із файлу f, де f - покажчик на файл або поток.
Передбачити обробку виключної ситуації - перевищення кількості символів рядка максимальної припустимої величини - 254.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 4
Створити клас для роботи з множинами. Максимальна кількість елементів множини - 65534. Здійснити перевантаження символів операцій:
" + " - об’єднання множин,
" - " - віднімання множин,
" * " - переріз множин,
" == " - еквівалентність множин.
Крім того перевантажити операції введення із файлу і виведення у файл з символами " << ", " >> " таким чином:
f << A - виведення (запис) значення A типу "множина" у файл,
f >> A - введення (читання) значення A із файлу f, де f - покажчик на файл або поток.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 5
Написати програму, яка здійснює побайтне копіювання інформації з одного файлу в інший при умові, що імена файлів вказуються у командній стрічці. Якщо ім’я файлу-приймача не вказано, програма повинна виводити інформацію із файлу-джерела на екран. Для виконання операцій обміну застосувати потокові операції.
Варіант 6
Створити класи bifstream i bofstream для виконання файлових операцій читання і запису значень дійсного типу у бінарному режимі (без форматних перетворювань). Застосувати потокові операції введення/виведення. Тип значень обрати самостійно з наступних: float, double, extended.
Написати програму, яка доводить правильність роботи створеного класу.
Варіант 7
Перевантажити символ операції “>>” таким чином, щоб можна було робити копіювання файлу за допомогою такого оператору:
fa >> fb;
де fa, fb – потоки, що пов’язані з файлами.
Операція “>>” повинна повертати значення потоку fa так, щоб можна було робити множинне копіювання:
fa >> fb >> fc;
де fb, fc - потоки файлів-дублікатів.
Взяти до уваги, що операція ">>" має асоціативність "зліва-направо".
Варіант 8
Написати функцію, яка повертає значення дескриптору файла, пов’язаного з потоком. Функцію треба створити так, щоб вона працювала для потоків ifstream, ofstream, fstream. Створити файли, відкрити їх для читання, запису і введення/виведення за допомогою вказаних вище потоків і отримати їх дескриптори.
Варіант 9
Створити макрос-функцію, яка повертає значення дескриптору файла, пов’язаного з наданим потоком. Створити файли, відкрити їх для читання, запису і введення/виведення за допомогою потоків ifstream, ofstream, fstream і отримати їх дескриптори.
Дата добавления: 2015-11-26; просмотров: 66 | Нарушение авторских прав