使用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 本身应该有一个条件。没有如果,否则。但我不知道该怎么做。

程序必须像这样运行:

输入操作数一的实部:5

输入操作数一的虚数部分:2(不应该写虚数的 i)

输入操作数二的实部:8

输入操作数二的虚部:1(同样,不应该输入 i)

/ 然后它将打印输入(编辑)数字/

(5, 2i) //这次是 i

(8, 1i)

/ 那么答案/

总和是 13+3i。

差是-3, 1i。 //或-3,我

请帮我!我是 C++ 和 stackoverflow 的新手,非常感谢您的帮助。非常感谢!

原文由 user1156075 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 474
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题