У меня есть код, который должен запросить у пользователя два набора действительных и мнимых чисел.
#include <iostream>
using namespace std;
class Complex {
public:
double r;
double i;
public:
Complex();
void add(Complex, Complex);
void subtract(Complex, Complex);
void print();
};
Complex::Complex() {
r = i = 0;
}
void Complex::add (Complex op1, Complex op2) {
r = op1.r+op2.r;
i = op1.i+op2.i;
}
void Complex::subtract (Complex op1, Complex op2) {
r = op1.r-op2.r;
i = op1.i-op2.i;
}
void Complex::print () {
cout << r << i;
}
int main () {
Complex operand1, operand2, result;
cout << "Input real part for operand one: " << endl;
cin >> operand1.r;
cout << "Input imaginary part for operand one: " << endl;
cin >> operand1.i;
cout << "Input real part for operand two: " << endl;
cin >> operand2.r;
cout << "Input imaginary part for operand two: " << endl;
cin >> operand2.i;
result.add(operand1, operand2);
cout << "The sum is " << result.add << endl;
result.subtract(operand1, operand2);
cout << "The difference is " << result.subtract << endl;
}
Однако, когда я скомпилировал программу, отображается множество ошибок (std :: basic_ostream), которых я даже не понимаю.
Еще одна проблема, с которой я столкнулся, связана с функцией void :: Complex print. Внутри самого cout должно быть условие. Нет, если-еще. Но понятия не имею, что мне делать.
Программа должна работать следующим образом:
Введите действительную часть для первого операнда: 5
Введите мнимую часть для первого операнда: 2 (i для мнимого не следует записывать)
Введите действительную часть для второго операнда: 8
Введите мнимую часть для второго операнда: 1 (опять же, i не следует вводить)
/ затем он напечатает введенные (ed) числа em> /
(5, 2i) // на этот раз с i
(8, 1i)
/ затем ответы /
Сумма равно 13 + 3i.
Разница составляет -3,1i. // или -3, i
Пожалуйста помогите! Я новичок в C ++ и здесь, в stackoverflow, и ваша помощь будет очень признательна. Большое тебе спасибо!