
Создайте класс, содержащий 3 закрытые переменные (3 стороны треугольника) и открытые функции (для
присвоения значений закрытым переменным, для получения значения закрытых переменных и получения значения площади треугольника по формуле Герона). Пользователь вводит значения с клавиатуры, они передаются в закрытые переменные и используются в функции площади. #include using namespace std;class myclass {// закрытая часть myclassint a;public:void set_a(int num);int get_a ( ) ;};void myclass :: set_a(int num){ a=num; }int myclass :: get_a(){ return a; }int main (){ int x;myclass ob;cout<<"Введите значение ->";cin>>x;ob.set_a(x) ;cout <<"Вы ввели "<< ob.get_a() << "\n";system("pause");return 0; } Срочно!!!!

Ответы на вопрос

#include <iostream>
#include <algorithm>
// Более правильная версия
class Triangle {
private:
size_t a;
size_t b;
size_t c;
auto validate_sides()->bool;
public:
Triangle(size_t a, size_t b, size_t c);
auto set_a(size_t num)->void;
auto set_b(size_t num)->void;
auto set_c(size_t num)->void;
auto get_a()->size_t;
auto get_b()->size_t;
auto get_c()->size_t;
auto get_square_using_heron()->double;
};
bool Triangle::validate_sides()
{
size_t max_side = std::max(a, std::max(b, c));
auto sides_sum = this->a + this->b + this->c;
if (max_side < sides_sum - max_side)
return true;
return false;
}
Triangle::Triangle(size_t a, size_t b, size_t c)
{
this->a = a;
this->b = b;
this->c = c;
}
auto Triangle::set_a(size_t num)->void
{
a = num;
}
auto Triangle::set_b(size_t num)->void
{
b = num;
}
auto Triangle::set_c(size_t num)->void
{
c = num;
}
auto Triangle::get_a()->size_t
{
return a;
}
auto Triangle::get_b()->size_t
{
return b;
}
auto Triangle::get_c()->size_t
{
return c;
}
auto Triangle::get_square_using_heron()->double
{
if (!validate_sides())
throw std::exception("Неправильные стороны, треугольник с такими сторонами не существует");
auto p = (this->a + this->b + this->c) / 2;
return sqrt(p * (p - this->a) * (p - this->b) * (p - this->c));
}
// Более простая версия
class Triangle2 {
private:
size_t a;
size_t b;
size_t c;
public:
Triangle2(size_t a, size_t b, size_t c);
void set_a(size_t num);
void set_b(size_t num);
void set_c(size_t num);
int get_a();
int get_b();
int get_c();
double get_square_using_heron();
};
Triangle2::Triangle2(size_t a, size_t b, size_t c)
{
this->a = a;
this->b = b;
this->c = c;
}
auto Triangle2::set_a(size_t num)->void
{
a = num;
}
auto Triangle2::set_b(size_t num)->void
{
b = num;
}
auto Triangle2::set_c(size_t num)->void
{
c = num;
}
int Triangle2::get_a()
{
return a;
}
int Triangle2::get_b()
{
return b;
}
int Triangle2::get_c()
{
return c;
}
double Triangle2::get_square_using_heron()
{
auto p = (this->a + this->b + this->c) / 2;
return sqrt(p * (p - this->a) * (p - this->b) * (p - this->c));
}
int main()
{
size_t a, b, c;
std::cin >> a >> b >> c;
Triangle2 mc(a, b, c);
std::cout << mc.get_square_using_heron() << std::endl;
system("pause");
return 0;
}



Конечно, вот ваш код с добавлением функциональности для работы с треугольником и вычисления его площади по формуле Герона:
cpp#include <iostream>
#include <cmath>
using namespace std;
class Triangle {
private:
double side1;
double side2;
double side3;
public:
void setSides(double s1, double s2, double s3) {
side1 = s1;
side2 = s2;
side3 = s3;
}
double getSide1() {
return side1;
}
double getSide2() {
return side2;
}
double getSide3() {
return side3;
}
double calculateArea() {
double s = (side1 + side2 + side3) / 2.0;
return sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
};
int main() {
double side1, side2, side3;
cout << "Введите значения трех сторон треугольника:" << endl;
cin >> side1 >> side2 >> side3;
Triangle triangle;
triangle.setSides(side1, side2, side3);
cout << "Стороны треугольника: " << triangle.getSide1() << ", " << triangle.getSide2() << ", " << triangle.getSide3() << endl;
cout << "Площадь треугольника: " << triangle.calculateArea() << endl;
system("pause");
return 0;
}
Просто скопируйте этот код в среду разработки C++ и запустите его. Он позволит вам ввести значения трех сторон треугольника, а затем выведет эти значения и вычислит площадь треугольника с использованием формулы Герона.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili