题目描述
编写一个程序,其功能为:通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果
问题分析
(a+bi) + (c+di) | (a+bi) - (c+di) | (a+bi) * (c+di) | (a+bi) / (c+di) | |
结果的实部 | a+c | a-c | a*c - b*d | (a*c + b*d)/(c*c -d*d) |
结果的虚部 | b+d | b-d | b*c + a*d | (b*c - a*d)/(c*c -d*d) |
程序代码
#include <iostream>
using namespace std;
/*
*编写一个程序,其功能为:通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果
*
*/
int main()
{
double a, b, c, d, r, i, t;
char op;
cout << "Enter the first complex number: " << endl;
cin >> a >> b;
cout << "Enter the second complex number: " << endl;
cin >> c >> d;
cout << "Enter a operate: " << endl;
cin >> op;
switch (op)
{
case '+':
r = a + c;
i = b + d;
break;
case '-':
r = a - c;
i = b - d;
break;
case '*':
r = a*c - b*d;
i = b*c + a*d;
break;
case '/':
t = c * c - d * d;
if (t == 0)
{
cout << "The denominator is 0" << endl;
return 0;
}
r = (a*c + b*d) / t;
i = (b*c - a*d) / t;
break;
default:
cout << "Invalidation operator" << endl;
return 0;
}
cout << "The result is " << r << " + " << i << "i" << endl;
system("pause");
return 0;
}