用C++写一个复数类型计算器包括+,-,*,/,平方和立法的算法
时间: 2024-05-07 11:20:29 浏览: 108
以下是一个简单的复数类型计算器的实现,包括加、减、乘、除、平方和立方运算:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Complex {
public:
Complex(double real = 0.0, double imag = 0.0) : r(real), i(imag) {}
Complex operator+(const Complex& other) const {
return Complex(r + other.r, i + other.i);
}
Complex operator-(const Complex& other) const {
return Complex(r - other.r, i - other.i);
}
Complex operator*(const Complex& other) const {
return Complex(r * other.r - i * other.i, r * other.i + i * other.r);
}
Complex operator/(const Complex& other) const {
double denominator = other.r * other.r + other.i * other.i;
return Complex((r * other.r + i * other.i) / denominator, (i * other.r - r * other.i) / denominator);
}
Complex square() const {
return Complex(r * r - i * i, 2 * r * i);
}
Complex cube() const {
return Complex(r * r * r - 3 * r * i * i, 3 * r * r * i - i * i * i);
}
void print() const {
cout << r << " + " << i << "i" << endl;
}
private:
double r, i;
};
int main() {
Complex a(1.0, 2.0);
Complex b(3.0, 4.0);
Complex c = a + b;
c.print();
c = a - b;
c.print();
c = a * b;
c.print();
c = a / b;
c.print();
c = a.square();
c.print();
c = a.cube();
c.print();
return 0;
}
```
在这个例子中,我们定义了一个名为 Complex 的类,该类包含两个数据成员,分别表示复数的实部和虚部。我们实现了加、减、乘、除、平方和立方运算符,以及一个 print() 函数用于打印复数。
在加、减、乘、除运算符中,我们使用了复数的基本运算公式。在平方和立方运算中,我们使用了平方公式和立方公式。我们还实现了一个 print() 函数,以便在屏幕上打印出复数的值。
在主函数中,我们创建了两个复数 a 和 b,并使用加、减、乘、除、平方和立方运算符对它们进行了运算。最后,我们使用 print() 函数打印了结果。
请注意,这只是一个简单的实现,您可以根据需要进行修改和扩展。例如,您可以添加更多的运算符或函数,或者通过继承和多态性来实现更复杂的操作。
阅读全文