Добавил:
Yanus
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:lab - moroz / oopLab1 / oopLab1
.cpp#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<conio.h>
class Rectangle{
int x[4],y[4];
public:
void Input();
void ProvKoor();
void ProvNaPram();
void VichParam();
};
void Rectangle::Input()
{
for (int(i)=0;i<4;i++)
{
printf("Vvedite koordinaty x%d %d-oy tochki:",(i+1),(i+1));
scanf("%d",&x[i]);
printf("Vvedite koordinaty y%d %d-oy tochki:",(i+1),(i+1));
scanf("%d",&y[i]);
}
}
void Rectangle::ProvKoor()
{
for (int(i)=0;i<3;i++)
{
if (((x[i]<0) || (x[i]>20)) || ((y[i]<0) || (y[i]>20))) printf("Vi vveli nepravelnie koordinati!");
}
}
void Rectangle::ProvNaPram()
{
double d1,d2;
d1=sqrt(double((x[2]-x[0])*(x[2]-x[0])+(y[2]-y[0])*(y[2]-y[0])));
d2=sqrt(double((x[3]-x[1])*(x[3]-x[1])+(y[3]-y[1])*(y[3]-y[1])));
if (d1==d2) printf("Vi vveli koordinati pramougolnika!");
else printf("Eto ne pramougolnik!!!");
}
void Rectangle::VichParam()
{
double length,width,perimetr,area;
length=sqrt(double((x[1]-x[0])*(x[1]-x[0])+(y[1]-y[0])*(y[1]-y[0])));
width=sqrt(double((x[2]-x[1])*(x[2]-x[1])+(y[2]-y[1])*(y[2]-y[1])));
perimetr=2*(length+width);
area=length*width;
printf("\nDlina=%f\nShirina=%f\nPerimetr=%f\nPloshad=%f\n",length,width,perimetr,area);
scanf("%d",&x[1]);
}
int main()
{
Rectangle pram;
pram.Input();
pram.ProvKoor();
pram.ProvNaPram();
pram.VichParam();
getchar();
}