c++程序入门(三)——用结构和类分别实现复数加法和乘法

编程入门 行业动态 更新时间:2024-10-25 04:14:01

c++程序入门(三)——用结构和类分别实现<a href=https://www.elefans.com/category/jswz/34/1747193.html style=复数加法和乘法"/>

c++程序入门(三)——用结构和类分别实现复数加法和乘法

问题描述:分别使用结构和类编程实现复数加减法

/*使用复数结构,编写通用函数求两个复数的和和积*/
struct complex
{int real;int im;
};struct complex cadd(struct complex c1,struct complex c2);
struct complex cadd(struct complex c1,struct complex c2) 
//现在cadd是一个返回类型是struct complex的函数
{struct complex result;result.real=c1.real+c2.real;result.im=c1.im+c2.im;return result;}struct complex cmult(struct complex c1, struct complex c2);struct complex cmult(struct complex c1, struct complex c2)
{struct complex result;result.real = c1.real*c2.real - c1.im*c2.im;result.im = c1.real*c2.im + c1.im*c2.real;return result;
}//编写结果输出函数
void puts(struct complex c);
void puts(struct complex c)
{cout<<c.real<<"+("<<"i*"<<c.im<<")"<<endl;
}
int main()
{struct complex c1,c2,c3;while(cin>>c1.real&&cin>>c1.im&&cin>>c2.real&&cin>>c2.im){c3=cadd(c1,c2);puts(c3);c3=cmult(c1,c2);puts(c3);}cin.get();
}

/*用类来实现复数的加法和乘法*/class complex
{
public:int real;int im;
//   complex(int m=0,int n=0);void set_c(int m,int n);void cadd(complex c1, complex c2);void cmult(complex c1,complex c2);void put();
};//complex::complex(int m,int n)
//{
//  real = m;
//  im = n;
//}void complex::set_c(int m, int n)
{real = m; im = n;
}
void complex::cadd(complex c1, complex c2)
{real = c1.real + c2.real;im = c1.im + c2.im;
}void complex::cmult(complex c1,complex c2)
{   real = c1.real*c2.real - c1.im*c2.im;im = c1.real *c2.im + c2.real*c1.im;
}
void complex::put()
{cout<<real<<"+(i*"<<im<<")"<<endl;
}int main()
{complex c1,c2,c3;int r1,i1,r2,i2;while(cin>>r1 && cin>>i1 &&cin>>r2 &&cin>>i2){c1.set_c(r1,i1);c1.put();c2.set_c(r2,i2);c2.put();c3.cadd(c1,c2);c3.put();c3.cmult(c1,c2);c3.put();}cin.get();
}

用友元实现:

//*******用类和友元函数实现复数加减和乘除******/class complex
{float real;float im;
public:complex(float m=0,float n=0);void set_c(float m,float n);//这里使用友元函数friend complex cadd(complex c1,complex c2);friend complex cmult(complex c1,complex c2);void put();};
complex cadd(complex c1,complex c2)
{complex c3;c3.real=c1.real+c2.real;c3.im = c1.im+c2.im;return c3;
}
complex cmult(complex c1,complex c2)
{complex c3;c3.real = c1.real*c2.real -c1.im*c2.im;c3.im = c1.real*c2.im+c1.im*c2.real;return c3;
}

更多推荐

c++程序入门(三)——用结构和类分别实现复数加法和乘法

本文发布于:2024-03-05 14:27:11,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1712540.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:复数   加法   乘法   入门   结构

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!