文档介绍:目录1题目内容及设计要求 12总体设计 13 程序清单及注释 14 运行结果与分析 15 总结 26 参考文献 21题目内容及设计要求题目17复数计算器内容及要求:(1)所设计的复数计算器可以进行+-*+=-=*=++-->=<===!=运算符,其中>=<=是针对复数的模进行运算。(2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别出实部虚部并正确赋值。(3)设计计算器测试程序,对加减法进行测试,要求在两位数以内进行,对乘法进行测试,乘法要求为一位数的运算。(4)设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在计算机内,开机时要求用户输入用户名,显示该名户以前的记录。用户记录用包括:做了多少次加减法、乘法、进行测试的次数,后3次的测试平均分等,在退出计算器程序时用心的用户记录代替原有的记录。,首先要搞清复数的运算法则,并使用c++语言表达。复数包含实部与虚部,plex。声明所需成员函数和友元函数对各运算符进行重载。定义各成员函数。定义主函数,实现对整个程序的控制。编译、plex//plex{private:doubleReal,Image;public: CComplex(doublereal=0,doubleimage=0)//构造函数{Real=real;Image=image; }friendistream&operator>>(istream&);//重载输入friendostream&operator<<(ostream&);//plexoperator+();//plexoperator-();//plexoperator*();//plexoperator+=();//plexoperator-=();//plexoperator*=();//plexoperator++();//plexoperator--();//自减doublemod(void);//求复数的模intoperator>();intoperator<();intoperator!=();intoperator==();};plex类,并定义double,real,image;声明类的函数,构造函数,=real+;=imag+;=real-;=imag-;=(real*+imag*)/a;=(imag*-real*)/=real*-imag*;=real*+imag*;Sqrt(real*real=imag*imag);输出c1,c2,c1+c2,c1-c2,c1*c2,c1/c2,∣c1∣的值终止。。。。。。图2-1算法流程图程序清单及注释#include<iostream>#include<cmath>#include<cstdlib>#include<cstring>#include<fstream>#include<ctime>//#defineEPSlen-5//定义精度常数usingnamespacestd;plex//plex{/*-----------------------------------------------------------------------|部分A:|plex的声明和定义,以及结构体类型用户User的定义|----------------------------------------------------------------------*/ /*---------------------------------|plex的声明--------------------------------*/ plex { private: doubleReal,Image;//分别为复数的实部和虚部 public: CComplex(doublereal=0,doubleimage=0)//构造函数{ Real=real;Image=image; } friendistream&operator>>(istream&);//重载输入 friendostream&operator<<(ostream&);//omplexoperator+();//omplexoperator-();//omplexoperator*();//omplexoperator+=();//