c++课程设计复数计算器

c++课程设计复数计算器

ID:7226077

大小:136.00 KB

页数:20页

时间:2018-02-07

c++课程设计复数计算器_第1页
c++课程设计复数计算器_第2页
c++课程设计复数计算器_第3页
c++课程设计复数计算器_第4页
c++课程设计复数计算器_第5页
资源描述:

《c++课程设计复数计算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C++课程设计实验报告姓名学号班级合作者学号班级任课教师时间教师指定题目复数计算器评定难易级别A级实验报告成绩复数计算器程序功能设计1.程序功能的总体结构复数计算器的程序总体功能可设计成如图1所示,可以看出,复数计算器的各种功能都用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能。2.课程设计要求(1)一开始运行程序,要有详细的菜单选项界面,用户不选择退出就可以反复运算。(2)可以进行多个操作数的复数运算,输入0+0*i时为止。(3)编写可以对输入的复数求模的成员函数。(4)编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算,同时计算机判断用户

2、计算的对错并打分,要求十题为一个单元,每题一个运算符,运算符包括+,-,*三种,参与加减运算实部虚部为一位数。(5)重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入,也可直接输入诸如a+i*b或a+ib这种形式,对复数的输出要考虑实部虚部的正负号,通过判断给出的输出结果。开始输出菜单及提示信息输入选择是否做加法N是否做减法NY是否进行测试N加法子程序Add()Y......……减法子程序Y测试子程序是否退出NY结束1.程序设计思想1)类的封装程序中将复数形式的数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数的加减等运算像一般数据一样方便.每个运算符重载都用

3、一个函数去实现。参考类的定义如下:classCComplex{private:doubleReal,Image;public:CComplex(doublereal=0,doubleimage=0)//构造函数{Real=real;Image=image;}friendistream&operator>>(istream&is,CComplex&com);//重载输入friendostream&operator<<(ostream&os,CComplex&com);//重载输出CComplexoperator+(CComplex&com);CComplexoperator-(CComple

4、x&com);//减法重载CComplexoperator*(CComplex&com);//乘法重载CComplexoperator/(CComplex&com);//除法重载intoperator==(CComplex&com);intoperator!=(CComplex&com);intoperator>(CComplex&com);intoperator<(CComplex&com);floatModule(void);//复数求模};(2)设计的任务要求1在实际应用中,输入复数可能为a+bi,a,bi,-a,-bi,+i.–i.I等形式。重载输入运算符应该能识别这样形式多样的复

5、数。所以在重载输入函数时要综合考虑上述各种输入形式。可行的处理方式是:在重载输入函数中,设计用(3)设计的任务要求2在程序中设计一个复数运算的测试函数Test(),其功能是让计算机随机出10道运算题,用户给出答案,同时计算机实时判断对错并可以打分。这个函数的关键是让计算机随机产生复数对象和运算符,计算机内部有一个随机数发生器,可以产生一个固定顺序的整型随机数序列,调用语句为“inta=rand();”这时,a就是该随机数发生器产生的随机数。由于产生的随机书数在整数范围内,为测试方便,按程序设计要求,产生的随机复数对象实部和虚部在100以内,运算符只有加减两种。因此,需要对产生的随机数进行进

6、一步的处理,用随机数模除以除以100,产生出100以内的随机整数;同样,用随机数模除以3,可以产生出0、1、3三个随机数据,定义0为加法,1为减法,2为乘法,这样就可以产生出随机的复数对象的加减乘运算了。可以参见图2测试子程序Test()结构框图。设置循环次数为10用两个随机数初始复数对象3产生8个100以内的随机数随机数最后两个随机数初始复数对象4前两个随机数初始复数对象1用户输入结果两对象相乘后两个随机数初始复数对象2结果是否正确产生2以内的随机数opNY总分加10Op为0两对象相减两对象相加用户输入结果用户输入结果结果是否正确结果是否正确NN输出出错信息输出出错信息输出出错信息YY总

7、分加10总分加10输出总分结束(4)设计的任务要求3在程序中重载了>>运算符,其功能是让用户能够直接输入a+bi,a+b*i两种形式的复数,其结构框图如图3所示。以字符串的形式接受复数对象求字符串长度初试化当前数值n=0,字符变量sign=1字符串是否存在非法字符Y输出错误信息,函数返回是否判别完字符串中所有字符NY最后一个字符不是‘i’且n!=0当前字符为+、-号,同时n!=0N复数对象只有实部,前面取出的数值赋给实部

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

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

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