Определение класса, объектами которого являются многоугольники указанного типа., страница 7

"Определить операцию преобразования многоугольника (вращение на угол a вокруг точки (x,y)) с помощью составной функции."

" Меню включает опции: Ввод точек, Выполнение действия, Выход, Помощь. Точки вводятся с помощью мыши или генератора случайных чисел. \r\n"

"\r\n\t\t\t< < ПОРЯДОК РАБОТЫ > >\r\n1.  Выберите в меню пункт \"Ввод точек\"->\"Начать ввод\". Затем с помощью мыши укажите в графическом поле вершины многоугольника, "

"нажав левую кнопку на месте создания соответствующей вершины. Многоугольник будет автоматически достраиваться при добавлении очередной вершины методом"

" Дейкстры.\r\n2.  Если вы где-то ошиблись при построении многоугольника, и хотите отменить построение, то выберите пункт меню \"Ввод точек\"->\"Отмена\" (при этом все графическое окно очистится).\r\n"

"3.  После того, как вы построили нужный многоугольник, выберите пункт меню \"Ввод точек\"->\"Закончить ввод\". Таким образом многоугольник будет программно сформирован и отображен "

"в графическом поле. \r\n4.  Далее, для проверки попадания точки в область, ограниченную многоугольником, достаточно нажать левую кнопку мыши. В зависимости от ситуации "

"будет выведено в левом верхнем углу графического окна соответствующее сообщение.\r\n5.  Если вы хотите выполнить требуемое действие, то выберите пункт меню \"Выполнение действия\". Появится окно, в котором вам необходимо "

"будет указать угол, на который вы хотите повернуть многоугольник и координаты (x,y) точки, вокруг которой будет выполняться вращение против часовой стрелки (или поставить точку в графическом окне, нажав левую кнопку мыши в соответствующем месте. После нажатия на кнопку \"Выполнить\""

" будет произведено заданное действие.\r\n6.  Для выхода из программы выберите пункт меню\"Выход\".\r\n\r\nЛабораторную работу выполнил студент группы 4ВТ-1 Сочнев И.";

}

//--------------------------------------------------------------------------Текстфайла Unit3.cpp

//--------------------------------------------------------------------------#include <vcl.h>

#pragma hdrstop

#include "Unit3.h"

#include "unit1.cpp"

//--------------------------------------------------------------------------#pragma package(smart_init)

#pragma resource "*.dfm"

TForm3 *Form3;

double la1, //переменная для хранения значение угла поворота

la2, //переменная для хранения координаты Х точки, вокруг которой будет

//выполняться вращение

la3; //переменная для хранения координаты У точки, вокруг которой будет

//выполняться вращение

int rb=0; //rb=1 если пользователь выбрал ввод координат точки с помощью клавиатуры

//rb=2 если пользователь выбрал ввод координат точки с помощью мыши

bool err=false;

//--------------------------------------------------------------------------__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

Edit2->Enabled=false;

Edit3->Enabled=false;

}

//--------------------------------------------------------------------------void __fastcall TForm3::Edit1Change(TObject *Sender)

{

if(Edit1->Text=="") {MessageBox(NULL, "Введите значение угла в градусах", "Неправильный ввод", MB_ICONINFORMATION); err=true; return;}

int la;

err=false;

la=atoi(Edit1->Text.c_str());

la1=atof(Edit1->Text.c_str());

if(la!=la1) {MessageBox(NULL, "Значение угла поворота должно быть целым", "Неправильный угол", MB_ICONINFORMATION); Edit1->Text=""; err=true;return;}