АиП 2 сем / лаба 12
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ
КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Информатика»
Лабораторная работа №12
«Создание приложений Windows Forms
для обработки строк»
по теме
«Символьные и строковые данные в С++»
Выполнил: студент группы БЭИ2203
Малых Д. С.
Проверил: доцент Воробейчиков Л. А.
Москва, 2023 г.
Индивидуальное задание на разработку проекта
Создать проект решения следующей задачи:
В заданной строке, состоящей из слов, разделенных одним или более пробелами, удалите из каждого слова нечетной длины средний символ и подсчитайте количество измененных слов.
Формализация задачи
Из условия задания следует, что его выполнение распадается на следующие этапы:
Ввод исходной строки;
Удаление из строки лишних символов с тем, чтобы все слова были разделены ровно одним пробелом;
Формирование из строки массива слов;
Удаление из каждого слова нечетной длины средний символ;
Подсчет количества измененных слов;
Вывод найденного количества.
Разработка графического интерфейса пользователя приложения
Графический интерфейс проекта изображен на рисунке 1. Форма содержит 6 объектов:
Текстовое поле txtString для ввода обрабатываемой строки;
Текстовое поле txtWord для вывода найденного количества;
Кнопку cmdFind для запуска процедуры поиска;
Кнопку cmdExit для выхода из приложения;
Надписи lblString и lblWord, комментирующие назначение текстовых полей.
Имена объектов сформированы с использованием правил венгерской нотации.
Рисунок 1 – Форма проекта
В таблице 2 приведены установленные при конструировании свойства основных объектов формы.
Таблица 2
Тип объекта |
Класс объекта |
Свойство |
Значение свойства |
Текстовое поле |
TextBox |
Name |
txtString |
Font |
Garamond; 12pt; style=Bold |
||
TabIndex |
1 |
||
Текстовое поле |
TextBox |
Name |
txtWord |
Font |
Garamond; 12pt; style=Bold |
||
TabStop |
False |
||
TabIndex |
0 |
||
Enabled |
False |
||
Кнопка |
Button |
Name |
cmdFind |
Font |
Garamond; 12pt; style=Bold |
||
Text |
Найти |
||
TabIndex |
2 |
||
Кнопка |
Button |
Name |
cmdExit |
Font |
Garamond; 12pt; style=Bold |
||
Text |
Выйти |
||
TabIndex |
3 |
Разработка схем алгоритмов функций
Схемы алгоритмов функций приложения, решающих поставленную задачу, приведены на рисунках 2-4.
Рисунок 2 – Схема алгоритма функции Count
Рисунок 3 – Схема функции DelSpace
Рисунок 4 – Схема функции DelChar
Разработка программного кода приложения
Файл с функциями пользователя
На рисунке 5 приведены тексты функций, содержащихся в файле Count.cpp.
Рисунок 5 – Текст файла Count.cpp с функциями пользователя
Программный код заголовочного файла Count.h
На рисунке 6 приведен программный код созданного заголовочного файла Count.h.
Рисунок 6 – Программный код заголовочного файла Count.h
Событийные процедуры
Событийные процедуры проекта приведены на рисунке 7.
Рисунок 7 – Программный код событийных процедур в файле Form1.h
Результаты выполнения приложения
На рисунках 8-9 приведены результаты работы приложения.
Рисунок 8 – Результаты работы приложения с найденными словами
Рисунок 9 – Результаты работы приложения при пустой входной строке
Доказательство правильности результата
Правильность работы приложения подтверждается приведенными выше результатами его выполнения.