注册 登录
编程论坛 C++教室

复数的运算

w4654646 发布于 2016-12-08 09:33, 1992 次点击
#include <iostream>
using namespace std;
class Complex{
  public:
      Complex(double r=0.0,double i=0.0);
      friend Complex operator+(Complex& a,Complex& b);
      friend Complex operator-(Complex& a,Complex& b);
      friend Complex operator*(Complex& a,Complex& b);
      friend Complex operator/(Complex& a,Complex& b);
      void display();
  private:
      double real;
      double imag;
};
Complex::Complex(double r,double i)
{ real=r;imag=i; }
Complex operator+(Complex& a,Complex& b)
{ Complex temp;
  temp.real=a.real+b.real;
  temp.imag=a.imag+b.imag;
  return temp;
}
Complex operator-(Complex& a,Complex& b)
{ Complex temp;
  temp.real=a.real-b.real;
  temp.imag=a.imag-b.imag;
  return temp;
}
Complex operator*(Complex& a,Complex& b)
{ Complex temp;
  temp.real=a.real*b.real-a.imag*b.imag;
  temp.imag=a.real*b.imag+a.imag*b.real;
  return temp;
}
Complex operator/(Complex& a,Complex& b)
{ Complex temp;
  temp.real=a.real*b.real+a.imag*b.imag;
  temp.imag=a.real*b.imag-a.imag*b.real;
  return temp;
}
void Complex::display()
{ cout<<real;
  if(imag>0) cout<<"+";
  if(imag!=0) cout<<imag<<"i\n";
}
int main()
{ double a,b,c,d;
  cin>>a>>b>>c>>d;
  Complex A1(a,b),A2(c,d),A3,A4,A5,A6;
  A1.display();
  A2.display();
  A3=A1+A2;
  A3.display();
  A4=A1-A2;
  A4.display();
  A5=A1*A2;
  A5.display();
  A6=A1/A2;
  A6.display();
  return 0;
}
不知道怎么加上操作界面?比如
只有本站会员才能查看附件,请 登录
,有人能帮忙改吗?
3 回复
#2
rjsp2016-12-08 10:40
什么鸟“操作界面”跟“复数的运算”有什么关系呀

我只说你的Complex类,你可以对照着std::complex看看,看看犯了多少低级错误
#3
yangfrancis2016-12-08 18:10
回复 楼主 w4654646
操作界面用cout一行一行地输出
#4
StadyC2016-12-09 09:22
C++好像有关于复数的运算东西了吧,连C语言都出了complex.h了。你要界面你可以直接用MFC等等工具做个更漂亮的都没有问题
1