Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Лабораторна робота 5

Читайте также:
  1. Балантидий. Систематика, морфология, цикл развития, пути заражения. Лабораторная диагностика, профилактика.
  2. Бычий цепень. Систематическое положение, морфология, цикл развития, лабораторная диагностика, профилактика.
  3. Вероятные приключения робота кошки Мурки... 1 страница
  4. Вероятные приключения робота кошки Мурки... 10 страница
  5. Вероятные приключения робота кошки Мурки... 11 страница
  6. Вероятные приключения робота кошки Мурки... 12 страница
  7. Вероятные приключения робота кошки Мурки... 13 страница

Введення/виведення потоками, робота з файлами,
створення нових потокових операцій

 

Варіант 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 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.008 сек.)