【最新精品版】C++复数计算器实验报告

【最新精品版】C++复数计算器实验报告

ID:13561189

大小:86.95 KB

页数:10页

时间:2018-07-23

【最新精品版】C++复数计算器实验报告_第1页
【最新精品版】C++复数计算器实验报告_第2页
【最新精品版】C++复数计算器实验报告_第3页
【最新精品版】C++复数计算器实验报告_第4页
【最新精品版】C++复数计算器实验报告_第5页
资源描述:

《【最新精品版】C++复数计算器实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、南京信息工程大学《面向对象程序设计》课程设计实验报告课程名:面向对象程序设计专业:网络工程班级:2班作者:张煜荻、吴辉煌、张一东日期:2011年5~6月实验内容题目:设计一个复数计算器。要求:1)所设计的复数计算器可以进行+、-、×运算。2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部、虚部并进行赋值。3)设计算器测试程序,对加减法进行测试,要求在两位数以内,对乘法进行测试,乘法要求为一位数的运算。小组分工姓名学号分工张煜荻20101346062程序设计、代码编写吴辉煌20101346059程序测试、报告撰写张一东20101346061资料查找、程序优化

2、程序源码#include#include#defineEPS1e-5//定义精度为10^-5usingnamespacestd;namespaceNameCalculator//定义空间NameCalculator{classCalculator//定义Calculator类{private:doubleReal,Image;//私有成员:实部Real、虚部Imagepublic:Calculator(doublereal=0,doubleimage=0)//构造函数{Real=real;Image=image;}intoperator==(Calcula

3、tor&com);//等于重载Calculatoroperator+(Calculator&com);//加法重载Calculatoroperator-(Calculator&com);//减法重载Calculatoroperator*(Calculator&com);//乘法重载Calculatoroperator*=(Calculator&com);//乘法赋值重载friendistream&operator>>(istream&is,Calculator&com);//输入重载friendostream&operator<<(ostream&os,Calculator&com);//

4、输出重载};intCalculator::operator==(Calculator&com)//重载等于{if(Real==com.Real&&Image==com.Image)return1;elsereturn0;}CalculatorCalculator::operator+(Calculator&com)//加法重载{Calculatorsum;sum.Real=Real+com.Real;sum.Image=Image+com.Image;returnsum;}CalculatorCalculator::operator-(Calculator&com)//减法重载{Calcu

5、latorsub;sub.Real=Real-com.Real;sub.Image=Image-com.Image;returnsub;}CalculatorCalculator::operator*(Calculator&com)//乘法重载{Calculatormulti;multi.Real=Real*com.Real-Image*com.Image;multi.Image=Real*com.Image+Image*com.Real;returnmulti;}CalculatorCalculator::operator*=(Calculator&com)//重载乘法赋值{double

6、nReal=Real*com.Real-Image*com.Image;doublenImage=Real*com.Image+Image*com.Real;Real=nReal;Image=nImage;return*this;}istream&operator>>(istream&is,Calculator&com)//重载输入{cout<<"请输入复数:";chars[20];is>>s;//用字符串形式接受输入的复数intlen=strlen(s);intn=0,sign=1;com.Image=com.Real=0;for(intk=0;k

7、0'

8、

9、s[k]>'9')&&(s[k]!='+'&&s[k]!='-'&&s[k]!='i')){cout<<"输入错误"<

10、

11、s[k]=='+'))//字符是否是符号{com.Real=sign*n;n=0;//将原n*sign值赋给实部,将n清零,准备接受虚部的值}if(s[k]=='-')//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。