1、
#include "iostream.h"
#include
#include
typedef struct complex
{
int real;
int imaginary;
void showComplex()
{
if(imaginary==0)
{
cout<2、}
else if(real==0)
{
cout<3、tComplex()
{
Complex com;
com.real=0;
com.imaginary=0;
char comArr[100];
cin>>comArr;
int realflag=0;
int imaflag=-1;
int realover,ope,imaover,iloc;
realover=ope=imaover=iloc=0;
for(int i=0;comArr[i]!='\0';i++)
{
/******************************************************/
i
4、f(realflag==0 && comArr[i]-'0'>=0 && comArr[i]-'0'<=9)//默认从实部开始计算
{
com.real =com.real*10+comArr[i]-'0';
realover=i;
// cout<5、rr[i]-'0'>=0 && comArr[i]-'0'<=9)//计算虚部
{
com.imaginary =com.imaginary*10+comArr[i]-'0';
imaover=i;
// cout<6、imaover=iloc=0
if(iloc!=0&&ope!=0)
{
if(iloc+1==ope)//输入时虚部在前实部在后
{
int temp=com.imaginary;
com.imaginary=com.real;
com.real=temp;
}
else if(realover-ope!=-1 || imaover7、
if(realflag==0 && imaflag==-1)//表示未检查到输入'i',表示无虚部
{
com.imaginary=0;
}
//表示未检查输入'+',但存在'i',说明无实部。把实部计算值赋值给虚部,实部清0
else if(realflag==0 && imaflag==1)
{
com.imaginary=com.real;
com.real=0;
}
return com;
}
int main(int argc, char* argv[])
{
Complex a;
Complex b;
Compl
8、ex sum;
cout<<"\t\t运算符重载,实现两个复数求和\n"<