
- •Основные теоретические сведения Объявление базового класса
- •Конструкторы и деструкторы
- •Объявление производных классов
- •Перегрузка операций
- •Ключевое слово this
- •Операторы new и delete.
- •Потоки Выходной поток
- •Встроенные типы.
- •Форматированный вывод.
- •Манипуляции.
- •Определенный пользователем вывод.
- •Входные типы, определенные пользователем.
- •Простой файл Ввод/Вывод.
- •Ход работы
- •Задание
- •Варианты задания (лр№3)
- •Литература
Задание
Переписать программу, разработанную в ходе выполнения лабораторной работы №3 с использованием классов и потоков. Для чего создать класс данных для хранения строк, слов или предложений (в зависимости от варианта задания). Разрешается не использовать переменное количество аргументов и вызовы по указателю. Для модификации требуемой по варианту задания разработанная функция должна быть представлена в виде метода данного класса. Для организации ввода/вывода переопределить соответствующие операторы потокового ввода/вывода (>> и <<). Выводы по лабораторной работе должны содержать сравнительный анализ программ (данной и разработанной в ЛР№3).
Задание ЛР№3
Составить программу обработки текста, считываемого из файла. Для чего разработать функцию для обработки текста с переменным числом параметров, в качестве параметров она должна принимать значения текстовых предложений (разделитель - .), строк (разделитель - \n) или слов (разделитель – пробел или . , ! ? \n) (по варианту задания) для обработки и возвращать указатель на обработанный текст. В качестве первого параметра – имя функции (указатель), используемой для перевода символов из одного формата в другой, которую определить ниже по тексту программы. Данная функция должна вызываться через переданный указатель и принимать обрабатываемый(-ые) символ(ы), возвращая результирующий. Обработанный текст вывести в результирующий файл. В отчете привести исходный и обработанный текст.
Варианты задания (лр№3)
Вариант задания рассчитывается по номеру студента в журнале преподавателя.
Вариант |
Функция с переменным числом параметров получает |
Функция обработки символа |
Вариант |
Функция с переменным числом параметров получает |
Функция обработки символа |
1 |
Строки |
Изменение регистра на противоположный (рус) |
15 |
Слова |
Изменение регистра на противоположный (англ) |
2 |
Слова |
Исправление неверной раскладки (с рус на англ) |
16 |
Строки |
Исправление неверной раскладки (с англ на рус) |
3 |
Предложения |
Все буквы – прописные (рус) |
17 |
Строки |
Все буквы – прописные (англ) |
4 |
Слова |
Все буквы строчные (англ) |
18 |
Предложения |
Все буквы строчные (рус) |
5 |
Строки |
Все строки – с загл. Буквы |
19 |
Строки |
Все строки – с мал. Буквы |
6 |
Предложения |
Замена всех гласных (рус) на * |
20 |
Предложения |
Замена всех согласных (рус) на # |
7 |
Строки |
Замена всех загл. (рус) на ~ |
21 |
Строки |
Замена всех загл. (англ) на $ |
8 |
Слова |
Замена всех гласных (англ) на $ |
22 |
Слова |
Замена всех согласных (англ) на $ |
9 |
Предложения |
Замена более двух подряд повторов символов на ^ |
23 |
Предложения |
Замена двух и более загл. Символов (рус) на * |
10 |
Слова |
Слова – с загл. буквы |
24 |
Слова |
Слова – с мал. буквы |
11 |
Строки |
Замена двух и более загл. Символов (англ) на $ |
25 |
Строки |
Строки нач. с мал. буквы, все остальные – большие (рус) |
12 |
Предложения |
Замена всех цифр на буквы: 0 – а, 1 – б… |
26 |
Предложения |
Замена всех загл. (рус) на ~ |
13 |
Строки |
Исправление ошибочного нажатия Shift при введении цифр |
27 |
Строки |
Строки нач. с мал. буквы, все остальные – большие (англ) |
14 |
Слова |
Слова нач. с мал. буквы, все остальные – большие (укр) |
28 |
Слова |
Слова нач. с мал. буквы, все остальные – большие (англ) |
Содержание отчета. Содержание отчета совпадает с указанным в указаниям к лабораторной работе 1.