Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 5
1

Класс Квадратных уравнений

18.01.2018, 16:27. Показов 4621. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста. Я описал класс для хранения коэффициентов квадратных уравнений.
Нужно закрыть доступ к коэффициентам уравнения, сделать их private.
поправьте пожалуйста код.

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
#include <iostream>
#include <cmath>
using namespace std;
class sq{
    public: 
        double a,b,c,x1,x2; 
 
double discr()
    {   double D;   
        D = (b*b - 4*a*c);
        if (D >=0)                  
        {   x1 = ( -1*b + sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "===============================\n" ;
                cout << "Первый корень равен " << x1 << endl;
            x2 = ( -1*b - sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "Второй корень равен " << x2 << endl;
                cout << "===============================\n" ;
        }
        else { cout << "Дискриминант меньше 0, корни невещественные." << endl;}
        return D;
    }
            
};
 
 main()
{
setlocale(LC_ALL, "Russian");
    sq q;
    
double a,b,c;
int i;  
for (i=0;i<5;i++)
    {
        cout << " ax^2 + bx + c \n";
        cout << "Введите значение a: ";
        cin >> q.a;
        cout << "Введите значение b: ";
        cin >> q.b;
        cout << "Введите значение c: ";
        cin >> q.c;
        q.discr();
        cout<<" повтор (1/0)- ? \n";
        cin>>i;
    
        if(i==1);
        else {break;}
    }
return 0;   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2018, 16:27
Ответы с готовыми решениями:

Класс квадратных уравнений
Всем привет. Написал класс квадратных уравнений и программу, которая его использует (решает их)....

Среди N квадратных уравнений с заданными коэффициентами подсчитать количество уравнений
Среди N квадратных уравнений с заданными коэффициентами подсчитать количество уравнений, имеющих...

Базовый класс Complex и производный класс для реализации квадратных матриц
1) Создайте базовый класс Complex (комплексное число) для реализации комплексных чисел в...

Решение квадратных уравнений
Нужно написать программу решения набора квадратных уравнений (ax2 + bx + c=0). Помогите.

8
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
18.01.2018, 17:17 2
yuri3, уберите поля в private, перегрузите дружественно оператор ввода или напишите метод - сеттер
0
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 5
18.01.2018, 19:25  [ТС] 3
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
#include <iostream>
#include <cmath>
using namespace std;
class sq{
    public: 
        double a,b,c,x1,x2; 
 
double discr()
    {   double D;   
        D = (b*b - 4*a*c);
        if (D >=0)                  
        {   x1 = ( -1*b + sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "===============================\n" ;
                cout << "Первый корень равен " << x1 << endl;
            x2 = ( -1*b - sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "Второй корень равен " << x2 << endl;
                cout << "===============================\n" ;
        }
        else { cout << "Дискриминант меньше 0, корни невещественные." << endl;}
        return D;
    }
            
};
 
 main()
{
setlocale(LC_ALL, "Russian");
    sq q;
    
double a,b,c;
int i;  
for (i=0;i<5;i++)
    {
        cout << " ax^2 + bx + c \n";
        cout << "Введите значение a: ";
        cin >> q.a;
        cout << "Введите значение b: ";
        cin >> q.b;
        cout << "Введите значение c: ";
        cin >> q.c;
        q.discr();
        cout<<" повтор (1/0)- ? \n";
        cin>>i;
    
        if(i==1);
        else {break;}
    }
return 0;   
}
Так? А как перегрузить дружественно оператор ввода?
0
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
18.01.2018, 20:17 4
yuri3, поля вашего класса все ещё публичны, публичными должны быть только методы
0
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 5
18.01.2018, 21:22  [ТС] 5
Прошу прощения, невнимательно скопировал.
Я плохо понимаю С++.
А как перегрузить дружественно оператор ввода?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <cmath>
using namespace std;
class sq{ 
        double a,b,c,x1,x2; 
 public:
double discr()
    {   double D;   
        D = (b*b - 4*a*c);
        if (D >=0)                  
        {   x1 = ( -1*b + sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "===============================\n" ;
                cout << "Первый корень равен " << x1 << endl;
            x2 = ( -1*b - sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "Второй корень равен " << x2 << endl;
                cout << "===============================\n" ;
        }
        else { cout << "Дискриминант меньше 0, корни невещественные." << endl;}
        return D;
    }
            
};
0
_stanislav
18.01.2018, 21:37
  #6

Не по теме:

троль

0
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
18.01.2018, 22:02 7
yuri3, https://m.habrahabr.ru/post/308890/
0
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 5
21.01.2018, 22:00  [ТС] 8
Спасибо. Я
воспользовался set get, позже выложу код.
0
0 / 0 / 0
Регистрация: 18.01.2018
Сообщений: 5
24.01.2018, 09:15  [ТС] 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
#include <iostream>
#include <cmath>
using namespace std;
class sq
{
private:    
        double a,b,c,x1,x2,d;
public: 
    
    void setA(double valueA){a = valueA;}
    double getA(){return a;}
    
    void setB(double valueB){b = valueB;}
    double getB(){return b;}
    
    void setC(double valueC){c = valueC;}
    double getC(){return c;}
    
 
    double getX1(){return x1;}
    double getX2(){return x2;}
    double getD(){return d;}
 
void print(){ 
              cout << "=======================\n" ;
              cout << "Введите значение a: ";cin >> a; 
              cout << "Введите значение b: ";cin>> b; 
              cout << "Введите значение c: ";cin>> c; 
                        
        d = (b*b - 4*a*c);
            if (d >=0)                  
        {   x1 = ( -1*b + sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "=======================\n" ;
                cout << "Первый корень X1= " << x1 << endl;
            x2 = ( -1*b - sqrt(b*b - 4*a*c) ) / (2 * a);
                cout << "Второй корень X2= " << x2 << endl;
        }
        else { cout << "Дискриминант меньше 0, корни невещественные." << endl;}
        
      }
  };
 
int main()
{
    setlocale(LC_ALL, "rus");
    sq i;
    cout<<" ax^2+bx+c \n";
    i.print();
return 0;
}
0
24.01.2018, 09:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2018, 09:15
Помогаю со студенческими работами здесь

Решение квадратных уравнений
Даны вещественные числа a,b,c,d,e,f.Уравнения ах2 + bх + с = 0 и dx2 + ex + f = 0. Написать...

Решение квадратных уравнений
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;cmath&gt; using namespace std; void roots(float...

Решение квадратных уравнений
вот код. #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; int main() {...

Решение квадратных уравнений
Нужно написать программу решения набора квадратных уравнений через структуры.

Решение квадратных уравнений
Имеется программа, которая должна решать квадратные уравнения: #include &lt;iostream&gt; #include...

Решение квадратных уравнений
#include&lt;iostream&gt; #include&lt;conio.h&gt; #include&lt;math.h&gt; using namespace std; int main()...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru