编程练习:复数四则运算

题目描述

编写一个程序,其功能为:通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果

问题分析

 (a+bi) + (c+di)(a+bi) - (c+di)(a+bi) * (c+di)(a+bi) / (c+di)
结果的实部a+ca-ca*c - b*d(a*c + b*d)/(c*c -d*d)
结果的虚部b+db-db*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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值