预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C++课程设计试验汇报姓名学号班级合作者学号班级任课老师时间老师指定题目复数计算器评定难易等级A级试验汇报成绩复数计算器程序功效设计程序功效总体结构复数计算器程序总体功效可设计成图1所表示,能够看出,复数计算器多种功效全部用菜单选项列出,用户能够依据需要选择对应菜单项,从而实施不一样子程序以完成对应功效。2.课程设计要求一开始运行程序,要有具体菜单选项界面,用户不选择退出就能够反复运算。能够进行多个操作数复数运算,输入0+0*i时为止。编写能够对输入复数求模组员函数。编写含有测试功效函数,即计算机能够自动出题,并要求用户计算,同时计算机判定用户计算对错并打分,要求十题为一个单元,每题一个运算符,运算符包含+,-,*三种,参与加减运算实部虚部为一位数。重载输入输出运算符,对复数输入既可采取实部虚部分开提醒输入,也可直接输入诸如a+i*b或a+ib这种形式,对复数输出要考虑实部虚部正负号,经过判定给出输出结果。开始输出菜单及提醒信息输入选择是否做加法N是否做减法NY是否进行测试N加法子程序Add()Y......……减法子程序Y测试子程序是否退出NY结束程序设计思想1)类封装程序中将复数形式数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数加减等运算像通常数据一样方便.每个运算符重载全部用一个函数去实现。参考类定义以下: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-(CComplex&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等形式。重载输入运算符应该能识别这么形式多样复数。所以在重载输入函数时要综合考虑上述多种输入形式。可行处理方法是:在重载输入函数中,设计用(3)设计任务要求2在程序中设计一个复数运算测试函数Test(),其功效是让计算机随机出10道运算题,用户给出答案,同时计算机实时判定对错并能够打分。这个函数关键是让计算机随机产生复数对象和运算符,计算机内部有一个随机数发生器,能够产生一个固定次序整型随机数序列,调用语句为“inta=rand();”这时,a就是该随机数发生器产生随机数。因为产生随机书数在整数范围内,为测试方便,按程序设计要求,产生随机复数对象实部和虚部在100以内,运算符只有加减两种。所以,需要对产生随机数进行深入处理,用随机数模除以除以100,产生出100以内随机整数;一样,用随机数模除以3,能够产生出0、1、3三个随机数据,定义0为加法,1为减法,2为乘法,这么就能够产生出随机复数对象加减乘运算了。能够参见图2测试子程序Test()结构框图。设置循环次数为10用两个随机数初始复数对象3产生8个100以内随机数随机数最终两个随机数初始复数对象4前两个随机数初始复数对象1用户输入结果两对象相乘后两个随机数初始复数对象2结果是否正确产生2以内随机数opNY总分加10Op为0两对象相减两对象相加用户输入结果用户输入结果结果是否正确结果是否正确NN输出犯错信息输出犯错信息输出犯错信息YY总分加10总分加10输出总分结束(4)设计任务要求3在程序中重载了>>运算符,其功效是让用户能够直接输入a+bi,a+b*i两种形式复数,其结构框图图3所表示。以字符串形式接收复数对象求字符串长度初试化目前数值n=0,字符变量sign=1字符串是否存在非法字符Y输犯错误信息,函数返回是否判别完字符串中全部字符NY最终一个字符不是‘i’且n!=0目前字符为+、-号,同时n!=0N复数对象只有实部,前面取出数值赋给实部N前面取出数值赋给实部,n=0N结束目前字符是否是‘+’NSign=1,k++目前字符是否是‘-’NSign=-1,