Ось можлив хтось за 10 років подякую мені)
#include <iostream>
#include <math.h>
using namespace std;
class Point
{
public:
double x, y;
Point() // Точки на осі х
{
x = 0;
y = 0;
}
Point(double _x, double _y)
{
x = _x;
y = _y;
}
void set(double _x, double _y)
{
x = _x;
y = _y;
}
};
class Line //
{
public:
Point A, B;
Line()
{
A.set(0, 0);// обнуляю точку а і б забираємо зайве сміття
B.set(0, 0);
}
Line(Point _A, Point _B)
{
A = _A;
B = _B;
}
void set(Point _A, Point _B)
{
A = _A;
B = _B;
}
double lenght()
{
return sqrt(pow(A.x - B.x, 2) + pow(A.y - B.y, 2)); // Формула для дерикторених координат
}
};
class Quatrangle { // класс чотирикутник
public:// Оголошення загальнодоступних членів класу
Point A, B, C, D; // ологолушуєм точки
Line AB, BC, CD, AD; // відрізки
Quatrangle()
{
A.set(0, 0);
B.set(0, 0);
C.set(0, 0);
D.set(0, 0);
AB.set(A, B);
BC.set(B, C);
CD.set(C, D);
AD.set(A, D);
}
// обнуляємо
Quatrangle(Point _A, Point _B, Point _C, Point _D)
{
A = _A;
B = _B;
C = _C;
D = _D;
AB.set(A, B);
BC.set(B, C);
CD.set(C, D);
AD.set(A, D);
}
bool isQuatrangle() // bool це зімнна
{
bool flag = false;
bool tmp1 = AB.lenght() >= BC.lenght() && CD.lenght() >= AD.lenght(); // аб повинне бути більше ніж бс і ...
bool tmp2 = AB.lenght() >= CD.lenght() && BC.lenght() >= AD.lenght();
bool tmp3 = AB.lenght() <= BC.lenght() && CD.lenght() <= AD.lenght();
bool tmp4 = AB.lenght() <= CD.lenght() && BC.lenght() <= AD.lenght();
if ((tmp1 == true) || (tmp2 == true) || (tmp3 == true) || (tmp4 == true)) // перевірка чи координати визначають прямокутник
{
flag = true;
}
return flag;
}
void Perimetr() // функція у якій записана формула для обчислення периметру
{
cout << "P=" << AB.lenght() + BC.lenght() + CD.lenght() + AD.lenght() << endl;
}
void Plocha() // функція у якій записана формула для обчислення площі
{
cout << "S=" << AB.lenght() * BC.lenght() << endl;
}
void print()
{
if (isQuatrangle() == true) {
Perimetr();
Plocha();
}
else {
cout << "Error" << endl;
}
}
};
void main()
{
setlocale(0, "");
while (true)
{
int q;
cout << "1 Додати ||2 Кінець " << endl; cin >> q;
if (2 == q)
{
break;
}
else if (1 == q)
{
float t1, t2, t3, t4, t5, t6, t7, t8;
cout << " точка A x="; cin >> t1;
cout << " точкаA y="; cin >> t2;
cout << " точкаB X="; cin >> t3;
cout << " точкаB Y="; cin >> t4;
cout << " точка C X="; cin >> t5;
cout << " точкаC Y="; cin >> t6;
cout << " точка D X="; cin >> t7;
cout << " точкаD Y="; cin >> t8;
cout << endl;
Point A(t1, t2), B(t3, t4), C(t5, t6), D(t7, t8);
Quatrangle pryam(A, B, C, D);
pryam.print();
cout << endl;
}
else { continue; }
}
system("pause");
}