Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
18 / 18 / 24
Регистрация: 21.06.2014
Сообщений: 147

Класс Complex, многофайловое приложение

03.02.2015, 19:38. Показов 668. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал изучать классы недавно. При решение задачи возникла ошибка, не могу понять в чем дело.
Выдает ошибку (error 'Complex' was not declared in this scope) Не могу разобраться(( Программа должна считать сложение двух комплексных чисел

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef COMPLEX_H
#define COMPLEX_H
 
 
class Complex
{
    public:
        Complex(float = 0, float = 0, float = 0, float = 0);
        void setComplex(float, float, float, float);
        void  setSum();
        void PrintSum();
    private:
        float deict;
        float mnim;
        float deict2;
        float mnim2;
        float rez;
        float rez2;
};
 
#endif // COMPLEX_H

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
#include "Complex.h"
#include <iostream.h>
 
 
using namespace std;
 
Complex::Complex(float a, float b, float c, float d)
{setComplex(a, b, c, d)};
 
void Complex::setComplex(float a, float b, float c, float d)
{
    setlocale(LC_ALL, "RUS");
    cout<<"Введите действительную часть 1 числа: ";
    cin<<a;
    cout"Введите мнимую часть 1 числа: ";
    cin<<b;
    cout<<"Введите действительную часть 2 числа: ";
    cin<<c;
    cout"Введите мнимую часть 2 числа: ";
    cin<<d;
 
deict = a;
mnim = b;
deict2 = c;
mnim2 = d;
}
 
 void Complex::setSum()
{
    rez = deict + deict2;
    rez2 = mnim + mnim2;
 
}
void Complex::PrintSum()
{
    cout<<"z = " <<rez "+" <<rez2<<"*i\n\n";
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include "Complex.h"
 
using namespace std;
 
int main()
{
 Complex c;
 c.setComplex();
 c.PrintSum();
 
  return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.02.2015, 19:38
Ответы с готовыми решениями:

Многофайловое приложение в CodeBlocks
задание состоит в том,что надо переделать программу через функции вот что получилось у меня что я делаю не так? файл main.cpp: ...

Как компоновать многофайловое приложение
Здравствуйте. В файле GradeBook.cpp ошибки: undefined reference to `WinMain@16' ld returned 1 exit status В файле...

Ошибка 19 error LNK2005. Многофайловое приложение
У меня возникает ошибка Ошибка 19 error LNK2005: &quot;void __cdecl set_0(double *,int)&quot; (?set_0@@YAXPANH@Z) уже определен в...

5
 Аватар для OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
03.02.2015, 19:57
во первых cin>> , а не cin<<

Добавлено через 1 минуту
в некоторых местах после cout забыл <<

Добавлено через 2 минуты
в printSum cout нехорошо так писать.
след: точка с запятой в конструкторе!

Добавлено через 49 секунд
в прототипе и описание функция setComplex с параметрами. а в мейне без

Добавлено через 27 секунд
в общем-то и все

Добавлено через 1 минуту
конструктор кстатити тоже вряд ли будет так работать как у тебя
1
18 / 18 / 24
Регистрация: 21.06.2014
Сообщений: 147
03.02.2015, 20:00  [ТС]
OlegKri, спасибо что показал ошибки, вроде смотришь сначало всё нормально выглядит, а тут столько недочетов((
Почему в printSum cout нехорошо так писать? и ошибка та же осталось) хоть после тех исправлений((
0
 Аватар для OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
03.02.2015, 20:20
не хорошо в плане не правильно)
C++
1
cout<<"z = " <<rez<<"+" <<rez2<<"*i\n\n";
вот так хорошо)

Добавлено через 1 минуту
у меня нету)

Добавлено через 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <conio.h> 
#include <string.h> 
#include <iostream> 
#include <windows.h>
 
using namespace std;
 
class Complex
{
    public:
        Complex();
        void setComplex();
        void  setSum();
        void PrintSum();
    private:
        float deict;
        float mnim;
        float deict2;
        float mnim2;
        float rez;
        float rez2;
};
 
Complex::Complex()
{
    deict=0;
    mnim=0;
    deict2=0;
    mnim2=0;
    rez=0;
    rez2=0;
};
 
void Complex::setComplex()
{
    float a,b,c,d;
    setlocale(LC_ALL, "RUS");
    cout<<"Введите действительную часть 1 числа: ";
    cin>>a;
    cout<<"Введите мнимую часть 1 числа: ";
    cin>>b;
    cout<<"Введите действительную часть 2 числа: ";
    cin>>c;
    cout<<"Введите мнимую часть 2 числа: ";
    cin>>d;
 
deict = a;
mnim = b;
deict2 = c;
mnim2 = d;
};
 
 void Complex::setSum()
{
    rez = deict + deict2;
    rez2 = mnim + mnim2;
 
};
void Complex::PrintSum()
{
    cout<<"z = " <<rez<<"+"<<rez2<<"*i\n\n";
};
 
int main()
{
 Complex c;
 c.setComplex();// здесь тебе надо подставлять
 c.setSum();
 c.PrintSum();
 
  getch();
  return 0;
};
Добавлено через 3 минуты
и к сведению. в классе по умолчанию первые члены класса пока не будет public: или protected: идут по умолчанию private. так есть смысл сначала писать приватные данные а потом публичные. так красивше и привычней выглядит. стиль кодировски по эстетичней)
0
18 / 18 / 24
Регистрация: 21.06.2014
Сообщений: 147
03.02.2015, 20:23  [ТС]
ок, спасибо)) сейчас изучу
0
 Аватар для OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
03.02.2015, 20:27
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
float a,b,c,d;
    setlocale(LC_ALL, "RUS");
    cout<<"Введите действительную часть 1 числа: ";
    cin>>a;
    cout<<"Введите мнимую часть 1 числа: ";
    cin>>b;
    cout<<"Введите действительную часть 2 числа: ";
    cin>>c;
    cout<<"Введите мнимую часть 2 числа: ";
    cin>>d;
 
deict = a;// можешь сразу вместо a,b,c,d(они лишнии) подставлять параметры класса: cin>>dect; ...и тд. 
mnim = b;
deict2 = c;
mnim2 = d;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.02.2015, 20:27
Помогаю со студенческими работами здесь

Вычисление функции - сделать многофайловое приложение
function y(x,a:real):real; var t,w:real; begin t:=1-sqr(sin(x)); w:=a*a-x*x; y:=ln(sqrt((abs(t/w)))); end; var x,a:real; ...

Раздельная компиляция. Преобразовать код в многофайловое приложение
нужна помощь в преобразовании кода программы для разделенной трансляции (заголовочный код, код реализации класса и сам модифицированный код...

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

Реализовать класс Pair (пара чисел); определить производный класс Complex (комплексное число)
Здравствуйте. Задали задание: Создать класс Pair (пара чисел); определить метод перемножения полей и операцию сложения пар: (а, b) +...

С++ класс (создайте класс с именем Complex для выполнения в арифмитических операий с комплексными числами))
Кто сможет помогите пожалуйста! (Класс Complex). Создайте класс с именем Complex для выполнения в арифмитических операий с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru