ここでは、ユーザーに実数と虚数の2つのセットを求めるコードがあります。私も取得しないC++のクラスを使った複素数の加算と減算
#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自体の内部に条件があるはずです。いいえ、他にはありません。しかし、私は何をすべきか分かりません。
プログラムは次のように実行する必要があります。オペランド1用
入力実部:5
オペランド1の入力虚部:2(架空のため、私は書かれてはならない)
オペランド2の入力実数部:8オペランド2用
入力虚部:1(再び、私は入力しないでください)
/、それは私と//この時間を入力(ED)番号/
(5、2I)を印刷します
(8,1i)
/答えは/
合計は13 + 3iです。
違いは-3,1iです。 //または-3、i
私を助けてください!私はC++で新しく、ここでstackoverflowであなたの助けが非常に高く評価されるでしょう。どうもありがとうございました!
これはあなたの学校宿題ですか? – penartur
演算子のオーバーロードについてもう少し詳しくお読みください。加算と減算の関数を正しく書くことができるはずです。 – Alexander
はい、penartur。私はできることはしたが、私の知識はまだ欠けていると思う。私は指導が必要です。 –