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

Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов - C++

Восстановить пароль Регистрация
 
dimoncheg
 Аватар для dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
19.05.2014, 11:52     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов #1
Здравствуйте. Лабораторную сдавал, практические сдал, но преподаватель дал задание, выполнение которого меня поставило в некоторый тупик. В общем я так понял по ее заданию, нужно в класс по умолчанию сделать ввод значений объектов с клавиатуры. Как это выполнить? Подскажите, буду очень благодарен!

Задание. В соответствии с вариантом составить описание класса. Класс дол-жен обязательно содержать не менее двух конструкторов – по умолчанию и с параметрами, деструктор. Объявить объекты класса и продемонстрировать работу методов.

Организовать класс треугольник, определенный по длинам трех сторонам содержащий методы нахождения периметра и площади (по формуле Герона).


main.cpp

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
#include <conio.h>
#include <iostream>
#include "tre.cpp"
#include <stdlib.h>
#include <stdio.h>
 
  using namespace std;
  
int main()
{int x,y,z;
system("cls");
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
cout<<"z=";
cin>>z;
system("cls");
 
tre v();
 
tre treug(x,y,z);
 
printf("Perimetr= %d\n",treug.per());
printf("Ploschad= %f\n",treug.s());
getch();
return 0;
}
tre.h

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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
 
 using namespace std;
 
class tre
{
 
private:
    
int a;
int b;
int c;
 
public:
    
tre() {};    
    
tre(int,int,int);
    
    
~tre(){printf("\nObject deleted!");getch();};
 
int per();
float s();
 
};
tre.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
#include"tre.h"
#include<math.h>
 
  using namespace std;
 
tre::tre(int x,int y,int z)
{a=x;b=y;c=z;
if(!((a+b>c)&&(a+c>b)&&(b+c>a))) {printf("ERROR!!!"); getch(); exit(1);}
}
 
int tre::per()
{return (a+b+c);
}
 float tre::s()
{float p;
p=(a+b+c)/2;
return (sqrt(p*(p-a)*(p-b)*(p-c)));}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2014, 11:52     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов
Посмотрите здесь:

C++ Организовать ввод трех чисел, первое из которых является наибольшим общим делителем двух последних
C++ создать класс треугольник, члены класса - длины 3-х сторон
Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть вычисления и вывод данных о фигуре, проверку существования треугольника. C++
Определить вид треугольника по длинам его сторон C++
Организовать класс треугольник определенный по 3-ем сторонам содержащий методы нахождения периметра и площади(По формуле герона) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
19.05.2014, 12:18     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов #2
dimoncheg, Сеттеры и геттеры в классах С++!
dimoncheg
 Аватар для dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
19.05.2014, 14:00  [ТС]     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов #3
SatanaXIII, Помогите пожалуйста. Я прочитал тот абзац, вроде понял суть, но программа не работает!

main.cpp

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
#include <conio.h>
#include <iostream>
#include "tre.cpp"
#include <stdlib.h>
#include <stdio.h>
 
  using namespace std;
  
int main()
{int x,y,z;
system("cls");
cout<<"x=";
cin>>x;
cout<<"y=";
cin>>y;
cout<<"z=";
cin>>z;
system("cls");
 
 
tre treug();
 
printf("Perimetr= %d\n",treug.get_per());
printf("Ploschad= %f\n",treug.get_s());
 
treug.set_per();
treug.get_s();
 
printf("Perimetr= %d\n",treug.get_per());
printf("Ploschad= %f\n",treug.get_s());
 
getch();
return 0;
 
}
tre.h

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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
 
 using namespace std;
 
class tre
{
 
public:
    
tre(int,int,int):
 
a(A)
b(B)
c(C)
{
}
 
void set_tre(int tre)
{
    a=A;
    b=B;
    c=C;
}   
 
int get_tre() const
 
{
    return;
}
    
~tre(){printf("\nObject deleted!");getch();};
 
int per();
float s();
 
private:
    
int a;
int b;
int c;
 
};
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5437 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
19.05.2014, 15:34     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от dimoncheg Посмотреть сообщение
Я прочитал тот абзац, вроде понял суть, но программа не работает!
Тогда безусловно я просто обязан помочь:
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
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>
#include <math>
 
using namespace std;
 
class tre
{
private:
        int a, b, c;
public:
        tre( int A, int B, int C ):
                a(A),
                b(B),
                c(C)
                {}
 
 
        void set_tre( int A, int B, int C )
                {
                a = A;
                b = B;
                c = C;
                }
 
        tre get_tre() const
                {
                return tre( this->a, this->b, this->c );
                }
 
        ~tre()
                {
                printf( "\nObject deleted!" );
                getch();
                }
 
        int get_per()
                {
                return this->a + this->b + this->c;
                }
 
        float get_square()
                {
                int p2 = get_per()/2;
                return sqrt( p2*(p2-a)*(p2-b)*(p2-c) );
                }
 
};
int main(int argc, char* argv[])
{
int x, y, z;
system( "cls" );
cout << "x=";
cin >> x;
cout << "y=";
cin >> y;
cout << "z=";
cin >> z;
system( "cls" );
 
tre treug( x, y ,z );
 
printf( "Perimetr= %d\n", treug.get_per() );
printf( "Ploschad= %f\n", treug.get_square() );
 
getch();
return 0;
}
//---------------------------------------------------------------------------
Голубая каемочка прилагается.
dimoncheg
 Аватар для dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
19.05.2014, 15:45  [ТС]     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов #5
SatanaXIII, большое спасибо, очень выручили! Буду разбираться сейчас
Yandex
Объявления
19.05.2014, 15:45     Организовать класс треугольник, определенный по длинам трех сторон. Сделать ввод значений объектов
Ответ Создать тему
Опции темы

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