С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 05.03.2021
Сообщений: 7

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

16.06.2021, 14:35. Показов 2071. Ответов 1

Студворк — интернет-сервис помощи студентам
Дайте определение класса, что изображает четырёхугольник. Элементы данных должны содержать координаты точек четырёхугольника. Функции-члены должны выполнять такие действия:
- создание объекта и его инициализация
- присвоение начальных значений элементам данных
- отображение четырёхугольника на экране с помощью заданного символа
- вычисление длинны и ширины прямоугольника
- вычисление периметра и площади четырёхугольника

Началась практика, и было получено такое задание исходя из моего варианта, я тут набросал код, но он не совсем таков как требуют от меня в задании, Господа, помогите, очень нужно

Мой код, работаю в MS VS 2019 Community:
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <iomanip>
#include <math.h>

using namespace std;

class Quadrangle
{
public:
float x[4] = {}, y[4] = {};
float A, B, C, D;
float P,S;
void Print()
{
cout << "\nA=" << A << ' ' << "\tB=" << B << ' ' << "\tC=" << C << ' ' << "\tD=" << D << endl;
cout << "P =" << P << endl;
cout << "S =" << S << endl;
}

};

int main ()
{
Quadrangle Quadrilateral;
//Initializing of massive, cycle
int i;
for (i = 0; i < 4; i++)
{
cout << "Int x= "; cin >> Quadrilateral.x[i];
cout << "Int y= "; cin >> Quadrilateral.y[i];
}
//Points of Quadrilateral
float A = sqrt(pow((Quadrilateral.x[0] - Quadrilateral.x[1]), 2) + pow((Quadrilateral.y[0] - Quadrilateral.y[1]), 2));
float B = sqrt(pow((Quadrilateral.x[1] - Quadrilateral.x[2]), 2) + pow((Quadrilateral.y[1] - Quadrilateral.y[2]), 2));
float C = sqrt(pow((Quadrilateral.x[2] - Quadrilateral.x[3]), 2) + pow((Quadrilateral.y[2] - Quadrilateral.y[3]), 2));
float D = sqrt(pow((Quadrilateral.x[3] - Quadrilateral.x[0]), 2) + pow((Quadrilateral.y[3] - Quadrilateral.y[0]), 2));
//Perimeter of Quadrilateral
float P = A + B + C + D;
//Square of Quadrilateral
float p = P / 2;
float S = sqrt(p * (p - A) * (p - B) * (p - C) * (p - D));
//Print
Quadrilateral.Print();
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.06.2021, 14:35
Ответы с готовыми решениями:

Задача на определение четырёхугольника по его сторонам
Задача: Идентифицировать четырехугольник по четырем сторонам (квадрат или ромб, прямоугольник, трапеция или обыкновенный четырехугольник). ...

Сравнение ключа массива с переменной и его выведение его значения на экран
Требуется код, в котором будут сравниться ключи массива с некой переменной, и если ключ будет существовать в массиве, то вывести в окно...

Определение периметра четырехугольника, заданного координатами его вершин
Выбрав способ изображения точки на плоскости в виде записи с двумя полями x, y типа float, напишите программу, определяющую периметр...

1
0 / 0 / 0
Регистрация: 05.03.2021
Сообщений: 7
20.06.2021, 12:41  [ТС]
Доработал до этого момента, больше не смог реализовать
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <iomanip>
#include <math.h>

using namespace std;

class Quadrangle
{
public:
//Initialization of array
double x[4] = {}, y[4] = {};
//Initialization of variables
double A, B, C, D;
double P,S,p;
//Func Print
void Print()
{
cout << "\nA=" << A << ' ' << "\tB=" << B << ' ' << "\tC=" << C << ' ' << "\tD=" << D << endl;
cout << "P =" << P << endl;
cout << "S =" << S << endl;
}
//Func Calculating
void Сalculate()
{
//Points of Quadrilateral
A = sqrt(pow((x[0] - x[1]), 2) + pow((y[0] - y[1]), 2));
B = sqrt(pow((x[1] - x[2]), 2) + pow((y[1] - y[2]), 2));
C = sqrt(pow((x[2] - x[3]), 2) + pow((y[2] - y[3]), 2));
D = sqrt(pow((x[3] - x[0]), 2) + pow((y[3] - y[0]), 2));
//Perimeter of Quadrilateral
P = A + B + C + D;
//Square of Quadrilateral
p = P / 2;
S = sqrt(p * (p - A) * (p - B) * (p - C) * (p - D));
}

};

int main ()
{
Quadrangle Quadrilateral;
//Filling the array, cycle
int i;
for (i = 0; i < 4; i++)
{
cout << "Int x= "; cin >> Quadrilateral.x[i];
cout << "Int y= "; cin >> Quadrilateral.y[i];
}
Quadrilateral.Сalculate();
Quadrilateral.Print();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.06.2021, 12:41
Помогаю со студенческими работами здесь

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

Выведение на экран символа по его коду
Нужно написать программу, которая будет находить сумму цифр вводимого пользователем числа, и, исходя из полученного числа выводить символ,...

Сравнение массива и его выведение на экран
Надо чтобы сравнивались ключи массива, и если ключ существует, то вывести его значение, а если нет, то перекинуть на другое окно. Из этого...

Как struct Queue и его операции превратить в классы, то есть нужно сделать тоже самое, но через классы
Как struct Queue и его операции превратить в классы, то есть нужно сделать тоже самое, но используя соотвественно классы И как...

Ввести стороны четырехугольника и его диагональ. Найти площадь четырехугольника, используя в качестве процедуры вычисление площади треугольника по тре
Ввести стороны четырехугольника и его диагональ. Найти площадь четырехугольника, используя в качестве процедуры вычисление площади...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru