5-1 复数相加 (14分)
题目:一个复数类,运算符重载 + ,实现复数和复数的相加。输入一组复数,每行一个复数,直到输入0结束。 输出这组复数的结果。
提示: 复数的输入和输出符合数学书写规范
输入示例
3+2i
2+3i
0
输出示例
5+5i
代码:
// 练习一.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<cstring>
using namespace std;
class complex
{
public:
complex(double r = 0.0, double i = 0.0)
{
real = r;
imag = i;
}
void display()
{
cout << real << "+" << imag << "i";
}
complex operator +(const complex& a)
{
real = real + a.real;
imag = imag + a.imag;
return *this;
}
double real=0;
double imag=0;
};
int main()
{
complex a, b(0, 0);
char c, d;
double q = 100;
while (1)
{
cin >> a.real;
q = a.real;
if (q == 0) break;
cin >> c >> a.imag >> d;
b = a + b;
}
b.display();
getchar();
return 0;
}