0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 5
1

Разработать программу с использованием наследования классов, реализующую классы

08.11.2015, 13:30. Показов 4719. Ответов 8

Студворк — интернет-сервис помощи студентам
Ребят помоги пожалуйста начинающему программисту.

Использовать максимально возможное количество возможных
функций (не менее 3), а также классов.
Разработать программу с использованием наследования классов,
реализующую классы:
- triangle (треугольник)
- равнобедренный треугольник
- равносторонний треугольник.
Вывести значение периметра треугольника.

Наброски я вот уже сделал но она не работает.
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
#include <stdio.h> 
#include <locale.h> 
#include <string> 
#include <conio.h> 
#include <windows.h> 
class triangle {// простой(любой треугольник) 
public: int a, b ,c, P ; //2 катета и гипотенуза треугольника, и периметр 
cin»a; 
cin»b; 
cin»c; 
 
public void trishka(){ 
if ((a + b > c) && (a + b > b) && (b + c > a)) 
cout« (" ok"); 
else cout« (" не треугольник "); 
} 
virtual void Perimetr(){ 
P=a+b+c; 
return ("Obichni") 
} 
} 
class ravnobedr:public triangle{ 
 
virtual void Perimetr(){ 
if ((a = b) && (a = c) && (b = c)) 
P=a+2*b; 
return ("Ravnobedrenii"); 
} 
} 
class ravnostor: public triangle{ 
virtual void Perimetr(){ 
if ((a = b) && (b = c)) 
P=3*a; 
return ("Ravnostoronnii"); 
} 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2015, 13:30
Ответы с готовыми решениями:

Разработать программу с использованием наследования классов, реализующую классы: точка; линия; круг
помогите написать программу: Разработать программу с использованием наследования классов,...

Разработать программу с использованием наследования классов
Разработать программу с использованием наследования классов, реализующую классы: • зверь;...

Разработать программу, реализующую абстрактный тип данных, через механизм классов
Определить класс треугольник, а также продемонстрировать использование класса. Члены класса:...

На основе указанных классов создать набор классов с использованием множественного наследования
Создать базовый класс «Транспорт» и производные от него классы «Автомобиль», «Поезд», «Самолет»....

8
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
08.11.2015, 13:40 2
1.Ну, хотя бы символ « могли бы заменить на <<

2.
Цитата Сообщение от jemizeen Посмотреть сообщение
if ((a = b) && (b = c))
a=b это присваивание
C++
1
if (a == b && b == c)
3. Как вообще строки 8-10 могли появиться в объявлении класса?

4.
Цитата Сообщение от jemizeen Посмотреть сообщение
public void trishka(){
C++
1
2
public: 
   void  trishka(){
5. Строки 21,29,36. Объявление класса заканчивается ;
C++
1
};
6.
Цитата Сообщение от jemizeen Посмотреть сообщение
return ("Obichni")
Функция void не должна ничего возвращать.
C++
1
return;// В конце функции можно не писать
1
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 5
08.11.2015, 13:57  [ТС] 3
Спасибо, извините сейчас попробую исправить

Добавлено через 6 минут
К сожалению всё равно не работает
0
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
08.11.2015, 14:11 4
Оно и не будет работать, но исправьте все, что я указал, и выложите код.
Будем обсуждать дальше.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 5
08.11.2015, 14:25  [ТС] 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
#include <stdio.h> 
#include <locale.h> 
#include <string> 
#include <conio.h> 
#include <windows.h> 
class triangle {// простой(любой треугольник) 
public: int a, b ,c, P ; //2 катета и гипотенуза треугольника, и периметр 
 
public:
    void trishka(){ 
if ((a + b > c) && (a + b > b) && (b + c > a)) 
cout<< (" ok"); 
else cout<< (" не треугольник "); 
} 
virtual void Perimetr(){ 
P=a+b+c; 
return; 
} 
} 
class ravnobedr:public triangle{ 
};
virtual void Perimetr(){ 
if ((a = b) && (a = c) && (b = c)) 
P=a+2*b; 
return; 
} 
} 
class ravnostor: public triangle{ 
    virtual void Perimetr(){ };
if (a == b && b == c) 
P=3*a; 
return ; 
} 
}
0
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
08.11.2015, 15:30 6
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> 
using namespace std;
class triangle 
{// простой(любой треугольник) 
protected:
    double a, b ,c; //стороны треугольника 
public:
    triangle(double t1,double t2,double t3):a(t1),b(t2),c(t3){}
    bool trishka()
    { 
        return a + b > c && a + b > b && b + c > a;
    } 
    virtual double Perimetr()
    { 
        return a+b+c; 
    } 
}; 
class ravnobedr:public triangle
{ 
public:
    ravnobedr(double t1,double t2):triangle(t1,t2,t2){}
    double Perimetr()
    { 
        return a+2.0*b; 
    } 
}; 
class ravnostor: public triangle
{
public:
    ravnostor(double t):triangle(t,t,t){}
    double Perimetr()
    { 
        return 3.0*a; 
    }
};
int main()
{
    triangle t(1.,1.,1.3);
    if(t.trishka())
        cout<< " ok\n"; 
    else cout<< (" Not Ok\n"); 
 
    triangle *pt;
 
    pt=&t;
    cout<<pt->Perimetr()<<endl;
 
    ravnobedr rb(1.,1.3);
    pt=&rb;
    cout<<pt->Perimetr()<<endl;
 
    ravnostor rs(1.);
    pt=&rs;
    cout<<pt->Perimetr()<<endl;
 
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 5
08.11.2015, 16:25  [ТС] 7
Сергей Сергеевич, спасибо большое, сейчас буду сидеть разбираться что и как.

Добавлено через 28 минут
Блин не могу понять, чего тут не хватает....
0
Модератор
Эксперт С++
13329 / 10631 / 6352
Регистрация: 18.12.2011
Сообщений: 28,388
08.11.2015, 16:29 8
Тут все есть.
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 5
08.11.2015, 17:02  [ТС] 9
Эхх...работает она не правильно, нужно же найти сначала тип треугольника, а потом что бы он выщитывал периметр, предпалогается что это целочисленные данные

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
#include <iostream> 
using namespace std;
class triangle // простой(любой треугольник)
{
protected:
    int a, b ,c; //стороны треугольника 
public:
    triangle(int t1,int t2,int t3):a(t1),b(t2),c(t3){}
    bool trishka()
    {  
        return a + b > c && a + b > b && b + c > a;
    } 
    virtual int Perimetr()
    { 
        return a+b+c; 
    } 
}; 
class ravnobedr:public triangle
{ 
public:
    ravnobedr(int t1,int t2,int t3):triangle(t1,t2,t3){}
    bool trishka()
    {  
        return a = b && a = c && b = c;
    } 
    virtual int Perimetr()
     
    { 
        return a+2*b; 
    } 
}; 
class ravnostor: public triangle
{
public:
    ravnostor(int t1,int t2,int t3):triangle(t1,t2,t3){}
    bool trishka()
    {  
        return a = b && b = c ;
    } 
    virtual int Perimetr()
    
    { 
        return 3*a; 
    }
};
int main()
{   
    triangle t(3.,4.,1.3);
    if(t.trishka())
        cout<< " ok\n"; 
    else cout<< (" Not Ok\n"); 
 
    triangle *pt;
 
    pt=&t;
    cout<<pt->Perimetr()<<endl;
 
    ravnobedr rb(1.,1.3);
    pt=&rb;
    cout<<pt->Perimetr()<<endl;
 
    ravnostor rs(1.);
    pt=&rs;
    cout<<pt->Perimetr()<<endl;
 
    system("pause");
    return 0;
}
Добавлено через 4 минуты
Не могу понять как тут добавить,что бы данные вводились с клавиатуры
И для чего тут вспомогательные переменные t1,t2,t3
0
08.11.2015, 17:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2015, 17:02
Помогаю со студенческими работами здесь

Дерево каталогов с использованием наследования классов
Имеется только подобие с единственным классом и не всеми реализованными функциями. Помогите...

Оцените реализацию классов с использованием наследования
Программируя, я никогда раньше не пользовался наследованием классов и всем, что к этому относится и...

Построение иерархии классов с использованием наследования
Доброго времени суток. У меня вот такая проблема. Недавно взял подкурс по С#. ПРоблема в том, что я...

Создать иерархию классов с использованием механизма наследования
Создать иерархию классов с использованием механизма наследования. В качестве базового класса должен...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru