- •Цель работы
- •Задание
- •Уточнение задания
- •Контрольные примеры
- •Описание переменных
- •Описание алгоритма
- •Функции
- •Функция ввода vvod
- •Функция вывода vivod
- •Функция освобождения динамической памяти free1
- •Функция вывода меню menu
- •Функция вывода помощи пользователю menu
- •Функция формирования текста zamena
- •Функция ввода vvod_slova
- •Иерархическая структура программы
- •Текст программы
- •Инструкция пользователю
- •Набор тестов
- •Результат выполнения программы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Санкт-Петербургский Государственный Электротехнический университет «ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра вычислительной техники
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ
на тему:
«Работа с текстом»
по дисциплине «Программирование»
Выполнил: студент группы №1307
Орлов Виктор Викторович
Проверил: к.т.н., доцент кафедры ВТ
Сискович Тамара Ильинична
Санкт-Петербург
2012 г.
Содержание
Цель работы ………………………………………………………………...……...……. 3
Задание ……………………………………………………………………….………….. 3
Уточнение задания ……………………………………………………………………… 3
Контрольные примеры .………………………...………………………………………. 3
Описание переменных ………………………………………………………………….. 4
Описание алгоритма ……………………………………………………………………. 4
Функции …………………………………………………………………………………. 6
Функция vvod …………………………………………………………………..…… 6
Функция vivod ……………………………………………………………………… 8
Функция free1 ………………………………………………………………………. 9
Функция menu ………………………………………………………..……..……… 9
Функция help …………………………………………………………………..…… 9
Функция zamena …………………….…………………………………………….. 10
Функция vvod_slova……………………………………………………………….. 13
Функция vvod_slova1………………………………………………………………..14
Блок-схема главной функции ……………………………….………...……………… 15
Иерархическая структура программы ……………………………………………….. 20
Текст программы ……………………………………………………………………… 21
Инструкция пользователю …………………………………………………….……… 29
Набор тестов …………………………………………………………………...……… 29
Результат выполнения программы ……………………………………………………30
Вывод ………………………………………………………………………………….. 30
Цель работы
Получить практические навыки работы с символьными строками. Научить выполнять основные операции с символьными строками.
Задание
Разработать алгоритм и написать программу исходя из индивидуального задания
Индивидуальное задание:
Задан текст, содержащий произвольное количество строк, в которых отдельные слова могут разделяться одним или несколькими пробелами и знаками пунктуации (перенос слов с одной строки на другую не используется). Сформировать новый текст, который является результатом следующего преобразования исходного текста: заменить в строках, содержащих заданное слово, первое слово на другое заданное слово.
Уточнение задания
В программе должно быть использовано простейшее меню. Выполнение программы должно быть многократным по желанию пользователя. В программе должны быть использованы функции ввода, вывода текста и формирования нового текста. Все данные вводятся с клавиатуры. Для перехода к следующей строке использовать <<ENTER>>. Ввести можно только одно слово.
Контрольные примеры
Контрольные примеры представлены в таблице 1.
Таблица 1. Контрольные примеры
Введённый текст |
Слово для проверки текста |
Слово для замены |
Вывод изменённого текста |
Погиб поэт! – невольник чести- Пал, оклеветанный молвой, |
поэт |
Живой |
Живой поэт! – невольник чести- Пал, оклеветанный молвой, |
За окном идёт снег. |
Бежать |
дом |
За окном идёт снег. |
Трус не ирает в хоккей! |
Не |
Трус |
Трус не ирает в хоккей! |
Пять, шесть, семь восемь, сто один. |
восемь |
семь |
Пять, шесть, семь семь, сто один. |
Кто ты? Где ты? Как ты? |
ты |
Что |
Что ты? Что ты? Что ты? |
Описание переменных
Описание переменных представлено в таблице 2
Таблица 2. Описание переменных
Имя переменной |
Тип переменной |
Назначение переменной |
text |
char** |
Указатель на адрес первого элемента введённого текста |
newtxt |
char** |
Указатель на адрес первого элемента сформированного текста |
slovo |
char* |
Указатель на адрес первого элемента введённого слова |
slovo1 |
char* |
Указатель на адрес первого элемента введённого слова для текста |
kolstrok |
int |
Количество строк в тексте |
f |
int |
Переменная для организации меню и цикла |
z |
int |
Вспомогательная переменная для проверки выбора 1-го пункта меню |
h |
int |
Вспомогательная переменная для проверки ввода слова |
g |
int |
Вспомогательная переменная для проверки выбора 4-го пункта меню |