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

Элементарные действия с классом - C++

Восстановить пароль Регистрация
 
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
20.03.2012, 22:22     Элементарные действия с классом #1
Доброй ночи.
Что следует прописать в int main() ,чтоб вызвать функцию
C++
1
coplex::trigon(float a, float b)
использую переменные которые указаны в классе coplex.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <math.h>
#include <string>
using namespace std;
 
 
class coplex {
public:
    float a;
    float b;
    float r;
    float trigon(float ,float);
   
};
 
coplex::trigon(float a, float b){
    r = pow(1/2,(pow(2,a) + pow(2,b)));
    return r;
}
 
int main(){
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2012, 22:22     Элементарные действия с классом
Посмотрите здесь:

C++ Элементарные Массивы
элементарные задачи C++
Элементарные функции и массивы строк C++
C++ Элементарные 2ва упрожнения
Элементарные операции со списками C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
20.03.2012, 22:33     Элементарные действия с классом #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
#include <iostream>
#include <math.h>
#include <string>
 
using namespace std;
 
 
class coplex
{
public:
    float a;
    float b;
    float r;
    float trigon(float ,float);
   
};
 
float coplex::trigon(float a, float b)
{
    r = pow(1/2,(pow(2,a) + pow(2,b)));
    return r;
}
 
int main()
{
    coplex copl;
    cout << copl.trigon(4., 4.);
}
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
20.03.2012, 22:34     Элементарные действия с классом #3
scofielcl, у pow первый аргумент это показатель степени, а не степень
а второй соответственно - степень
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
21.03.2012, 18:45  [ТС]     Элементарные действия с классом #4
Как вызвать функцию именно с переменными a,b (из класса coplex) ,
Данные переменные вводятся через конструктор.

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 <iostream>
#include <math.h>
#include <string>
using namespace std;
 
 
class coplex
{
public:  
    float a;
    float b;
    float r;
    coplex(float , float );
    float trigon(float ,float);
   
};
 
coplex::coplex(float a,float b){
    
    cout<<"введите а,b"<<endl;
    cin>>a>>b;
}
 
float coplex::trigon(float a, float b)
{
    r = pow(a+b,0.5);
    return r;
}
 
 
 
int main()
{
        coplex copl;           
        cout << copl.trigon();
}
Добавлено через 9 часов 26 минут
Переменные которые описаны в классе можно использовать только в функция которые описаны в классе.

Если же пользователь , не ввел значения a и b , то конструктор должен предложить их ввести.
Опять же вопрос ,что прописать в int main() ,дабы конструктор работал. В текущем коде , ошибки ,в обоих строках int main();

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
#include <iostream>
#include <math.h>
#include <string>
#include <fstream>
//#include <mathcalls.h>
using namespace std;
 
 
class coplex
{
public:  
    float r;
    float e;
   // coplex(float , float );
    float trigon(float ,float);   
};
/*
coplex::coplex(float a,float b){
    
    cout<<"введите а,b"<<endl;
    cin>>a>>b;
}*/
 
float coplex::trigon(float a,float b)
{
    r = pow(a*a+b*b,0.5);
    e = atan(b/a);
  //  cout<<"e = "<<e<<endl;
    cout<<"C ="<<r<<" ( cos("<<a/r<<") + "<<" sin ("<<b/r<<")* i ) "<<endl;
    cout<<"C ="<<r<<" ("<< cos(e)<<") + ("<<sin(e)<<") * i"<<endl;
    return r;
}
 
 
 
int main()
{
   
    coplex copl;
    copl.trigon(1,(pow(3,0.5))); 
  
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 19:12     Элементарные действия с классом #5
scofielcl, в конструкторе не принято вводить данные. Вводите их в main, обрабатывайте, передавайте как параметры конструтора, вызывайте функцию.
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
21.03.2012, 19:20  [ТС]     Элементарные действия с классом #6
C++
1
2
3
4
5
6
7
int main()
{
   
    coplex(1,1);
    coplex.trigon(); 
  
}
Примерно так?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 19:49     Элементарные действия с классом #7
scofielcl, да, но вам нужно изменить конструктор и функцию. Конструктор, поскольку, как я уже говорил, у вас там происходил ввод данных. А у функции есть параметры, которые вы не передаете. Либо убирайте их, либо делайте параметры по умолчанию, либо передавайте.
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
21.03.2012, 20:08  [ТС]     Элементарные действия с классом #8
Разберусь с конструктором позже.

other.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <coplex.h>
 
int main()
{
    int x;
    cout<<"Введите номер задачи."<<endl;
    cout<<"1. В тригонометрическую\n2. В показательную\n";
    cin>>x;
    switch(x){
        
        case 1:
    coplex copl;
    copl.trigon(1,(pow(3,0.5))); 
       case 2: return 0;
    }
  
}
coplex.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
#include "coplex.h"
 
 
float coplex::trigon(float a,float b)
{
    r = pow(a*a+b*b,0.5);
    e = atan(b/a);
    cout<<"C ="<<r<<" ( cos("<<a/r<<") + "<<" sin ("<<b/r<<")* i ) "<<endl;
    cout<<"C ="<<r<<" ("<< cos(e)<<") + ("<<sin(e)<<") * i"<<endl;
    return r;
}
coplex.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "iostream"
#include "math.h"
using namespace std;
 
#ifndef COPLEX_H
#define COPLEX_H
class coplex
{
public:  
    float r;
    float e;
   // coplex(float , float );
    float trigon(float ,float);  
    float algebr(float,float);
};
 
#endif  /* COPLEX_H */
При запуске следующие ошибки :
C++
1
2
3
4
5
6
7
8
9
other.cpp:1:20: warning: coplex.h: Нет такого файла или каталога
other.cpp: In function ‘int main():
other.cpp:6: error:cout’ was not declared in this scope
other.cpp:6: error: ‘endl’ was not declared in this scope
other.cpp:8: error:cin’ was not declared in this scope
other.cpp:12: error: ‘coplex’ was not declared in this scope
other.cpp:12: error: expected ‘;’ before ‘copl’
other.cpp:13: error: ‘copl’ was not declared in this scope
other.cpp:13: error:pow’ was not declared in this scope
Т.е он говорит ,что банальна не подключена нужна библиотека.
При этом в диалоговом окне код не помечается как ошибочный.
Почему так?

Добавлено через 1 минуту
Файл сoplex.h создан (вернее автоматически создался при создании класса).
Пробовал удалить и создать вручную , результат тот же.

Добавлено через 3 минуты
Прошу прощения , выходит <> cледует заменить на "".
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
21.03.2012, 20:24     Элементарные действия с классом #9
Пространство имен?
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
21.03.2012, 20:29     Элементарные действия с классом #10
Цитата Сообщение от scofielcl Посмотреть сообщение
#include <coplex.h>
не забывайте, что есть С-заголовок coplex.h. и скорее всего вы его включили, а не свой
scofielcl
4 / 4 / 0
Регистрация: 11.09.2011
Сообщений: 143
21.03.2012, 20:43  [ТС]     Элементарные действия с классом #11
С- заголовок "complex.h"
У меня же соplex.h

Как я уже писал :
Добавлено через 3 минуты
Прошу прощения , выходит <> cледует заменить на "".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2012, 21:01     Элементарные действия с классом
Еще ссылки по теме:

C++ Элементарные задачи по C++
C++ Элементарные операции
C++ Элементарные задачи по C++

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

Или воспользуйтесь поиском по форуму:
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.03.2012, 21:01     Элементарные действия с классом #12
Если вопрос еще не решен, то вот. Чутка поправил, все компилится.
code
Bash
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
soon@desktop:~/Src/C++/coplex$ cat coplex.h
#ifndef COPLEX_H
#define COPLEX_H
 
class coplex
{
public:  
    float r;
    float e;
   // coplex(float , float );
    float trigon(float ,float);  
    //float algebr(float,float);
};
 
#endif  /* COPLEX_H */
soon@desktop:~/Src/C++/coplex$ cat coplex.cpp
#include "coplex.h"
#include <iostream>
#include <cmath>
 
float coplex::trigon(float a,float b)
{
    r = std::pow(a*a+b*b,0.5);
    e = std::atan(b/a);
    std::cout<<"C ="<<r<<" ( cos("<<a/r<<") + "<<" sin ("<<b/r<<")* i ) "<<std::endl;
    std::cout<<"C ="<<r<<" ("<< std::cos(e)<<") + ("<<std::sin(e)<<") * i"<< std::endl;
    return r;
}
soon@desktop:~/Src/C++/coplex$ cat other.cpp 
#include "coplex.h"
#include <iostream>
#include <cmath>
 
int main()
{
    int x;
    std::cout<<"Введите номер задачи."<<std::endl;
    std::cout<<"1. В тригонометрическую\n2. В показательную\n";
    std::cin>>x;
    switch(x){
        case 1:
            coplex copl;
            copl.trigon(1,(std::pow(3,0.5)));
       case 2:
            return 0;
    }
}
soon@desktop:~/Src/C++/coplex$ g++ other.cpp coplex.cpp -o coplex -lm
soon@desktop:~/Src/C++/coplex$
Yandex
Объявления
21.03.2012, 21:01     Элементарные действия с классом
Ответ Создать тему
Опции темы

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