项目五--复数运算
2014-04-11 12:26
260 查看
/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:刘晓晓 *完成日期:2014年 04月8号 *版本号:v1.0 *对任务及求解方法的描述部分: *输入描述: 无 *问题描述:简单的复数相加 *程序输出:无 *问题分析: *算法设计: */ #include <iostream> using namespace std; template <class numtype> class Complex { public: Complex() { real=0; imag=0; } Complex(numtype r,numtype i) { real=r; imag=i; } Complex complex_add(Complex &c2); Complex complex_minus(Complex &c2); Complex complex_multiply(Complex &c2); Complex complex_divide(Complex &c2); void display(); public: numtype real; numtype imag; }; //相加 template <class numtype > Complex<numtype> Complex<numtype>::complex_add(Complex<numtype> &c2) { Complex<numtype> c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } //相减 template <class numtype> Complex<numtype> Complex<numtype>::complex_minus(Complex<numtype> &c2) { Complex<numtype> c; c.real=real-c2.real; c.imag=imag-c2.imag; return c; } //相乘 template <class numtype> Complex<numtype> Complex<numtype>::complex_multiply(Complex<numtype> &c2) { Complex <numtype> c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c; } //除法不会写了 template <class numtype > void Complex<numtype>::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } int main( ) { Complex<int> c1(3,4),c2(5,-10),c3; //实部和虚部是int型 c3=c1.complex_add(c2); cout<<"c1+c2="; c3.display( ); Complex<double> c4(3.1,4.4),c5(5.34,-10.21),c6; //实部和虚部是double型 c6=c4.complex_add(c5); cout<<"c4+c5="; c6.display( ); Complex<int> c7(3,4),c8(5,6),c9; c9=c7.complex_minus(c8); cout<<"c7-c8="; c9.display(); Complex<double >c10(4.5,6.1),c11(2.5,4.2),c12; c12=c10.complex_multiply(c11); cout<<"c10*c11="; c12.display(); return 0; }除法写不出来了
相关文章推荐
- 第十六周项目以复数的运算
- 第二学期第八周项目1--实现复数类中的运算符重载(两个复数运算)
- 第二学期第八周项目1--实现复数类中的运算符重载(两个复数的运算友元)
- 第八周项目一 复数类拓展之复数与double型数据的运算
- 第8周项目1-3使实数与复数进行运算用friend函数
- 结队-四则运算-项目进度
- 数据结构第三周项目--顺序表的基本运算
- 第十二周项目一 图的基本运算
- 第三周上机实践项目1——顺序表的基本运算
- 项目1-顺序表的基本运算
- 项目:大数的运算
- 第三周项目一顺序表的基本运算
- 20162330 结对编程项目-四则运算 第二周 整体总结
- 20162302 - 20162319 结对编程项目-四则运算(第二周)
- 第三周项目一顺序表的基本运算
- 第三周项目1-顺序表的基本运算
- 第9周实践项目2(2)-压缩存储的对称矩阵的运算
- 第7周-项目1-完整实现复数类中的运算符重载-扩展+、-、*、/运算符的功能
- 第三周 项目1 顺序表的基本运算
- 个人项目终极博客——四则运算题目生成程序分析