Ход работы
Ознакомиться с необходимым теоретическим материалом.
Запустить DevC++.
Выбрать команду File->Create->Project… В появившемся диалоговом окне выбрать Console Application.
В открывшемся окне выбрать – C++ Project и убедиться в том, что имя проекта не содержит русских символов.
В появившемся окне кода проконтролировать наличие тела основной функции.
Схранить проект в своей рабочей папке в каталоге С\Work. Не пытаться сохранять в папке по умолчанию для избежания нарушения прав доступа! Попытка сохранения проекта в папке с наличием знака + в пути приведет к невозможности сборки исполняемого файла (глюк среды).
Оформить отчет.
Задание
Переписать программу, разработанную в ходе выполнения лабораторной работы №7 с использованием библиотеки STL. Для чего создать класс vector, содержащий в себе классов-векторов (порожденных от vector), которые в свою очередь хранят данные строк, слов или предложений (в зависимости от варианта задания). Для организации ввода/вывода переопределить соответствующие операторы потокового ввода/вывода (>> и <<). Выводы по лабораторной работе должны содержать сравнительный анализ программ (данной и разработанной в ЛР№10).
Задание ЛР№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.