Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2021, 17:54   #1
User522
 
Регистрация: 28.11.2020
Сообщений: 7
По умолчанию Создать класс геометрической плоской фигуры - равнобедренной трапеции

Создать класс геометрической плоской фигуры - равнобедренной трапеции, содержит
- свойства определения фигуры (например, стороны, радиус, углы и т.п.);
- конструктор для задания начальных значений свойств;
- методы вычисления периметра и площади фигуры.
В главной программе построить объект фигуры и вывести на экран:
- площадь фигуры;
- периметр фигуры
Это всё нужно сделать на си++
Помогите пожалуйста
User522 вне форума Ответить с цитированием
Старый 26.02.2021, 09:47   #2
nartov55
Пользователь
 
Регистрация: 25.04.2010
Сообщений: 21
Сообщение Решение

Код:
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

class trapeze
{
	float A = 0, B = 0, C = 0, H = 0;
public:
	trapeze(float a, float b, float c);
	float area();
	float perimeter();
};

int main()
{
	cout << "         b" << endl;
	cout << "    ___________" << endl;
	cout << "   /           \\" << endl;
	cout << "c /             \\ c" << endl;
	cout << " /               \\" << endl;
	cout << " -----------------" << endl;
	cout << "         a" << endl;

	cout << "Enter the lengths of the sides:" << endl;
	float a, b, c;
	bool err = false;
	do
	{
		if (err)
			cout << "Error! Re-enter:" << endl;
		cout << "a = ";
		cin >> a;
		cout << "b = ";
		cin >> b;
		cout << "c = ";
		cin >> c;
		err = true;
	} while (a < b || a <= 0 || b <= 0 || c <= 0);

	trapeze T(a, b, c);
	cout << "S = " << fixed << setprecision(3) << T.area() << endl;
	cout << "P = " << fixed << setprecision(3) << T.perimeter() << endl;

	cout << "Press Enter key for continue..." << endl;
	cin.get(); cin.get();
	return 0;
}

trapeze::trapeze(float a, float b, float c)
{
	A = a;
	B = b;
	C = c;
	H = sqrt((float)(C * C - pow((A - B) / 2, 2)));
}

float trapeze::area()
{
	return ((A + B) * H) / 2;
}

float trapeze::perimeter()
{
	return A + B + 2 * C;
}

Последний раз редактировалось nartov55; 26.02.2021 в 09:50.
nartov55 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение геометрической фигуры _Bac9_ Общие вопросы Delphi 1 08.06.2015 09:45
Вычислить S равнобедренной трапеции SWAT126 Фриланс 3 16.09.2009 00:50
Площадь равнобедренной трапеции Mr.Qwerty Свободное общение 6 05.09.2009 02:31
Определение геометрической фигуры kJlaCuk Паскаль, Turbo Pascal, PascalABC.NET 4 28.12.2008 19:18