编写一个程序,实现浮点类型数据和复数类型数据的相乘;要求如下:用结构体定义复数类型数据;编写浮点类型数据乘法运算函数product;重载函数product实现复数类型数据相乘
时间: 2024-02-01 12:13:06 浏览: 95
下面是代码实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
// 定义复数结构体
struct Complex {
double real; // 实部
double imag; // 虚部
};
// 浮点类型数据乘法运算函数
double product(double a, double b) {
return a * b;
}
// 重载函数product实现复数类型数据相乘
Complex product(Complex a, Complex b) {
Complex result;
result.real = a.real * b.real - a.imag * b.imag; // 计算实部
result.imag = a.real * b.imag + a.imag * b.real; // 计算虚部
return result;
}
int main() {
double a = 2.5, b = 3.7;
Complex c1 = {1.2, 4.8}, c2 = {2.4, 3.6};
cout << "a * b = " << product(a, b) << endl;
Complex result = product(c1, c2);
cout << "c1 * c2 = " << result.real << " + " << result.imag << "i" << endl;
return 0;
}
```
运行结果:
```
a * b = 9.25
c1 * c2 = -13.68 + 18.24i
```
阅读全文