- •Цель работы
- •Задание
- •Уточнение задания
- •Контрольные примеры
- •Описание переменных
- •Описание алгоритма
- •Функции
- •Функция ввода vvod
- •Функция вывода vivod
- •Функция освобождения динамической памяти free1
- •Функция вывода меню menu
- •Функция вывода помощи пользователю menu
- •Функция формирования текста zamena
- •Функция ввода vvod_slova
- •Иерархическая структура программы
- •Текст программы
- •Инструкция пользователю
- •Набор тестов
- •Результат выполнения программы
Описание алгоритма
Шаг 1. Вывод меню на экран.
Шаг 2. Выбор пользователем пункта меню. Вначале пользователь должен выбрать только пункт 1 меню, иначе вывод сообщения об ошибке с просьбой выбрать пункт 1 меню, также пользователь может ввести слово для проверки текста и слово для замены, посмотреть справку пользователя и выйти из программы
Шаг 3. Если пользователь ввёл:
«1», то вызывается функция free1, которая освобождает память, если был введён текст до этого, далее вызывается функция vvod, в которой производится вывод сообщения на экран для пользователя с просьбой ввести текст. После этого происходит ввод текста. После переход к шагу 1.
«2», то вызывается функция vivod, которая производит контрольный вывод текста на экран. После этого переход к шагу 1.
«3», то вызывается функция free1, которая освобождает память, если до этого было введено слово, далее вызывается функция vvod_slova1, которая выводит сообщение с просьбой ввести слово для проверки текста и происходит ввод пользователем слова для проверки текста. После переход к шагу 1.
«4», то вызывается функция free1, которая освобождает память, если до этого было введено слово, далее вызывается функция vvod_slova, которая выводит сообщение с просьбой ввести слово для замены и происходит ввод пользователем слова для замены. После переход к шагу 1.
«5», то вызывается функция free1, которая освобождает память, если до этого был сформирован текст, далее вызывается функция zamena, которая производит формирование нового текста и вывод сообщения с подтверждением операции, После этого переход к шагу 1.
«6», то вызывается функция vivod, которая выводит сформированный текст, если текст не сформирован, то выводится сообщение с указанием причины, почему текст не сформирован (или потому что, пользователь не сформировал текст (т.е. не выбрал 5-ый пункт меню), или потому, что текст не может быть сформирован). После этого переход к шагу 1.
«7», то вызывается функция help, которая выводит помощь пользователю, далее выводится сообщение «Для выхода в меню нажмите любую клавишу». После этого переход к шагу 1.
«8», то вызывается функция free1, которая освобождает память, далее выводится сообщение «Для выхода нажмите любую клавишу» и конец алгоритма.
другое значение, то выводится сообщение «Ошибка, введите номер операции». После этого переход к шагу 1.
Блок-схема главной функции представлена на рисунке 5.
Функции
Функция ввода vvod
Прототип: char** vvod(int *stroki), переменные представлены в таблице 3
Функция vvod используется для ввода исходного текста пользователем. Результатом вызова функции является сохранение в памяти компьютера текста, ввёденного пользователем с клавиатуры.
Пример вызова: text = vvod(&kolstrok), переменные представлены в таблице 3
Описание переменных функции представлено в таблице 3.
Таблица 3. Описание переменных функции vvod
Формальные переменные |
||
Имя переменной |
Тип переменной |
Назначение переменной |
stroki |
int* |
Указатель на переменную количества строк текста |
Локальные переменные |
||
text |
char** |
Указатель на адрес первого элемента текста |
s |
char |
Вводимая пользователем строка |
i |
int |
Счётчик по строкам |
j |
int |
Счётчик по символам |
w |
int |
Переменная для организации перехода на следующую строку |
v |
int |
Переменная для организации выхода из набора текста |
Блок-схема функции представлена на рисунке 1
Рисунок 1. Блок-схема функции vvod
