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

Подскажите, как исправить прогу на классы - C++

Восстановить пароль Регистрация
 
Sheewa
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 20
10.12.2013, 03:01     Подскажите, как исправить прогу на классы #1
В общем, вот задание: Объявить объекты класса и продемонстрировать работу методов. Организовать класс ромб, содержащий методы нахождения его площади, периметра, длин диагоналей. Класс должен обязательно содержать не менее двух конструкторов – по умолчанию и с параметрами, деструктор.

Вот код:

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
#include <math.h>
#include <iostream>
 
using namespace std;
class Romb
{
      private:  int a,
                    angl;
      public: 
                 Romb()
              {
                    cout << "\n-----------------------------------";
                    }
              
              
    Romb(int a_dlina, int angle):a(a_dlina), angl(angle){
             cout << "\n-----------------a=" << a_dlina << "\n-----------------angl=" << angle;}
    
    
    void getDiagonal()
    {    Romb(a, angl);
         double d1, d2, PI = 3.14 ;
         int half=angl/2;
         cout <<"\nsinus=   " << sin(half* PI / 180) << "\ncosinus=   " << cos(half* PI / 180);
         d1=2*a*cos(half* PI / 180);
         d2=2*a*sin(half* PI / 180);
         cout << "\nYour diagonals are " << d1 << " and " << d2;
         double s=0.5*d1*d2;
         cout << "\nS= " << s;
         }
    
    
    void getPerimetr()
    { 
      int P=4*a;
      cout << "\nPerimetr= " << P << "\n";
    }
    
};
 
 
 
int main(int argc, char* argv[])
{   int a, angl1, angl2, angl;
    cout << "a=";
    cin >> a;
    cout << "angl=";
    cin >> angl1;
    angl2=180-angl1;
    cout << "another angle=" << angl2;
    if (angl1<90)
        {angl=angl1;}
    else{angl=angl2;}
    cout << "\nalfa=" << angl;
    
    
    Romb objParts;            
    objParts.getDiagonal();   
    objParts.getPerimetr();
    system("pause");
}
В строчках с большим количеством черточек я просто пытался вывести длину стороны ромба и угол и обнаружил что они не соответствуют тому что было в функции main. Подскажите как можно исправить.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 03:01     Подскажите, как исправить прогу на классы
Посмотрите здесь:

подскажите как исправить ошибку C++
Подскажите как исправить ошибку C++
ошибка подскажите как исправить!! C++
C++ Подскажите как прогу допилить. Выборка цитат из текста.
C++ Подскажите ,как отладить прогу
Подскажите как исправить функцию C++
Подскажите как исправить ошибку C++
C++ Подскажите как доделать прогу

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
riki34
2 / 2 / 0
Регистрация: 10.11.2013
Сообщений: 24
10.12.2013, 04:54     Подскажите, как исправить прогу на классы #2
Типа этого?
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
#include <cmath>
#include <iostream>
 
using namespace std;
 
class Romb
{
private:  
    int a, angl;
public:
    Romb() : a(1), angl(0) { }
    Romb(int a_dlina, int angle) : a(a_dlina), angl(angle){ }
    
    void getDiagonal()
    {
        double d1, d2, PI = 3.141592;
        int half = angl / 2;
        cout << "\nsinus = " << sin(half * PI / 180) << "\ncosinus = " << cos(half * PI / 180) << endl;
        d1 = 2 * a * cos(half * PI / 180);
        d2 = 2 * a * sin(half * PI / 180);
        cout << "Your diagonals are " << d1 << " and " << d2 << endl;
        double s = 0.5 * d1 * d2;
        cout << "S = " << s;
    }
 
    void getPerimetr()
    {
        int P = 4 * a;
        cout << "\nPerimetr = " << P << endl;
    }
 
};
 
int main(int argc, char* argv[])
{
    int a, angl1, angl2, angl;
    cout << "a = ";
    cin >> a;
    cout << "angl = ";
    cin >> angl1;
    angl2 = 180 - angl1;
    cout << "another angle = " << angl2 << endl;
    if (angl1<90)
    {
        angl = angl1;
    }
    else { angl = angl2; }
    cout << "alfa = " << angl << endl;
    Romb objParts(a, angl);
    objParts.getDiagonal();
    objParts.getPerimetr();
    system("pause");
}
Yandex
Объявления
10.12.2013, 04:54     Подскажите, как исправить прогу на классы
Ответ Создать тему
Опции темы

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