Методические указания по выполнению практической работы по теме: Свойства объектов. События.


Практическая работа № 4.
Объекты. Свойства объектов. События.
Цель работы: получить навык работы с объектами в среде Visual C++.
Теоретическая часть
В терминах разработки .NET приложение с графическим интерфейсом пользователя Windows называется приложением Windows Forms (или Winforms). Разработка проекта Windows Forms с помощью Visual C++ в общих чертах не отличается от разработки на других языках .NET, таких как Visual Basic или C#.
Приложения Windows Forms в Visual C++ используют классы .NET Framework и иные функциональные возможности .NET с новым синтаксисом Visual C++.
Библиотека iostreamБиблиотека iostream подключается в разделе объявлений файла исходного кода:
#include <iostream>
Библиотека iostream интересна как прекрасный пример объектно-ориентированного проектирования, так как содержит многие характерные приемы и конструкции.
В основе ООП подхода, реализуемого средствами iostream, лежит предположение о том, что объекты обладают знанием того, какие действия следует предпринимать при вводе и выводе.
При пользовании библиотекой iostream ошибки, связанные с "перепутыванием" типов данных, исключены. Если вы используете в операции ввода-вывода переменную типа unsigned long, то вызывается подпрограмма, ответственная именно за этот тип.
Библиотека stdio поддерживает средства языка С, позволяющее использовать переменное число параметров. Но такая гибкость дается недаром – на этапе компиляции проверка соответствия между спецификацией формата, как в функциях printf() и scanf(), не выполняется.
В библиотеке iostream применен другой подход. Операторы ввода-вывода оформляются в виде выражений с применением переопределяемых функций-операторов для каждого из типов данных, встречающихся в выражении. Если вам необходимо использовать новый тип данных в операциях ввода-вывода, вы можете расширить библиотеку iostream своими функциями-операторами.
Библиотека iostream более медленная, чем stdio, но это небольшая плата за надежность и расширяемость, базирующиеся на возможностях объектно-ориентированных средств вывода.
<stdio.h> - представляет нам функции ввода/вывода в стиле С;
<stdlib.h> - даёт нам возможность работать с символами и некоторыми функциями, потребующиеся нам;
<time.h> - отсюда нам потребуется функция time() для генерации случайных чисел (объяснения позже);
<conio.h> -здесь нам нужны функции clrscr() - очистка экрана, и функция getch() - возвращает символ нажатой клавиши
Замечание: отобразите окно свойств для элементов (Вид→Другие окна→Окно свойств или Alt+Enter).
109220238125форма
00форма

Замечание: знакомьтесь с назначением элементов формы, просматривая всплывающие подсказки:
2780030106553000
Стандартное содержимое вашего проекта можно увидеть в Обозревателе решений:

Ход работы
Задание 1.
Создайте простую программу-генератор случайных чисел.
Создайте новый проект С++ (Файл→Создать→Проект→ВыбратьCLR+“Приложение Windows Forms”).
Разместите на форме:
кнопку button1;
контейнер для отображения изображения pictureBox1;
элемент textBox1.
Примерный вид формы с необходимыми элементами:

Измените свойства для следующих элементов (картинки в папке “Для П.р.№4”):
для Form1 – Text=Генератор случайных чисел, TopMost =True, BackColor=Black, Icon;
для textBox1 – Font, Textalign=Center;
для picturebox1– Image;
для button1 – Text=Генерация, Font.
Примерный вид формы:

Введите код в обработчик событий (Form1.h), для этого дважды кликните по кнопке button1 и введите для неё код, обведённый красным прямоугольником;
78803533909000
Подключите дополнительную библиотеку в файле исходного кода, для этого откройте Обозреватель решений (см. пункт меню Вид), найдите файл с именем вашего проекта и расширением .cpp и добавьте строку #include <cstdlib>
Замечание: без этого подключения не будет распознана функция rand.
Выполните отладку (F5) и проверьте её работоспособность.
Примерный результат работы вашей программы:

Измените свойство Location для формы таким образом, чтобы она при запуске располагалась по центру экрана.
Задание 2.
Измените код так, чтобы генерировались трёхзначные числа, кратные пяти (в нужном месте добавить*5)
838200228981000
Покажите выполненную работу преподавателю и получите дополнительное задание.
Ответьте на контрольные вопросы.
Контрольные вопросы:
Что определяет свойство формы TopMost?
Что определяет свойство формы Location?
Каково назначение заголовочного файла <cstdlib>?