首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者学C++,看了许久不知错在何处,望大侠们不吝赐教

2012-09-11 
菜鸟学C++,看了许久不知错在何处,望大侠们不吝赐教此程序实现复数的四则运算,但算到乘法时就出错了(结果附

菜鸟学C++,看了许久不知错在何处,望大侠们不吝赐教
此程序实现复数的四则运算,但算到乘法时就出错了(结果附于文后,除法还未验证),求指教,多谢了!

下面是代码:

C/C++ code
#include<iostream>//#include<cstdlib>using namespace std;class Complex{      private:         float rea;         float img;      public:         Complex(float x=0,float y=0):                 rea(x),img(y)         {}         ~Complex(){}         Complex Add(Complex x){               Complex z;               z.rea = rea + x.rea;               z.img = img + x.img;               return z;         }         Complex Sub(Complex x){               return Complex(rea - x.rea,img - x.img);         }         Complex mul(Complex x){                 Complex z;                 z.rea = (rea * x.rea - img * x.img);                 z.img = (rea * x.img + x.rea * img);                 return z;         }         Complex did(Complex x){                 Complex z;                 z.rea = (rea * x.rea + img * x.img);                 z.img = (x.rea * img - rea * x.img);                 float c=(x.rea * x.rea+x.img * x.img);                 z.rea /= c;                 z.img /= c;                 return z;         }         void show(){              cout<<rea<<","<<img<<")"<<endl;         }};int main(){    Complex x(1,2),y(3,4),za,zs,zm,zd;    cout<<"x is (1,2)"<<endl;    cout<<"y is (3,4)"<<endl;    za=x.Add(y);    cout<<"x plus y is (";    za.show();    zs=x.Sub(y);    cout<<"x substract y is (";    zs.show();    zm=x.mul(y);    cout<<"x multiply y is (";    zm.show();    zd=x.did(y);    cout<<"x divided by y is (";    zd.show();    return 0;}


[解决办法]
乘完后不就是 -5,10吗 没错吧 貌似

热点排行