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

как написать класс квадратное уравнение??? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
yurka
 Аватар для yurka
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 3
13.10.2010, 09:43     как написать класс квадратное уравнение??? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <complex>
#include <math>
 
using namespace std;
class kvadr{
      float a, b, c;
public:
       kvadr(float a1,float b1=0.0, float c1=0.0):a(a1), b(b1), c(c1){}
       void korny(x1, x2){x1}
       void print(){a*x^2+b*x+c=0}
       float D(){return }
       
 
void main()
{
     kvadr A(1,-4,4);
     A.menu()
}
вот это преподаватель подсказал, а как полностью незнаю!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 09:43     как написать класс квадратное уравнение???
Посмотрите здесь:

Квадратное уравнение C++
C++ С++ квадратное уравнение
C++ Квадратное уравнение
C++ Квадратное уравнение
Квадратное уравнение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
13.10.2010, 10:26     как написать класс квадратное уравнение??? #2
По мне так классы подобного рода( и назначения)
должны содержать перегрузку оператора вызова функции и больше ни чего.
Sudoki
124 / 64 / 1
Регистрация: 19.04.2010
Сообщений: 196
13.10.2010, 10:30     как написать класс квадратное уравнение??? #3
Уравнение имеет вид a*x^2+b*x+c
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
//заголовочный файл Ur.h
class Ur
{
public:
   Ur();
   Ur(float a, float b, float c);
 
   float calc(float x);  //вычисляет значение в точке x
 
   void setA(float a);
   void setB(float b);
   void setC(float c);
   float a() const;
   float b() const;
   float c() const;
 
   void set(float a, float b, float c);
private:
   float _a, _b, _c;
}
 
//Исходник Ur.cpp
Ur::Ur() : _a(0), _b(0), _c(0) {};
 
Ur::Ur(float a, float b, float c) : _a(a), _b(b), c(_c) {};
 
void Ur::setA(float a) {_a = a;};
void Ur::setB(float b) {_b = b;};
void Ur::setC(float c) {_c = c;};
float Ur::a() const {return _a;};
float Ur::b() const {return _b;};
float Ur::c() const {return _c;};
 
void Ur::set(float a, float b, float c) {_a = a; _b = b; _c = c;};
 
float Ur::calc(float x) {return _a*x*x+_b*x+c;};
 
 
//main.c
 
#include <iostream>
#include "Ur.h"
 
int main(int argc, char* argv[])
{
   Ur ur1;
   float v;
 
   return 0;
}
Дальше думаю можно разобраться.
Только не смешивайте данные и вывод на экран.
Mr.X
Эксперт С++
 Аватар для Mr.X
2802 / 1578 / 247
Регистрация: 03.05.2010
Сообщений: 3,666
13.10.2010, 12: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
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
//////////////////////////////////////////////////////////////////////////////////////
//  как написать класс квадратное уравнение???
//////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
#include <complex>
#include <cmath>
//////////////////////////////////////////////////////////////////////////////////////
typedef  double                T_coef;
typedef  std::complex<T_coef>  T_root;
//////////////////////////////////////////////////////////////////////////////////////
class T_quadr_eq
{
public:
    T_quadr_eq
        (
            T_coef  A = 1,   
            T_coef  B = 0, 
            T_coef  C = 0
        ):a(A), b(B), c(C)
    {}
    //--------------------------------------------------------------------------------
    void  input()
    {
        std::cout << "Введите коэффициенты квадратного уравнения: "
                  << std::endl;
        do
        {
            std::cout << "a = ";
            std::cin >> a;        
        }while(a == 0);
 
        std::cout << "b = ";
        std::cin >> b;
 
        std::cout << "c = ";
        std::cin >> c;
    }
    //--------------------------------------------------------------------------------
    void  print_data()
    {
        std::cout << "Квадратное уравнение ";
        print();
        std::cout << ":"
                  << std::endl
                  << "дискриминант: "
                  << D().real()
                  << std::endl
                  << "корни:"
                  << std::endl
                  << "\tX1 = "
                  << root_left()
                  << std::endl
                  << "\tX2 = "
                  << root_right()
                  << std::endl
                  << std::endl
                  << std::endl
                  << std::endl
                  << std::endl
                  << std::endl;
    }
    //--------------------------------------------------------------------------------
    T_root  D()
    {
        return b * b - 4 * a * c;
    }
    //--------------------------------------------------------------------------------
    T_root  root_left()
    {
        return (-b - sqrt(D())) / (2.0 * a);
    }
    //--------------------------------------------------------------------------------
    T_root  root_right()
    {
        return (-b + sqrt(D())) / (2.0 * a);
    }
    //--------------------------------------------------------------------------------
    void print()
    {        
        if(abs(a) == 1)
        {
            std::cout << (a > 0 ? "" : "-");
        }
        else
        {
            std::cout << a;
        }
        std::cout << "x^2";
 
        if(b)
        {
            std::cout << (b > 0 ? " + " : " - ");
            if(abs(b) != 1)            
            {
                std::cout << abs(b);             
            }
            std::cout << "x";
        }
 
        if(c)
        {
            std::cout << (c > 0 ? " + " : " - ")
                      << abs(c);
        }                  
                  
        std::cout << " = 0";
    }
private:
    T_coef  a;
    T_coef  b;
    T_coef  c;
};
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
 
    T_quadr_eq  P(2.345e-15, 3.1415, 1.123e10);
    P.print_data();
 
    for(;;)
    {
        T_quadr_eq  Q;
        Q.input();
        Q.print_data();
    }
}
yurka
 Аватар для yurka
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 3
13.10.2010, 14:42  [ТС]     как написать класс квадратное уравнение??? #5
большое спасибо за внимание!!!попытаюсь разобраться
Yandex
Объявления
13.10.2010, 14:42     как написать класс квадратное уравнение???
Ответ Создать тему
Опции темы

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