c++程序入门(三)——用结构和类分别实现复数加法和乘法
来源:互联网 发布:软件测试的专业术语 编辑:程序博客网 时间:2024/05/16 14:20
问题描述:分别使用结构和类编程实现复数加减法
/*使用复数结构,编写通用函数求两个复数的和和积*/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;}
阅读全文
0 0
- c++程序入门(三)——用结构和类分别实现复数加法和乘法
- 用数组实现多项式加法和乘法
- 基于c数据结构——实现多项式合并同类项,加法和乘法
- 字符串实现加法和乘法
- 分别用C和C++实现了链表结构
- C++——算24(只用加法,减法和乘法)
- 链表实现多项式加法和乘法(C语言实现)
- 一元多项式的加法和乘法运算(Java实现)——浙大数据结构(陈越)
- 高精度(乘法和加法)
- C表达式求值做加法和乘法
- Java 矩阵类 实现加法、减法和乘法
- 大数加法和大数乘法的实现
- 位运算实现加法和乘法
- 计算器的加法和乘法的实现
- 链表实现多项式加法和乘法
- 移位,逻辑运算实现加法,乘法和除法
- 高精度加法和乘法的c++实现
- 大数加法和乘法
- 2017-10-25 & 2017-10-26 集训总结
- 2017
- 抽象数据类型、线性结构、递归实现:栈
- CEOI2013部分题解
- 近750亿到位 联通混改战略投资者已完成现金认购
- c++程序入门(三)——用结构和类分别实现复数加法和乘法
- Ontrack EasyRecovery 12 v12.0中文版下载附激活码
- 51Nod 1670 打怪兽
- linux--线性表(大话数据结构)
- mysql 严格模式 Strict Mode说明
- <胡策day> 10.26 T1 最大子串权值
- maven在编译时报栈溢出的解决办法
- 安装Vue.js
- 实现人工智能之路