Форум программистов, компьютерный форум CyberForum.ru

Создать класс треугольник - C++

Восстановить пароль Регистрация
 
strikeX100
0 / 0 / 0
Регистрация: 26.05.2014
Сообщений: 4
26.05.2014, 15:58     Создать класс треугольник #1
Помогите пожалуйста решить задачу :
Создать класс треугольник, члены класса- длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и вывода сведений о фигуре - длины сторон, углы, периметр, площадь. Создать производный класс - равнобедренный треугольник, предусмотреть в классе проверку, является ли треугольник равнобедренным. Написать программу, демонстрирующую работу с классом: дано N треугольников и M равнобедренных треугольников, найти минимальную площадь для N треугольников и равнобедренный треугольник с наибольшим углом при основании.
Моя попытка:
Кликните здесь для просмотра всего текста
#include<iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
class vline //виртуальная линия
{
public:
virtual float get_length();
};
class rlineublic vline //реальная линия
{
public:
void set_length(float x);
float get_length();
private:
float length;
};
class triangle //треугольник
{
public:
int real();
float square();
float perimetr();
float angleBAC();
float angleABC();
float angleACB();
void set_AB(vline*x);
void set_BC(vline*x);
void set_AC(vline*x);
private:
vline *AB, *BC, *AC;
};
class isoscelestriangle ublic triangle //равнобедренный треугольник
{
public:
int isosceles();
};
void rline::set_length(float x)
{
length = x;
}
float rline::get_length()
{
return length;
}
void triangle::set_AB(vline*x)
{
AB = x;
}
void triangle::set_BC(vline*x)
{
BC = x;
}
void triangle::set_AC(vline*x)
{
AC = x;
}
float triangle:erimetr()
{
return AB->get_length() + BC->get_length() + AC->get_length();
}
float triangle::square()
{
float a, b, c, p;
a = AB->get_length();
b = BC->get_length();
c = AC->get_length();
p = (a + b + c) / 2;
return sqrt(p*(p - a)*(p - b)*(p - c));
}
float triangle::angleABC()
{
float a, b, c;
a = AB->get_length();
b = BC->get_length();
c = AC->get_length();
return acos((a*a + c*c - b*b) / 2 * a*c);
}
float triangle::angleBAC()
{
float a, b, c;
a = AB->get_length();
b = BC->get_length();
c = AC->get_length();
return acos((b*b + c*c - a*a) / 2 * b*c);
}
float triangle::angleACB()
{
float a, b, c;
a = AB->get_length();
b = BC->get_length();
c = AC->get_length();
return acos((a*a + b*b - c*c) / 2 * a*b);
}
int triangle::real() // проверка существования треугольника
{
float a, b, c;
a = AB->get_length();
b = BC->get_length();
c = AC->get_length();
if ((a + b > c) & (a + c > b) & (b + c > a))
return 1;
else
return 0;
}
int isoscelestriangle::isosceles()
{
float a, b, c;
a = AB->get_length();
b = BC->get_length();
c = AC->get_length();
if ((a == b)&(b == c)&(a == c))
return 1;
else
return 0;
}
void main()
{
isoscelestriangle *i;
triangle *t;
rline *a, *b, *c;
i = new isoscelestriangle();
t = new triangle();
a = new rline();
b = new rline();
c = new rline();
t->set_AB(a);
t->set_BC(b);
t->set_AC(c);
cout << i->real();
cout << i->isosceles();
cout << t->real();
cout << t->square();
cout << t->perimetr();
cout << t->angleABC();
cout << t->angleACB();
cout << t->angleBAC();
}

Зарание спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2014, 15:58     Создать класс треугольник
Посмотрите здесь:

C++ Создать класс треугольник
Помогите пожалуйста создать класс треугольник C++
C++ создать класс треугольник, члены класса - длины 3-х сторон
C++ Задача на Классы. Создать класс треугольник
Создать класс, реализующий произвольный треугольник C++
Создать абстрактный класс фигур и сделать 2 наследника (треугольник, прямоугольник) C++
Создать класс,описывающий треугольник C++
Создать класс треугольник C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 16:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru