ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:95.20KB ,
资源ID:11234596      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11234596.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(复数计算器讲义.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

复数计算器讲义.docx

1、复数计算器讲义C+实验报告实验名称:复数计算器学号: 姓名: 一 目的与要求目的;当我们输入两个复数时,选择加减乘除符号,就能将正确结果输出,实现一个简单的复数计算器的功能;要求:要求:运行流畅,易于进行检查,有较高的可阅读性,呢呢狗狗满足绝大多数情况,没有溢出现象,尽量体现C+封装的编程思想,减少c语句的使用。二 工具以及准备工作工具:vs2015,电脑一台。准备工作:关于数组指针,函数申明与调用的知识。三 分析要实现一个复数计算器的功能,并把复数定义成一个类,那我们就需要把虚部与实部分别定义,然后就可以进行运算。但是输入是一个较为困难的事情,我们如何判断这是复数的虚部还是实部呢,于是我采用

2、权重的方法来进行区分,我们设定一个int n,来记录权重,每录入一个实部的数,就加一,来记录权重,那么虚部前面的符号的权重就不为一,此处,虚部与实部的正负号便区分开来,那么后面的数也可以区分开来,那么后面的运算符重载都是对已有知识的运用。类的定义:class complexnumberprivate: double Real;/实数部分的值 double Image;/虚数部分的值public: complexnumber(double real = 0, double image = 0) Real = real; Image = image; friend istream & operat

3、or(istream & is, complexnumber &com);/重载运算符 friend ostream & operator (istream &is,complexnumber &com) char yunsuanshi80;/定义一个char型数组,方便后面的输入 is yunsuanshi;/将is输入到char型 int len = strlen(yunsuanshi); int n = 0, sign = 1;/n设为权重,sign则是符号 com.Image = 0; com.Real = 0;/实部与虚部的值同样初始化为0; for (int k = 0; k le

4、n; k+) if (yunsuanshik9) & yunsuanshik != +&yunsuanshik!=-&yunsuanshik != i)/判断输入是否有误 cout error endl; return is; for (int k = 0; k len;)/顺序识别字符串中各字符 if (n != 0 & (yunsuanshik = - | yunsuanshik = +)/判断是否虚部的符号位, com.Real = sign*n;/输出实部的值 if (yunsuanshik = -) sign = -1; k+; if (yunsuanshik = +) sign =

5、 1; k+; if (yunsuanshik = i) if (k != len - 1)/如果虚部的i不在最后一位的话,输入错误 cout = 0&yunsuanshik = 9) n = n * 10 + yunsuanshik - 0; k+; if (yunsuanshilen - 1 != i&n != 0) com.Real = n*sign; return is;ostream & operator (ostream &os, complexnumber &com) if (fabs(com.Image) =0.0)/如果虚部的值为零 os com.Real; else if

6、(fabs(com.Real) =0.0)/如果实部的值为零 os com.Image 0)/判断输出的虚部前应带正号和负号 os com.Real + fabs(com.Image) i; else os com.Real - fabs(com.Image) i; return os;complexnumber complexnumber:operator +(complexnumber &com) complexnumber s; s.Real = Real + com.Real; s.Image = Image + com.Image; return s;complexnumber co

7、mplexnumber: operator*(complexnumber &com) complexnumber m; m.Real = Real*com.Real-Image*com.Image; m.Image = Real*com.Image + Image*com.Real; return m;complexnumber complexnumber:operator-(complexnumber &com) complexnumber b; b.Real = Real - com.Real; b.Image = Image - com.Image;return b;complexnum

8、ber complexnumber:operator/(complexnumber &com) complexnumber d; if (com.Real*com.Real + com.Image*com.Image) = 0.0) cout NO ROSOLUTION; else d.Real = (Real*com.Real - Image*com.Image) / (com.Real*com.Real + com.Image*com.Image); d.Image=Real*com.Image+Image*com.Real/ (com.Real*com.Real + com.Image*

9、com.Image); return d;int main() complexnumber a, b, c; cout欢迎 endl; cout 请输入操作数一 a; cout 请输入操作数二 b; cout 请输入选择的运算符: + -*/ d; if(d!=*&d!=+&d!=-&d!=/) cout 选择运算符错误 d; switch (d) case +: c = a + b; cout c; break; case -: c = a - b; cout c; break; case *: c = a * b; cout c; break; case /: c = a / b; cou

10、t c; break; system(pause); return 0;四 实现步骤 1. 看清实验要求,并思考,确定大致思路2. 打开visual studio 20153. 创建新项目4. 确定算法并进行学习尔后添加所需要的必要库文件5. 开始编写代码6. 进行检查7. 运行并调试8. 完善功能五 测试与结论测试结果如下:1.加法2乘法3.减法4.除法六 实验总结在此次实验中,实现的功能十分简单,也没有什么创新性的功能,但我觉得这其中比较巧妙的是,使用权重来进行复数符号位的判定,并且为了便于使用,加入了输入报错功能。就我自身的感触而言,代码行数明显加长,函数数量与质量都有增长,有一种做工程的感觉(因为真的是做好之后一个一个的调用)。正因为如此,函数调用起来也需要经常翻页查看功能,在最后还出现了一个bug,弄了好久才消掉(其实现在回过头来看这个bug真的是一个小细节没有想清楚),想着以后可能会打成千上万行的代码,觉着这还是为自己提了个醒,程序员必须把自己写的程序当亲儿子养才行。总之,在这次实验中,体会到了细心与耐心是程序员两个必备的素质,自己也要向这方面努力啊。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1