Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 07.06.2021
Сообщений: 1
1

Класс четырёхугольник и производный класс параллелограмм

13.10.2021, 18:08. Показов 691. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс четырехугольник, члены класса – координаты 4-х точек.
Предусмотреть в классе методы проверки существования четырехугольника
вычисления и вывода сведений о фигуре – длины сторон, диагоналей,
периметр, площадь. Создать производный класс – параллелограмм,
предусмотреть в классе проверку, является ли фигура параллелограммом.
Написать программу, демонстрирующую работу с классом: дано N
четырехугольников и M параллелограммов, найти среднюю площадь N
четырехугольников и параллелограммы наименьшей и наибольшей
площади.

То что нужно доделать я подчеркнул! Остальное всё сделано. Спасибо!

Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
#include <math.h> 
#include <cmath>
using namespace std;
class quadrangle //класс четырёхугольник
{
public:
    float x1, y1, x2, y2, x3, y3, x4, y4;
    float dlinna(float Xa, float Ya, float Xb, float Yb);
    quadrangle();
    quadrangle(float x11, float y11, float x21, float y21, float x31, float y31, float x41, float y41);
//  ~quadrangle();
    void show();
    float P();
    float S();
    bool prov(float A, float B, float C, float D);
};
class parallelogram : public quadrangle //произвольный класс параллелограмм
{
 
};
quadrangle::quadrangle()
{
    x1 = y1 = x2 = y2 = x3 = y3 = x4 = y4 = 0;
}
quadrangle::quadrangle(float x11, float y11, float x21, float y21, float x31, float y31, float x41, float y41)
{
    x1 = x11;
    y1 = y11;
    x2 = x21;
    y2 = y21;
    x3 = x31;
    y3 = y31;
    x4 = x41;
    y4 = y41;
}
float quadrangle::dlinna(float Xa, float Ya, float Xb, float Yb) //длинна
{
    return sqrt(pow(Xb - Xa, 2) + pow(Ya - Yb, 2));
}
float quadrangle::P()
{
    float A, B, C, D;
    A = dlinna(x1, y1, x2, y2);//длинна стороны A
    B = dlinna(x2, y2, x3, y3);//длинна стороны B
    C = dlinna(x3, y3, x4, y4);//длинна стороны C
    D = dlinna(x4, y4, x1, y1);//длинна стороны D
    return A + B + C + D; //периметр
};
float quadrangle::S()
{
    float A, B, C, D;
    A = dlinna(x1, y1, x2, y2);//длинна стороны A
    B = dlinna(x2, y2, x3, y3);//длинна стороны B
    C = dlinna(x3, y3, x4, y4);//длинна стороны C
    D = dlinna(x4, y4, x1, y1);//длинна стороны D
    return ((B + D) / 2) * ((A + C) / 2); //площадь
}
 
void quadrangle::show() //вывод длинн сторон, длинн диагоналей, площади и периметра 
{
    float A, B, C, D, AA, BB;
    A = dlinna(x1, y1, x2, y2);//длинна стороны A
    B = dlinna(x2, y2, x3, y3);//длинна стороны B
    C = dlinna(x3, y3, x4, y4);//длинна стороны C
    D = dlinna(x4, y4, x1, y1);//длинна стороны D
    AA = dlinna(x1, y1, x3, y3);//длинна диагонали A
    BB = dlinna(x2, y2, x4, y4);//длинна диагонали B
    if (prov(A, B, C, D) == true)
    {
        cout<<"_____Класс четырёхугольник_____"<<endl;
        cout << "Длинна стороны A: " << A << endl;
        cout << "Длинна стороны B: " << B << endl;
        cout << "Длинна стороны C: " << C << endl;
        cout << "Длинна стороны D: " << D << endl;
        cout << "Длинна диагонали А: " << AA << endl;
        cout << "Длинна диагонали B: " << BB << endl;
        cout << "Периметр: " << P() << endl;
        cout << "Площадь: " << S() << endl;
    }
    else
        cout << "Не является четырёхугольником" << endl;
}
bool quadrangle:: prov(float A, float B, float C, float D)
{
    A = dlinna(x1, y1, x2, y2);//длинна стороны A
    B = dlinna(x2, y2, x3, y3);//длинна стороны B
    C = dlinna(x3, y3, x4, y4);//длинна стороны C
    D = dlinna(x4, y4, x1, y1);//длинна стороны D
    if (abs(A - B) == abs(C - D) && abs(A - C) == abs(B - D))
    {
        return true;
    }
    else
    {
        return false;
    }
}
int main()
{
    setlocale(LC_ALL, "rus");
    quadrangle a(1, 1, 1, 3, 3, 3, 3, 1);//a(1,1,1,3,3,3,3,1) - четырёхугольник. a(4,1,5,1,6,1,7,1) - не четырёхугольник
    a.show();
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2021, 18:08
Ответы с готовыми решениями:

Разработать производный от абстрактного класса Figure класс и класс, производный от производного
Разработать базовый абстрактный класс Figure с пустым виртуальным методом print для вывода в...

Класс Quadrangle (четырехугольник). Класс хранит Декартовы координаты четырех углов четырехугольника
Класс Quadrangle (четырехугольник). Класс хранит Декартовы координаты четырех углов...

Базовый класс Complex и производный класс для реализации квадратных матриц
1) Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в...

Создать класс Point и производный класс ColoredPoint (цветная точка)
Создайте класс Point (точка на плоскости), характеризующийся двумя координатами. Создайте...

0
13.10.2021, 18:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2021, 18:08
Помогаю со студенческими работами здесь

Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты
Разработать класс Tableware (посуда) и производный класс Dish (тарелка). Описать атрибуты.

Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.
Разработать класс Man (человек) и производный класс Student (студент). Описать атрибуты.

Реализовать класс Pair (пара чисел); определить производный класс Complex (комплексное число)
Здравствуйте. Задали задание: Создать класс Pair (пара чисел); определить метод перемножения...

Создать базовый класс - Array и производный класс - Money для работы денежной суммы
ПОМОГИТЕ, ПОЖАЛУЙСТА, С ЗАДАЧЕЙ Создать базовый класс - Array и производный класс - Money для...

Создать базовый класс Car (машина) и производный класс Lorry (грузовик): ООП ошибки
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка), числом цилиндров,...

Наследование: базовый класс Квадрат, производный класс Пирамида
Помогите, пожалуйста!:cry: Добавлено через 6 минут Создать класс КВАДРАТ, член класса- длинна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru