C++课程设计报告复数计算器Word格式文档下载.docx

上传人:b****2 文档编号:820138 上传时间:2023-04-29 格式:DOCX 页数:17 大小:338.84KB
下载 相关 举报
C++课程设计报告复数计算器Word格式文档下载.docx_第1页
第1页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第2页
第2页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第3页
第3页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第4页
第4页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第5页
第5页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第6页
第6页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第7页
第7页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第8页
第8页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第9页
第9页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第10页
第10页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第11页
第11页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第12页
第12页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第13页
第13页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第14页
第14页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第15页
第15页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第16页
第16页 / 共17页
C++课程设计报告复数计算器Word格式文档下载.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C++课程设计报告复数计算器Word格式文档下载.docx

《C++课程设计报告复数计算器Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告复数计算器Word格式文档下载.docx(17页珍藏版)》请在冰点文库上搜索。

C++课程设计报告复数计算器Word格式文档下载.docx

㈠系统功能设计

根据题目要求,系统需要实现四则计算,根据复数的运算法则,四则运算的计算如下:

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;

㈡类设计

定义Complex类:

1.实部real,虚部imagdoublereal,imag;

2.构造函数:

Complex(){},Complex(doubler,doublei){}

3.析构函数:

~Complex(){}

4.加法重载:

c){}

5.减法重载:

Complexoperator-(Complex&

6.乘法重载:

7.除法重载:

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"

;

\t**************************菜单**************************\n"

\t1:

多复数加法,以0结束\n"

\t2:

多复数减法,以0结束\n"

\t3:

多复数乘法,以0结束\n"

\t4:

多复数除法,以0结束\n"

\t0:

退出程序\n\n:

\t请您选择:

cin>

>

strChoise;

if(strcmp(strChoise,"

1"

)==0)//用户选1则调用Add()函数

Add();

elseif(strcmp(strChoise,"

2"

)==0)//用户选2则调用Sub()函数

Sub();

3"

)==0)//用户选3则调用Mul()函数

Mul();

4"

)==0)//用户选4则调用Div()函数

Div();

0"

)==0)//用户选0则结束调用函数

\n\n\t欢迎下次继续使用复数计算器!

\n\n"

else

\n\t输入错误,请按任意键继续!

\n"

}

}

㈣流程图

四、主程序

㈠代码

#include<

iostream>

cmath>

cstring>

usingnamespacestd;

classComplex

{

public:

doublereal,imag;

Complex()

{

real=0.0;

imag=0.0;

Complex(doubler,doublei)//构造函数

real=r;

imag=i;

~Complex()

{}

if(real==c.real&

&

imag==c.imag)

return1;

else

return0;

};

voidAdd()//复数加法运算函数

doublea,b,c,d;

加法计算\n"

最少输入两个复数,并且以0结束\n"

第1个复数的实部和虚部:

a>

b;

第2个复数的实部和虚部:

c>

d;

Complexnum1(a,b),num2(c,d),sum,zero(0,0);

sum=num1+num2;

doublex,y;

第3个复数的实部和虚部:

x>

y;

Complexnum(x,y);

inti=4;

while(!

(num==zero))

sum=sum+num;

第"

i<

个复数的实部和虚部:

num.real=a;

num.imag=b;

i++;

if(sum.imag>

0)

加法结果是:

sum.real<

+"

sum.imag<

j"

endl;

else

请按任意键继续\n"

voidSub()//复数减法运算函数

减法计算\n"

Complexnum1(a,b),num2(c,d),sub,zero(0,0);

sub=num1-num2;

sub=sub-num;

if(sub.imag>

减法结果是:

sub.real<

sub.imag<

voidMul()//复数乘法运算函数

乘法计算\n"

Complexnum1(a,b),num2(c,d),mul,zero(0,0);

mul=num1*num2;

mul=mul*num;

if(mul.imag>

乘法结果是:

mul.real<

mul.imag<

voidDiv()//复数除法运算函数

doublea,b,c,d;

除法计算\n"

Complexnum1(a,b),num2(c,d),div,zero(0,0);

div=num1/num2;

while((num!

=zero))

div=div/num;

if(div.imag>

除法结果是:

div.real<

div.imag<

㈡运行结果

1.加法运算

2.减法运算

3.乘法运算

4.除法计算

五、不足之处

在测试的环节中,界面的结构不够人性化,不如加法算完后要重新进入才能继续算减法。

六、心得体会

通过这一次的课程设计,我自己有了很大的收获,不仅仅是在C++的知识上,更有在问题的处理能力上的一个很大的提升。

大学更多的是要我们将理论熟练地运用到实际中。

可是,因为上学期的学习本来就不够深入,所以在一开始的时候我的心里满是忐忑,生怕自己完成不了。

可是在慢慢的摸索中,我发现其实这并没有我想像的那么可怕。

在一次一次的思考中,运行中,我不仅对程序的结构有了深入的了解,而且甚至上学期的部分疑难问题都在最近得到了解决。

所以说实践能够检验理论,还能够加深我们对知识的记忆,因此,我在以后的学习中也会牢记这点,不仅要记住知识,更要运用知识解决实际的问题。

七、参考文献

陈家骏郑淘编著《程序设计教程用C++语言编程》第二版机械工业出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2