当前位置:文档之家› 复数计算器

复数计算器

??#include
#include
#include

class jsq
{
double r,i;
public:
jsq ( double rr=0,double ii=0){r=rr;i=ii;}
/*****************************************重载运算符,实现复数运算*********************************************/
jsq operator +(const jsq &a)
{
return jsq(r+a.r,i+a.i);
}
jsq operator -(const jsq &a)
{
return jsq(r-a.r,i-a.i);
}
jsq operator *(const jsq &a)
{
return jsq(r*a.r-i*a.i,r*a.i+i*a.r);
}
jsq operator /(const jsq &a)
{
return jsq(r/(sqrt(a.r*a.r+a.i*a.i)),r/(sqrt(a.r*a.r+a.i*a.i)));
}
jsq operator ^(const jsq &a)
{
return jsq(r*a.r-i*a.i,2*r*a.i);
}
jsq operator !=(const jsq &a)
{
cout<<"\t复数一";
if((r==a.r)&&(i==a.i))
cout<<"等于";
else
cout<<"不等于";
cout<<"复数二\n";
return 0;
}

void list() //输出复数
{
cout<if(i>=0)
cout<<"+";
cout<}

};

enum power{he = '1', cha = '2', ji = '3', shang = '4', mi = '5', DX='6',MO='7',FJ='8',CX='9',END = '10'};
/***********************************主函数**********************************/
void main()
{
cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<<"\t\t※ ※" <<<"\t\t※ 复 数 计 算 器 ※" <<<"\t\t※ ※" <<<"\t\t※ ※" <<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <loop2:
double a,b,c,d;
cout<<"请输入两个复数:"<cout<<"第一个复数:";
cin>>a>>b;
cout<<"第二个复数:";
cin>>c>>d;
jsq j1(a,b);
jsq j2(c,d);
cout<<"复数一:\n\t\t";j1.list();
cout<<"复数二:\n\t\t";j2.list();
cout <cout<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <<<"\t\t※ ※" <<<"\t\t※ 1. 求两数之和. 6.比较大小. ※" <<<"\t\t※ ※" <<<"\t\t※ 2. 求两数之差. 7.求模长. ※" <<<"\t\t※ ※" <<<"\t\t※ 3. 求两数之积. 8.求辐角. ※" <<<"\t\t※ ※" <<<"\t\t※ 4. 求两数之商. 9.重新计算. ※" <<<"\t\t※ ※" <<<"\t\t※ 5. 求平方. 10. 关闭计算器. ※" <<<"\t\t※ ※" <<<"\t\t※

※" <<<"\t\t★★★★★★★★★★★★★★★★★★★★★★★★★★" <loop1:
cout<<"\t\t\t选择 :" ;
char choose;
cin>>choose;
while(choose!='\0')
{
switch (choose)
{
case he:
{
cout<<"两数之和:\n\t";
jsq he=j1+j2;
he.list();
} //两数之和
break;
case cha:
{
cout<<"两数之差:\n\t";
jsq cha=j1-j2;
cha.list();
} //两数之差
break;
case ji:
{
cout<<"两数之积:\n\t";
jsq ji=j1*j2;
ji.list(); //两数之积
}
break;
case shang:
{
if(((a!=0)&&(c==0))||((b!=0)&&(d==0)))
cout<<"\a亲,除数不可以为零哟!⊙﹏⊙‖∣\n";
else
{
{
cout<<"两数之商:\n\t";
jsq shang=j1/j2;
shang.list();
} //两数之商
}
}

break;
case mi: ////两数平方
{
cout<<"复数一平方:\n\t";
jsq mi1=j1^j1;
mi1.list();
cout<<"复数二平方:\n\t";
jsq mi2=j2^j2;
mi2.list();
}
break;
case DX: //比较两数是否相等
{
jsq dx=j1!=j2;
}
break;

case MO: //求模长
{
cout<<"复数一的模长:";
jsq mo1=sqrt(a*a+b*b);
mo1.list();
cout<<"复数一的模长:";
jsq mo2=sqrt(c*c+d*d);
mo2.list();
}
break;
case FJ: //求辐角的三角函数值
{
double mo1=sqrt(a*a+b*b);
double mo2=sqrt(c*c+d*d);
cout<<"复数一:\n\tsinα="<<(b/mo1);
cout<cout<cout<<"复数二:\n\tsinβ="<<(d/mo2);
cout<cout<}
break;
case CX: //重新输入数值
goto loop2;

case END: //关闭计算器

cout <break;
default:
cout<<"\t\t\a-_-。sorry!本程序暂不提供此项服务\n";
break;

}
}

}


相关主题
文本预览
相关文档 最新文档