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

Задача на Классы. Создать класс треугольник - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Anny2202
 Аватар для Anny2202
0 / 0 / 0
Регистрация: 16.11.2012
Сообщений: 9
10.01.2013, 21:09     Задача на Классы. Создать класс треугольник #1
Прошу пожалуйста помочь составить программу на С++ по задаче: создать класс треугольник, члены класса - длины 3-х сторон.
Предусмотреть в классе методы проверки существования треугольника,
вычисления и вывода сведений о фигуре – длины сторон, углы, периметр,
площадь.
Сама не пойму,а завтра нужно сдать( помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 21:09     Задача на Классы. Создать класс треугольник
Посмотрите здесь:

C++ Создать класс треугольник
C++ Создать абстрактный базовый класс с виртуальными методами вычисления функции y в заданной точке х
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы C++
C++ Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle
C++ Создать классы для форм (круг и треугольник)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zener
22 / 9 / 1
Регистрация: 16.10.2010
Сообщений: 115
10.01.2013, 21:21     Задача на Классы. Создать класс треугольник #2
поищи по форуму. вчера решали задачу треугольника, вычисления его периметра и площади
skiff.
6 / 6 / 2
Регистрация: 10.09.2011
Сообщений: 87
10.01.2013, 21:37     Задача на Классы. Создать класс треугольник #3
Я новичок, но я примерно так делал программу с классами и методами
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class treygolnik
{
public:
задаешь стороны;
void длины сторон();
void периметр();
void площадь();    
...        //и ещё то, что потребуется
}
 
void treygolnik::периметр()   //это метод на вычисление периметра. Погугли как находить
{
 
}
void main() //здесь вызываешь методы для вывода на экран
{
}
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
10.01.2013, 21:44     Задача на Классы. Создать класс треугольник #4
Только не реализован метод для углов, просто формулу подзабыл)
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
#include<iostream.h>
#include<conio.h>
#include<math.h>
 
 
class Triangle
{
 
public:
       Triangle(){a=b=c=p=s=0;};
       void Set();
       bool triangle();
       void P();
       void S();
       void Show();
       
private:
        int a,b,c;
        int p,s;
};
 
int main()
{
    Triangle Obj;
    
    Obj.Set();
    if(Obj.triangle()==false) {
       cout<<"Triangle does not exist!";
       system("pause>0"); 
       exit(1);
       }
    Obj.P();
    Obj.S();
    Obj.Show();
    system("pause>0"); 
    return 0;
}
 
void Triangle::Show(){
     cout<<"Storonu treygolnika:"<<endl<<"a = "<<a<<endl<<"b = "<<b<<endl<<"c = "<<c<<endl;
     cout<<"Perumetr = "<<p<<endl;
     cout<<"Plocha = "<<s;
}
void Triangle::P(){
     p=a+b+c;
     }
void Triangle::S(){
     s=sqrt(p*(p-a)*(p-b)*(p-c));
     }
bool Triangle::triangle(){
     if((a+b)<=c || (a+c)<=b || (b+c)<=a)return false;
     return true;
     }
 
void Triangle::Set(){
     cout<<"Enter a b c:\n";
     cin>>a>>b>>c;
     }
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
10.01.2013, 23:57     Задача на Классы. Создать класс треугольник #5
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#include <iostream>
#include <cmath>
 
const double pi = 3.14159265358979323846;
 
double radToDeg(double x) {
    
    return x * (180 / pi);
}
 
double sqr(double x) {
    
    return pow(x, 2);
}
 
//------------
class Triangle {
    
public:
    Triangle(double a, double b, double c);
    
    double GetA() const;
    double GetB() const;
    double GetC() const;
    
    void SetA(double a);
    void SetB(double v);
    void SetC(double c);
    
    double Area() const;
    double AngleAlpha() const;
    double AngleBeta() const;
    double AngleGamma() const;
    double Perimeter() const;    
    
    bool IsValid() const;
    
private:
    double a_;
    double b_;
    double c_;
};
 
Triangle::Triangle(double a, double b, double c) {
 
    a_ = a;
    b_ = b;
    c_ = c;
}
 
double Triangle::GetA() const {
 
    return a_;
}
 
double Triangle::GetB() const {
        
    return b_;
}
 
double Triangle::GetC() const {
        
    return c_;
}
 
void Triangle::SetA(double a) {
        
    a_ = a;
}
 
void Triangle::SetB(double b) {
        
    b_ = b;
}
 
void Triangle::SetC(double c) {
        
    c_ = c;
}
 
double Triangle::AngleAlpha() const {
        
   return radToDeg(acos((sqr(b_) + sqr(c_) - sqr(a_)) / (2 * b_ * c_)));
}
 
double Triangle::AngleBeta() const {
        
   return radToDeg(acos((sqr(a_) + sqr(c_) - sqr(b_)) / (2 * a_ * c_)));
}
 
double Triangle::AngleGamma() const {
        
   return radToDeg(acos((sqr(a_) + sqr(b_) - sqr(c_)) / (2 * a_ * b_)));
}
 
double Triangle::Area() const {
        
    const double p = Perimeter() / 2;    
    return sqrt(p * (p - a_) * (p - b_) * (p - c_));
}
 
double Triangle::Perimeter() const {
       
    return a_ + b_ + c_;
}
 
bool Triangle::IsValid() const {
        
    return (a_ < b_ + c_) && (b_ < c_ + a_) && (c_ < a_ + b_);
}
 
int main() {
    
    double a, b, c;
    
    std::cout << "a: ";
    std::cin >> a;
    
    std::cout << "b: ";
    std::cin >> b;
 
    std::cout << "c: ";
    std::cin >> c;
    
    Triangle triangle(a, b, c);
    
    if(!triangle.IsValid()) {
        
        std::cout << "error" << std::endl;        
        return 1;
    }
        
    std::cout << "--------------\n"
        "a = " << triangle.GetA() << "\n"
        "b = " << triangle.GetB() << "\n"
        "c = " << triangle.GetC() << "\n"
        "alpha angle = " << triangle.AngleAlpha() << "\n"
        "beta angle = " << triangle.AngleBeta() << "\n"
        "gamma angle = " << triangle.AngleGamma() << "\n"
        "area = " << triangle.Area() << "\n"
        "perimeter = " << triangle.Perimeter() << std::endl;
}
Yandex
Объявления
10.01.2013, 23:57     Задача на Классы. Создать класс треугольник
Ответ Создать тему
Опции темы

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