您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C++课程设计报告复数计算器
C++课程设计报告课程设计题目:复数计算器姓名:学号:专业:班级:指导教师:年月日目录一﹑概述...........................................................................................................................................1二、系统分析...................................................................................................................................1㈠系统的实现.....................................................................................................................1㈡实现的基本功能.............................................................................................................1㈢拓展.................................................................................................................................1三、设计...........................................................................................................................................2㈠系统功能设计.................................................................................................................2㈡类设计.............................................................................................................................3㈢函数设计.........................................................................................................................3㈣流程图.............................................................................................................................5四、主程序.......................................................................................................................................5㈠代码.................................................................................................................................5㈡运行结果.......................................................................................................................10五、不足之处.................................................................................................................................13六、心得体会.................................................................................................................................13七、参考文献.................................................................................................................................131一﹑概述题目:复数计算器1.实现复数的四则运算。2.设计数字选择功能菜单,根据输入的数字选择执行不同的功能。二、系统分析㈠系统的实现根据题中任务的功能,首先要搞清楚复数的运算法则,并使用C++语言表达,复数包括实部和虚部,其形式可以表示成a+bj。表现出这种形式的关键是定义一个复数类Complex,定义所需的成员函数,对各运算符进行重载,并定义主函数实现对整个程序的控制,最后进行编译,运行和调试。㈡实现的基本功能由用户输入复数的实部和虚部,对不少于两个的复数进行加减乘除四则运算,当用户输入的复数为0是停止四则运算,输出a+bj形式的计算结果。㈢拓展为使用户可以进行多个复数的计算以及使他们自由选择所需计算的复数个数,特定义了两个重载!=和==函数,若复数输入的是0,那么计算结束。2三、设计㈠系统功能设计根据题目要求,系统需要实现四则计算,根据复数的运算法则,四则运算的计算如下:1.复数的加法Complexoperator+(Complex&c)//加法重载{Complexsum;sum.real=real+c.real;//实部相加sum.imag=imag+c.imag;//虚部相加returnsum;}2.复数的减法Complexoperator-(Complex&c)//减法重载{Complexsub;sub.real=real-c.real;//实部相减sub.imag=imag-c.imag;//虚部相减returnsub;}3.复数的乘法Complexoperator*(Complex&c)//乘法重载{Complexmulti;multi.real=real*c.real-imag*c.imag;//实部乘积multi.imag=real*c.imag+imag*c.real;//虚部乘积returnmulti;}4.复数的除法Complexoperator/(Complex&c)//除法重载{Complexdiv;div.real=(real*c.real+imag*c.imag)/(c.real*c.real+c.imag*c.imag);//实部除积div.imag=(imag*c.real-real*c.imag)/(c.real*c.real+c.imag*c.imag);//虚部除积returndiv;3}㈡类设计定义Complex类:1.实部real,虚部imagdoublereal,imag;2.构造函数:Complex(){},Complex(doubler,doublei){}3.析构函数:~Complex(){}4.加法重载:Complexoperator+(Complex&c){}5.减法重载:Complexoperator-(Complex&c){}6.乘法重载:Complexoperator*(Complex&c){}7.除法重载:Complexoperator/(Complex&c){}8.重载==:intComplex::operator==(Complex&c){}9.重载!=:intComplex::operator!=(Complex&c)㈢函数设计1.多个复数四则运算的设计①voidAdd(){}//复数加法运算函数②voidSub(){}//复数减法运算函数③voidMul(){}//复数乘法运算函数④voidDiv(){}//复数除法运算函数2.主函数的设计数字选择功能菜单,根据输入的数字选择执行不同的功能。用户输入复数的实部,虚部,从而得到计算结果。voidmain()//主函数开始{charstrChoise[20];//定义字符串名system(cls);cout\t这是一个复数计算器,可以实现以下功能,请按对应的按键(0-4)\n\n\n;cout\t**************************菜单**************************\n;cout\t1:多复数加法,以0结束\n;cout\t2:多复数减法,以0结束\n;4cout\t3:多复数乘法,以0结束\n;cout\t4:多复数除法,以0结束\n;cout\t0:退出程序\n\n:;cout\t请您选择:;cinstrChoise;if(strcmp(strChoise,1)==0)//用户选1则调用Add()函数Add();elseif(strcmp(strChoise,2)==0)//用户选2则调用Sub()函数Sub();elseif(strcmp(strChoise,3)==0)//用户选3则调用Mul()函数Mul();elseif(strcmp(strChoise,4)==0)//用户选4则调用Div()函数Div();elseif(strcmp(strChoise,0)==0)//用户选0则结束调用函数{cout\n\n\t欢迎下次继续使用复数计算器!\n\n;}else{cout\n\t输入错误,请按任意键继续!\n;}}5㈣流程图四、主程序㈠代码#includeiostream#includecmath#includecstringusingnamespacestd;classComplex{public:doublereal,imag;Complex()进入选择并输入复数减法复数加法复数乘法复数除法退出输出重新选择及输入6{real=0.0;imag=0.0;}Complex(doubler,doublei)//构造函数{real=r;imag=i;}~Complex(){}Complexoperator+(Complex&c)//加法重载{Complexsum;sum.real=real+c.real;//实部相加sum.imag=imag+c.imag;//虚部相加returnsum;}Complexoperator-(Complex&c)//减法重载{Complexsub;sub.real=real-c.real;//实部相减sub.imag=imag-c.imag;//虚部相减returnsub;}Complexoperator*(Complex&c)//乘法重载{Complexmulti;multi.real=real*c.real-imag*c.imag;//实部乘积multi.imag=real*c.imag+imag*c.real;//虚部乘积returnmulti;}Complexoperator/(Complex&c)//除法重载{Complexdiv;div.real=(real*c.real+imag*c.imag)/(c.real*c.real+c.imag*c.imag);//实部除积div.imag=(imag*c.
本文标题:C++课程设计报告复数计算器
链接地址:https://www.777doc.com/doc-2904400 .html