- •1. Общее задание.
- •1.2. Индивидуальный вариант задания.
- •2.Формализация и уточнение задания.
- •3. Разработка графического интерфейса пользователя приложения
- •4.Разработка программного кода приложения
- •4.1. Файлы c функциями решения поставленной задачи
- •4.2. Программные коды заголовочного файла task.H и отредактированного программного кода системного заголовочного файла stdafx.H. (рис. 8,9)
- •5.Выполнение и результаты работы проекта На рис. 11,12 приведены результаты выполнения приложения при различных исходных данных.
- •6.Доказательство правильности результатов
4.Разработка программного кода приложения
4.1. Файлы c функциями решения поставленной задачи
В данном проекте в соответствии с заданием создается два файла с
программным кодом функций пользователя:
- файл GetPut.cpp(см. рис.6), содержащий функцию GetInt для ввода из
текстового поля формы и преобразования в целое число, функцию
input формирования массива из случайных целых чисел, и функцию
output для вывода одномерного массива целых чисел в элемент
управления ListBox формы;
- файл Task.cpp, содержащий функции min,koli,task, необходимые для решения поставленной задачи.
Рисунок 6 – Программный код файла GetPut.cpp
Функция input заполняет массив случайными натуральными числами и имеет 4 формальных параметра: сам массив mas[], количество элементов в массиве n, диапазон случайных чисел a, b. В теле функции для генерации случайных чисел создается объект класса Random, а затем в цикле с помощью метода Next этого объекта генерируется случайное число и присваивается очередному элементу массива. Следующая функция в этом файле GetInt служит для ввода целого числа из текстового поля формы и тоже имеет 4 формальных параметра. Первый параметр - const int MaxVal типа целая константа – это максимальное число, которое пользователь имеет право ввести в текстовое поле, второй – само текстовое поле (вернее, указатель на него). Третий параметр – это строка, которая выводится в окно сообщений MessageBox в случае ошибочного ввода, т.е. в том случае, когда текстовое поле пусто, либо если введенное в него значение превышает заданное в параметре MaxVal максимально возможное число, или, наоборот, введенное число меньше 1. Четвертый параметр функции передается по ссылке, и в него записывается введенное число в случае успешного ввода. Функция возвращает значение логического типа (true или false), показывающее, был ли произведен успешный ввод значения или нет. Функция output выводит массив в заданный список на форме и имеет 3 формальных параметра: массив, число выводимых элементов и указатель на объект типа ListBox, в который требуется произвести вывод.
Рисунок 7 – Программный код файла Task.cpp с функциями решения задачи
4.2. Программные коды заголовочного файла task.H и отредактированного программного кода системного заголовочного файла stdafx.H. (рис. 8,9)
Рисунок 8 – Программный код заголовочного файла Task.h
Рисунок 9 – Программный код заголовочного файла stdafx.h
4.3. Событийные процедуры.
В данной работе создаются две событийные процедуры, вызываемые при нажатии кнопок cmdTask (Решение) и cmdExit (Выход). Напомним, что для создания заготовок этих процедур следует, находясь в окне Form1.h [Конструктор], выполнить двойной щелчок мышью на соответствующих кнопках, а затем заполнить тело процедур соответствующим кодом. На рис. 10 приведен код этих процедур, вставляемых в файл Form1.h после директивы #pragma endregion.
Рисунок 10 – Часть программного кода файла Form1.h
5.Выполнение и результаты работы проекта На рис. 11,12 приведены результаты выполнения приложения при различных исходных данных.
Рисунок 11 – Результаты работы проекта
Рисунок 12 – Результаты работы проекта