Добавил:
masterdos
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа / Курсовая похожая / Курсовая / MainUnit
.cpp//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MainUnit.h"
#include "Rectangl.h"
#include "Triangl.h"
#include "Ellips.h"
#include "EllipslUnit.h"
#include "RectanglUnit.h"
#include "gl.h"
#include "TrianglUnit.h"
#include "AboutUnit.h"
#include "CheckUnit.h"
int number=0;
int k=0,l=0,m=0;
int ListOfImage[15];
int CheckForTriangle(int,int,int,int,int,int);
int CheckForRectangl(int,int,int,int);
int CheckForEllips(int,int,int,int);
void DrawTriangle(int,int,int,int,int,int,TImage *);
void DrawRectangle(int,int,int,int,TImage *);
void DrawEllipse(int,int,int,int,TImage *);
void CreateTriangle(Triangle *,int);
void CreateRectangle(Rectangl *,int);
void CreateEllipse(Ellips *,int);
double AreasOfTriangle[15],AreasOfRectangle[15],AreasOfEllipse[15];
double MaxAreasOfTriangles=0,MaxAreasOfRectanles=0,MaxAreasOfEllipses=0,MaxAreas=0;
int a[15][6],b[15][4],c[15][4],d[15];
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
MainImage->Canvas->Pen->Color=clWhite;
MainImage->Canvas->Rectangle(0,0,580,340);
for(int i=0;i<15;i++)
{
ListOfImage[i]=0;
AreasOfTriangle[i]=0;
AreasOfRectangle[i]=0;
AreasOfEllipse[i]=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TriangleClick(TObject *Sender)
{
TriangleCreateForm->Show();
}
void __fastcall TTriangleCreateForm::Button2Click(TObject *Sender)
{
int x1,x2,x3,y1,y2,y3;
if((TriangleCreateForm->Edit1->Text.Length()==0)||(TriangleCreateForm->Edit2->Text.Length()==0)||(TriangleCreateForm->Edit3->Text.Length()==0)||
(TriangleCreateForm->Edit4->Text.Length()==0)||(TriangleCreateForm->Edit5->Text.Length()==0)||(TriangleCreateForm->Edit6->Text.Length()==0))
{
ShowMessage("Заповненні не всі поля");
return;
}
x1=StrToInt(TriangleCreateForm->Edit1->Text);
x2=StrToInt(TriangleCreateForm->Edit2->Text);
x3=StrToInt(TriangleCreateForm->Edit3->Text);
y1=StrToInt(TriangleCreateForm->Edit4->Text);
y2=StrToInt(TriangleCreateForm->Edit5->Text);
y3=StrToInt(TriangleCreateForm->Edit6->Text);
if((x1>(10*(TriangleCreateForm->ChangeSize->ItemIndex+2)))||(y1>(10*(TriangleCreateForm->ChangeSize->ItemIndex+2)))||
(x2>(10*(TriangleCreateForm->ChangeSize->ItemIndex+2)))||(y2>(10*(TriangleCreateForm->ChangeSize->ItemIndex+2)))||
(x3>(10*(TriangleCreateForm->ChangeSize->ItemIndex+2)))||(y3>(10*(TriangleCreateForm->ChangeSize->ItemIndex+2))))
{
ShowMessage("Значення координат не входять в вибраний Вами діапазон.");
return;
}
if(CheckForTriangle(x1,x2,x3,y1,y2,y3)==0)
{
ShowMessage("Не правельні значення координат.");
return;
}
if(ListOfImage[0]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image1);
Triangle *triangle0=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle0,0);
ListOfImage[0]=1;
a[0][0]=x1; a[0][1]=x2; a[0][2]=x3; a[0][3]=y1; a[0][4]=y2; a[0][5]=y3; d[0]=1;
}
else
if(ListOfImage[1]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image2);
Triangle *triangle1=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle1,1);
ListOfImage[1]=1;
a[1][0]=x1; a[1][1]=x2; a[1][2]=x3; a[1][3]=y1; a[1][4]=y2; a[1][5]=y3; d[1]=1;
}
else
if(ListOfImage[2]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image3);
Triangle *triangle2=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle2,2);
ListOfImage[2]=1;
a[2][0]=x1; a[2][1]=x2; a[2][2]=x3; a[2][3]=y1; a[2][4]=y2; a[2][5]=y3; d[2]=1;
}
else
if(ListOfImage[3]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image4);
Triangle *triangle3=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle3,3);
ListOfImage[3]=1;
a[3][0]=x1; a[3][1]=x2; a[3][2]=x3; a[3][3]=y1; a[3][4]=y2; a[3][5]=y3; d[3]=1;
}
else
if(ListOfImage[4]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image5);
Triangle *triangle4=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle4,4);
ListOfImage[4]=1;
a[4][0]=x1; a[4][1]=x2; a[4][2]=x3; a[4][3]=y1; a[4][4]=y2; a[4][5]=y3; d[4]=1;
}
else
if(ListOfImage[5]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image6);
Triangle *triangle5=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle5,5);
ListOfImage[5]=1;
a[5][0]=x1; a[5][1]=x2; a[5][2]=x3; a[5][3]=y1; a[5][4]=y2; a[5][5]=y3; d[5]=1;
}
else
if(ListOfImage[6]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image7);
Triangle *triangle6=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle6,6);
ListOfImage[6]=1;
a[6][0]=x1; a[6][1]=x2; a[6][2]=x3; a[6][3]=y1; a[6][4]=y2; a[6][5]=y3; d[6]=1;
}
else
if(ListOfImage[7]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image8);
Triangle *triangle7=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle7,7);
ListOfImage[7]=1;
a[7][0]=x1; a[7][1]=x2; a[7][2]=x3; a[7][3]=y1; a[7][4]=y2; a[7][5]=y3; d[7]=1;
}
else
if(ListOfImage[8]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image9);
Triangle *triangle8=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle8,8);
ListOfImage[8]=1;
a[8][0]=x1; a[8][1]=x2; a[8][2]=x3; a[8][3]=y1; a[8][4]=y2; a[8][5]=y3; d[8]=1;
}
else
if(ListOfImage[9]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image10);
Triangle *triangle9=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle9,9);
ListOfImage[9]=1;
a[9][0]=x1; a[9][1]=x2; a[9][2]=x3; a[9][3]=y1; a[9][4]=y2; a[9][5]=y3; d[9]=1;
}
else
if(ListOfImage[10]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image11);
Triangle *triangle10=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle10,10);
ListOfImage[10]=1;
a[10][0]=x1; a[10][1]=x2; a[10][2]=x3; a[10][3]=y1; a[10][4]=y2; a[10][5]=y3; d[10]=1;
}
else
if(ListOfImage[11]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image12);
Triangle *triangle11=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle11,11);
ListOfImage[11]=1;
a[11][0]=x1; a[11][1]=x2; a[11][2]=x3; a[11][3]=y1; a[11][4]=y2; a[11][5]=y3; d[11]=1;
}
else
if(ListOfImage[12]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image13);
Triangle *triangle12=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle12,12);
ListOfImage[12]=1;
a[12][0]=x1; a[12][1]=x2; a[12][2]=x3; a[12][3]=y1; a[12][4]=y2; a[12][5]=y3; d[12]=1;
}
else
if(ListOfImage[13]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image14);
Triangle *triangle13=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle13,13);
ListOfImage[13]=1;
a[13][0]=x1; a[13][1]=x2; a[13][2]=x3; a[13][3]=y1; a[13][4]=y2; a[13][5]=y3; d[13]=1;
}
else
if(ListOfImage[14]==0)
{
DrawTriangle(x1,x2,x3,y1,y2,y3,Form1->Image15);
Triangle *triangle14=new Triangle(x1,x2,x3,y1,y2,y3);
CreateTriangle(triangle14,14);
ListOfImage[14]=1;
a[14][0]=x1; a[14][1]=x2; a[14][2]=x3; a[14][3]=y1; a[14][4]=y2; a[14][5]=y3; d[14]=1;
}
else {ShowMessage("Закінчились фігури ..."); return;}
TriangleCreateForm->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N4Click(TObject *Sender)
{
MaxAreasOfTriangles=0;
for(int i=0;i<15;i++)
if(AreasOfTriangle[i]>MaxAreasOfTriangles)
MaxAreasOfTriangles=AreasOfTriangle[i];
if(MaxAreasOfTriangles==0)
ShowMessage("Трикутники відстутні.");
else
ShowMessage("Максимальна площа трикутника: "+FloatToStrF(MaxAreasOfTriangles,ffFixed,6,2)+".");
}
//---------------------------------------------------------------------------
int CheckForTriangle(int x1,int x2,int x3,int y1,int y2,int y3)
{
if(((x1==x2)&&(x2==x3))||((y1==y2)&&(y2==y3)))
return 0;
else
if(((x1-x2)==(x2-x3))&&((y1-y2)==(y2-y3)))
return 0;
else
return 1;
}
//------------------------------------------------------------------------------
void __fastcall TForm1::RectangleClick(TObject *Sender)
{
RectanglCreateForm->Show();
}
void __fastcall TRectanglCreateForm::Button2Click(TObject *Sender)
{
int x1,x2,y1,y2;
if((RectanglCreateForm->Edit1->Text.Length()==0)||(RectanglCreateForm->Edit2->Text.Length()==0)||
(RectanglCreateForm->Edit3->Text.Length()==0)||(RectanglCreateForm->Edit4->Text.Length()==0))
{
ShowMessage("Заповненні не всі поля");
return;
}
x1=StrToInt(Edit1->Text);
x2=StrToInt(Edit2->Text);
y1=StrToInt(Edit3->Text);
y2=StrToInt(Edit4->Text);
if((x1>(10*(RectanglCreateForm->ChangeSize->ItemIndex+2)))||(y1>(10*(RectanglCreateForm->ChangeSize->ItemIndex+2)))||
(x2>(10*(RectanglCreateForm->ChangeSize->ItemIndex+2)))||(y2>(10*(RectanglCreateForm->ChangeSize->ItemIndex+2))))
{
ShowMessage("Значення координат не входять в вибраний Вами діапазон.");
return;
}
if(CheckForRectangl(x1,y1,x2,y2)==0)
{
ShowMessage("Не правельні значення координат.");
return;
}
if(ListOfImage[0]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image1);
Rectangl *rectangle0=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle0,0);
ListOfImage[0]=1;
b[0][0]=x1; b[0][1]=x2; b[0][2]=y1; b[0][3]=y2; d[0]=2;
}
else
if(ListOfImage[1]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image2);
Rectangl *rectangle1=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle1,1);
ListOfImage[1]=1;
b[1][0]=x1; b[1][1]=x2; b[1][2]=y1; b[1][3]=y2; d[1]=2;
}
else
if(ListOfImage[2]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image3);
Rectangl *rectangle2=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle2,2);
ListOfImage[2]=1;
b[2][0]=x1; b[2][1]=x2; b[2][2]=y1; b[2][3]=y2; d[2]=2;
}
else
if(ListOfImage[3]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image4);
Rectangl *rectangle3=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle3,3);
ListOfImage[3]=1;
b[3][0]=x1; b[3][1]=x2; b[3][2]=y1; b[3][3]=y2; d[3]=2;
}
else
if(ListOfImage[4]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image5);
Rectangl *rectangle4=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle4,4);
ListOfImage[4]=1;
b[4][0]=x1; b[4][1]=x2; b[4][2]=y1; b[4][3]=y2; d[4]=2;
}
else
if(ListOfImage[5]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image6);
Rectangl *rectangle5=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle5,5);
ListOfImage[5]=1;
b[5][0]=x1; b[5][1]=x2; b[5][2]=y1; b[5][3]=y2; d[5]=2;
}
else
if(ListOfImage[6]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image7);
Rectangl *rectangle6=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle6,6);
ListOfImage[6]=1;
b[6][0]=x1; b[6][1]=x2; b[6][2]=y1; b[6][3]=y2; d[6]=2;
}
else
if(ListOfImage[7]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image8);
Rectangl *rectangle7=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle7,7);
ListOfImage[7]=1;
b[7][0]=x1; b[7][1]=x2; b[7][2]=y1; b[7][3]=y2; d[7]=2;
}
else
if(ListOfImage[8]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image9);
Rectangl *rectangle8=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle8,8);
ListOfImage[8]=1;
b[9][0]=x1; b[8][1]=x2; b[8][2]=y1; b[8][3]=y2; d[8]=2;
}
else
if(ListOfImage[9]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image10);
Rectangl *rectangle9=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle9,9);
ListOfImage[9]=1;
b[9][0]=x1; b[9][1]=x2; b[9][2]=y1; b[9][3]=y2; d[9]=2;
}
else
if(ListOfImage[10]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image11);
Rectangl *rectangle10=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle10,10);
ListOfImage[10]=1;
b[10][0]=x1; b[10][1]=x2; b[10][2]=y1; b[10][3]=y2; d[10]=2;
}
else
if(ListOfImage[11]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image12);
Rectangl *rectangle11=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle11,11);
ListOfImage[11]=1;
b[11][0]=x1; b[11][1]=x2; b[11][2]=y1; b[11][3]=y2; d[11]=2;
}
else
if(ListOfImage[12]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image13);
Rectangl *rectangle12=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle12,12);
ListOfImage[12]=1;
b[12][0]=x1; b[12][1]=x2; b[12][2]=y1; b[12][3]=y2; d[12]=2;
}
else
if(ListOfImage[13]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image14);
Rectangl *rectangle13=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle13,13);
ListOfImage[13]=1;
b[13][0]=x1; b[13][1]=x2; b[13][2]=y1; b[13][3]=y2; d[13]=2;
}
else
if(ListOfImage[14]==0)
{
DrawRectangle(x1,x2,y1,y2,Form1->Image15);
Rectangl *rectangle14=new Rectangl(x1,x2,y1,y2);
CreateRectangle(rectangle14,14);
ListOfImage[14]=1;
b[14][0]=x1; b[14][1]=x2; b[14][2]=y1; b[14][3]=y2; d[14]=2;
}
else {ShowMessage("Закінчились фігури ..."); return;}
RectanglCreateForm->Close();
}
//---------------------------------------------------------------------------
int CheckForRectangl(int x1,int y1,int x2,int y2)
{
if(x1==x2 || y1==y2)
return 0;
else
return 1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N5Click(TObject *Sender)
{
MaxAreasOfRectanles=0;
for(int i=0;i<15;i++)
if(AreasOfRectangle[i]>MaxAreasOfRectanles)
MaxAreasOfRectanles=AreasOfRectangle[i];
if(MaxAreasOfRectanles==0)
ShowMessage("Прямокутники відстутні.");
else
ShowMessage("Максимальна площа прямокутника: "+FloatToStrF(MaxAreasOfRectanles,ffFixed,6,2)+".");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::EllipseClick(TObject *Sender)
{
EllipsCreateForm->Show();
}
//---------------------------------------------------------------------------
void __fastcall TEllipsCreateForm::Button2Click(TObject *Sender)
{
int x1,x2,y1,y2;
if((EllipsCreateForm->Edit1->Text.Length()==0)||(EllipsCreateForm->Edit2->Text.Length()==0)||
(EllipsCreateForm->Edit3->Text.Length()==0)||(EllipsCreateForm->Edit4->Text.Length()==0))
{
ShowMessage("Заповненні не всі поля");
return;
}
x1=StrToFloat(Edit1->Text);
x2=StrToFloat(Edit2->Text);
y1=StrToFloat(Edit3->Text);
y2=StrToFloat(Edit4->Text);
if((x1>(10*(EllipsCreateForm->ChangeSize->ItemIndex+2)))||(y1>(10*(EllipsCreateForm->ChangeSize->ItemIndex+2)))||
(x2>(10*(EllipsCreateForm->ChangeSize->ItemIndex+2)))||(y2>(10*(EllipsCreateForm->ChangeSize->ItemIndex+2))))
{
ShowMessage("Значення координат не входять в вибраний Вами діапазон.");
return;
}
if(CheckForEllips(x1,y1,x2,y2)==0)
{
ShowMessage("Не правельні значення координат.");
return;
}
if(ListOfImage[0]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image1);
Ellips *ellips0=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips0,0);
ListOfImage[0]=1;
c[0][0]=x1; c[0][1]=x2; c[0][2]=y1; c[0][3]=y2; d[0]=3;
}
else
if(ListOfImage[1]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image2);
Ellips *ellips1=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips1,1);
ListOfImage[1]=1;
c[1][0]=x1; c[1][1]=x2; c[1][2]=y1; c[1][3]=y2; d[1]=3;
}
else
if(ListOfImage[2]==0)
{
Ellips *ellips2=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips2,2);
DrawEllipse(x1,x2,y1,y2,Form1->Image3);
ListOfImage[2]=1;
c[2][0]=x1; c[2][1]=x2; c[2][2]=y1; c[2][3]=y2; d[2]=3;
}
else
if(ListOfImage[3]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image4);
Ellips *ellips3=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips3,3);
ListOfImage[3]=1;
c[3][0]=x1; c[3][1]=x2; c[3][2]=y1; c[3][3]=y2; d[3]=3;
}
else
if(ListOfImage[4]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image5);
Ellips *ellips4=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips4,4);
ListOfImage[4]=1;
c[4][0]=x1; c[4][1]=x2; c[4][2]=y1; c[4][3]=y2; d[4]=3;
}
else
if(ListOfImage[5]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image6);
Ellips *ellips5=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips5,5);
ListOfImage[5]=1;
c[5][0]=x1; c[5][1]=x2; c[5][2]=y1; c[5][3]=y2; d[5]=3;
}
else
if(ListOfImage[6]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image7);
Ellips *ellips6=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips6,6);
ListOfImage[6]=1;
c[6][0]=x1; c[6][1]=x2; c[6][2]=y1; c[6][3]=y2; d[6]=3;
}
else
if(ListOfImage[7]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image8);
Ellips *ellips7=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips7,7);
ListOfImage[7]=1;
c[7][0]=x1; c[7][1]=x2; c[7][2]=y1; c[7][3]=y2; d[7]=3;
}
else
if(ListOfImage[8]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image9);
Ellips *ellips8=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips8,8);
ListOfImage[8]=1;
c[8][0]=x1; c[8][1]=x2; c[8][2]=y1; c[8][3]=y2; d[8]=3;
}
else
if(ListOfImage[9]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image10);
Ellips *ellips9=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips9,9);
ListOfImage[9]=1;
c[9][0]=x1; c[9][1]=x2; c[9][2]=y1; c[9][3]=y2; d[9]=3;
}
else
if(ListOfImage[10]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image11);
Ellips *ellips10=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips10,10);
ListOfImage[10]=1;
c[10][0]=x1; c[10][1]=x2; c[10][2]=y1; c[10][3]=y2; d[10]=3;
}
else
if(ListOfImage[11]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image12);
Ellips *ellips11=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips11,11);
ListOfImage[11]=1;
c[11][0]=x1; c[11][1]=x2; c[11][2]=y1; c[11][3]=y2; d[11]=3;
}
else
if(ListOfImage[12]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image13);
Ellips *ellips12=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips12,12);
ListOfImage[12]=1;
c[12][0]=x1; c[12][1]=x2; c[12][2]=y1; c[12][3]=y2; d[12]=3;
}
else
if(ListOfImage[13]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image14);
Ellips *ellips13=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips13,13);
ListOfImage[13]=1;
c[13][0]=x1; c[13][1]=x2; c[13][2]=y1; c[13][3]=y2; d[13]=3;
}
else
if(ListOfImage[14]==0)
{
DrawEllipse(x1,x2,y1,y2,Form1->Image15);
Ellips *ellips14=new Ellips(x1,x2,y1,y2);
CreateEllipse(ellips14,14);
ListOfImage[14]=1;
c[14][0]=x1; c[14][1]=x2; c[14][2]=y1; c[14][3]=y2; d[14]=3;
}
else {ShowMessage("Закінчились фігури ..."); return;}
EllipsCreateForm->Close();
}
//-------------------------------------------------------------------
int CheckForEllips(int x1,int y1,int x2,int y2)
{
if(x1==x2 || y1==y2)
return 0;
else
return 1;
}
//-----------------------------------------------------------------
void __fastcall TForm1::N6Click(TObject *Sender)
{
MaxAreasOfEllipses=0;
for(int i=0;i<15;i++)
if(AreasOfEllipse[i]>MaxAreasOfEllipses)
MaxAreasOfEllipses=AreasOfEllipse[i];
if(MaxAreasOfEllipses==0)
ShowMessage("Еліпси відстутні.");
else
ShowMessage("Максимальна площа еліпса: "+FloatToStrF(MaxAreasOfEllipses,ffFixed,6,2)+".");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N3Click(TObject *Sender)
{
MaxAreasOfRectanles=0;
for(int i=0;i<15;i++)
if(AreasOfRectangle[i]>MaxAreasOfRectanles)
MaxAreasOfRectanles=AreasOfRectangle[i];
MaxAreasOfTriangles=0;
for(int i=0;i<15;i++)
if(AreasOfTriangle[i]>MaxAreasOfTriangles)
MaxAreasOfTriangles=AreasOfTriangle[i];
MaxAreasOfEllipses=0;
for(int i=0;i<15;i++)
if(AreasOfEllipse[i]>MaxAreasOfEllipses)
MaxAreasOfEllipses=AreasOfEllipse[i];
if((MaxAreasOfRectanles==0)&&(MaxAreasOfTriangles==0)&&(MaxAreasOfEllipses==0))
ShowMessage("Ви не створили фігури.");
else
if(MaxAreasOfEllipses>MaxAreasOfTriangles && MaxAreasOfEllipses>MaxAreasOfRectanles)
ShowMessage("Максимальна площа серед фігур у еліпса: "+FloatToStrF(MaxAreasOfEllipses,ffFixed,6,2)+".");
else if (MaxAreasOfEllipses<MaxAreasOfTriangles && MaxAreasOfTriangles>MaxAreasOfRectanles)
ShowMessage("Максимальна площа серед фігур у трикутника: "+FloatToStrF(MaxAreasOfTriangles,ffFixed,6,2)+".");
else ShowMessage("Максимальна площа серед фігур у прямокутника: "+FloatToStrF(MaxAreasOfRectanles,ffFixed,6,2)+".");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1Click(TObject *Sender)
{
if(ListOfImage[0]==1){
number=1;
if(k==0)
k=1;
else
{l=1;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image10Click(TObject *Sender)
{
if(ListOfImage[9]==1){
number=10;
if(k==0)
k=10;
else
{l=10;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image11Click(TObject *Sender)
{
if(ListOfImage[10]==1){
number=11;
if(k==0)
k=11;
else
{l=11;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image12Click(TObject *Sender)
{
if(ListOfImage[11]==1){
number=12;
if(k==0)
k=12;
else
{l=12;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image13Click(TObject *Sender)
{
if(ListOfImage[12]==1){
number=13;
if(k==0)
k=13;
else
{l=13;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image14Click(TObject *Sender)
{
if(ListOfImage[13]==1){
number=14;
if(k==0)
k=14;
else
{l=14;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image2Click(TObject *Sender)
{
if(ListOfImage[1]==1){
number=2;
if(k==0)
k=2;
else
{l=2;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image15Click(TObject *Sender)
{
if(ListOfImage[14]==1){
number=15;
if(k==0)
k=15;
else
{l=15;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image3Click(TObject *Sender)
{
if(ListOfImage[2]==1){
number=3;
if(k==0)
k=3;
else
{l=3;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image4Click(TObject *Sender)
{
if(ListOfImage[3]==1){
number=4;
if(k==0)
k=4;
else
{l=4;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image5Click(TObject *Sender)
{
if(ListOfImage[4]==1){
number=5;
if(k==0)
k=5;
else
{l=5;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image6Click(TObject *Sender)
{
if(ListOfImage[5]==1){
number=6;
if(k==0)
k=6;
else
{l=6;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image7Click(TObject *Sender)
{
if(ListOfImage[6]==1){
number=7;
if(k==0)
k=7;
else
{l=7;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image8Click(TObject *Sender)
{
if(ListOfImage[7]==1){
number=8;
if(k==0)
k=8;
else
{l=8;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image9Click(TObject *Sender)
{
if(ListOfImage[8]==1){
number=9;
if(k==0)
k=9;
else
{l=9;m=1;}}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DeleteShapeClick(TObject *Sender)
{
if(number==0)
ShowMessage("Ви не вибрали фігуру.");
else
{ ListOfImage[number-1]=0;
switch(number)
{
case 1: Image1->Canvas->Pen->Color=clWhite;Image1->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 2: Image2->Canvas->Pen->Color=clWhite;Image2->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 3: Image3->Canvas->Pen->Color=clWhite;Image3->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 4: Image4->Canvas->Pen->Color=clWhite;Image4->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 5: Image5->Canvas->Pen->Color=clWhite;Image5->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 6: Image6->Canvas->Pen->Color=clWhite;Image6->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 7: Image7->Canvas->Pen->Color=clWhite;Image7->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 8: Image8->Canvas->Pen->Color=clWhite;Image8->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 9: Image9->Canvas->Pen->Color=clWhite;Image9->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 10: Image10->Canvas->Pen->Color=clWhite;Image10->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 11: Image11->Canvas->Pen->Color=clWhite;Image11->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 12: Image12->Canvas->Pen->Color=clWhite;Image12->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 13: Image13->Canvas->Pen->Color=clWhite;Image13->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 14: Image14->Canvas->Pen->Color=clWhite;Image14->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
case 15: Image15->Canvas->Pen->Color=clWhite;Image15->Canvas->Rectangle(0,0,100,100); AreasOfTriangle[number-1]=0;AreasOfRectangle[number-1]=0;AreasOfEllipse[number-1]=0;break;
}
number=0;
}
}
//---------------------------------------------------------------------------
void DrawTriangle(int x1,int x2,int x3,int y1, int y2, int y3, TImage *image)
{
y1=10*(TriangleCreateForm->ChangeSize->ItemIndex+2)-y1; y2=10*(TriangleCreateForm->ChangeSize->ItemIndex+2)-y2; y3=10*(TriangleCreateForm->ChangeSize->ItemIndex+2)-y3;
x1*=2; x2*=2; x3*=2; y1*=2; y2*=2; y3*=2;
image->Canvas->Pen->Color=clBlack; image->Canvas->MoveTo(x1,y1); image->Canvas->LineTo(x2,y2); image->Canvas->LineTo(x3,y3); image->Canvas->LineTo(x1,y1);
}
void DrawRectangle(int x1,int x2,int y1,int y2,TImage *image)
{
y1=10*(RectanglCreateForm->ChangeSize->ItemIndex+2)-y1; y2=10*(RectanglCreateForm->ChangeSize->ItemIndex+2)-y2;
x1*=2; x2*=2; y1*=2; y2*=2;
image->Canvas->Pen->Color=clBlue; image->Canvas->MoveTo(x1,y1); image->Canvas->LineTo(x2,y1); image->Canvas->LineTo(x2,y2); image->Canvas->LineTo(x1,y2); image->Canvas->LineTo(x1,y1);
}
void DrawEllipse(int x1,int x2,int y1,int y2,TImage *image)
{
y1=10*(EllipsCreateForm->ChangeSize->ItemIndex+2)-y1;y2=10*(EllipsCreateForm->ChangeSize->ItemIndex+2)-y2;
x1*=2; x2*=2; y1*=2; y2*=2;
image->Canvas->Pen->Color=clGreen; image->Canvas->Arc(x1,y1,x2,y2,0,0,0,0);
}
void CreateTriangle(Triangle *triangle,int n)
{
double s=triangle->GetArea();
AreasOfTriangle[n]=s;
}
void CreateRectangle(Rectangl *rectangl,int n)
{
double s=rectangl->GetArea();
AreasOfRectangle[n]=s;
}
void CreateEllipse(Ellips *ellips,int n)
{
double s=ellips->GetArea();
AreasOfEllipse[n]=s;
}
void __fastcall TForm1::N7Click(TObject *Sender)
{
int j=0;
if(m==0)
{
for(int i=0;i<15;i++)
if(ListOfImage[i]==1)
j++;
if(j>1)
{ShowMessage("Виберіть дві фігури та повторно виберіть даний пункт меню.");k=0;l=0;Form1->Shape->Enabled=false;Form1->Help->Enabled=false;}
else
{ShowMessage("На площині не достатньо фігур!"); return;}
}
if(m==1)
{
double s1,s2;
if(AreasOfTriangle[k-1]!=0)
s1=AreasOfTriangle[k-1];
else
if(AreasOfRectangle[k-1]!=0)
s1=AreasOfRectangle[k-1];
else
if(AreasOfEllipse[k-1]!=0)
s1=AreasOfEllipse[k-1];
if(AreasOfTriangle[l-1]!=0)
s2=AreasOfTriangle[l-1];
else
if(AreasOfRectangle[l-1]!=0)
s2=AreasOfRectangle[l-1];
else
if(AreasOfEllipse[l-1]!=0)
s2=AreasOfEllipse[l-1];
if(s1>s2)
ShowMessage("Площа першої фігури більша("+FloatToStr(s1)+"/"+FloatToStr(s2)+").");
else
ShowMessage("Площа другої фігури більша("+FloatToStr(s1)+"/"+FloatToStr(s2)+").");
m=0;l=0;k=0;
Form1->Shape->Enabled=true;Form1->Help->Enabled=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::AboutClick(TObject *Sender)
{
AboutBox->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::N9Click(TObject *Sender)
{
Form2->Image15->Canvas->Pen->Color=clWhite;
Form2->Image15->Canvas->Rectangle(0,0,200,200);
int j=0,a1,b1,a2,b2;
if(m==0)
{
for(int i=0;i<15;i++)
if(ListOfImage[i]==1)
j++;
if(j>1)
{ShowMessage("Виберіть дві фігури та повторно виберіть даний пункт меню.");k=0;l=0;Form1->Shape->Enabled=false;Form1->Help->Enabled=false;}
else
{ShowMessage("На площині не достатньо фігур!"); return;}
}
if(m==1)
{
if(d[k-1]==2 && d[l-1]==2)
{
if(sqrt(pow(b[k-1][0]-b[k-1][1],2))>sqrt(pow(b[l-1][0]-b[l-1][1],2)) && sqrt(pow(b[k-1][2]-b[k-1][3],2))>sqrt(pow(b[l-1][2]-b[l-1][3],2)))
ShowMessage("2 in 1");
else if(sqrt(pow(b[k-1][0]-b[k-1][1],2))<sqrt(pow(b[l-1][0]-b[l-1][1],2)) && sqrt(pow(b[k-1][2]-b[k-1][3],2))<sqrt(pow(b[l-1][2]-b[l-1][3],2)))
ShowMessage("1 in 2");
else ShowMessage("not exist");
}
switch(d[k-1])
{
case 1: DrawTriangle(a[k-1][0]*2,a[k-1][1]*2,a[k-1][2]*2,a[k-1][3]*2-50,a[k-1][4]*2-50,a[k-1][5]*2-50,Form2->Image15); break;
case 2: a1=(100-abs(b[k-1][1]-b[k-1][0]))/2; a2=100-a1; b1=(100-abs(b[k-1][3]-b[k-1][2]))/2; b2=100-b1;
DrawRectangle(a1,a2,b1-50,b2-50,Form2->Image15); break;
// DrawRectangle(b[k-1][0]*2,b[k-1][1]*2,b[k-1][2]*2-50,b[k-1][3]*2-50,Form2->Image15); break;
case 3: DrawEllipse(c[k-1][0]*2,c[k-1][1]*2,c[k-1][2]*2-50,c[k-1][3]*2-50,Form2->Image15); break;
}
switch(d[l-1])
{
case 1: DrawTriangle(a[l-1][0]*2,a[l-1][1]*2,a[l-1][2]*2,a[l-1][3]*2-50,a[l-1][4]*2-50,a[l-1][5]*2-50,Form2->Image15); break;
case 2: a1=(100-abs(b[l-1][1]-b[l-1][0]))/2; a2=100-a1; b1=(100-abs(b[l-1][3]-b[l-1][2]))/2; b2=100-b1;
DrawRectangle(a1,a2,b1-50,b2-50,Form2->Image15); break;
// DrawRectangle(b[l-1][0]*2,b[l-1][1]*2,b[l-1][2]*2-50,b[l-1][3]*2-50,Form2->Image15); break;
case 3: DrawEllipse(c[l-1][0]*2,c[l-1][1]*2,c[l-1][2]*2-50,c[l-1][3]*2-50,Form2->Image15); break;
}
Form2->Show();
m=0;l=0;k=0;
Form1->Shape->Enabled=true;Form1->Help->Enabled=true;
}
}
//---------------------------------------------------------------------------
Соседние файлы в папке Курсовая