哈理工B9c++实验报告.docx

上传人:b****6 文档编号:8668088 上传时间:2023-02-01 格式:DOCX 页数:13 大小:103.81KB
下载 相关 举报
哈理工B9c++实验报告.docx_第1页
第1页 / 共13页
哈理工B9c++实验报告.docx_第2页
第2页 / 共13页
哈理工B9c++实验报告.docx_第3页
第3页 / 共13页
哈理工B9c++实验报告.docx_第4页
第4页 / 共13页
哈理工B9c++实验报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

哈理工B9c++实验报告.docx

《哈理工B9c++实验报告.docx》由会员分享,可在线阅读,更多相关《哈理工B9c++实验报告.docx(13页珍藏版)》请在冰豆网上搜索。

哈理工B9c++实验报告.docx

哈理工B9c++实验报告

 

计算机实践

C/C++程序设计报告

 

指导教师

学号

学生姓名

专业

班级

电话

成绩

 

二〇一三年六月廿八日

一.设计题目

题目编号:

B9

题目名称:

在C/C++语言环境下实现复数运算:

复数的乘法、除法和乘幂运算。

二.题目的意义

该程序需要建立一个复数类complex;定义复数类成员函数乘除等等,利用类成员函数的重载,进行乘法、除法、乘幂运算,据此产生一个运算的式子,从而实现复数计算的功能。

三.程序设计功能图

程序由4个功能模块(函数)组成,功能模块图如下:

 

图3-1程序设计功能图

表3-1主函数main()说明

模块名称

main

模块功能

主函数

模块说明

产生随机数、调用乘法,除法,乘幂运算

类型

变量名

初值

值域

变量说明

double

a[]

实部

double

b[]

虚部

double

c[]

计算结果

double

d[]

实部备份

double

e[]

虚部备份

int

n

int

i

0

控制循环次数

int

x

1

main()函数程序代码如下:

/************************

*学号:

1201010719

*姓名:

武思文

*班级:

电气12-7班

*题目代码:

B9

*程序功能:

在C/C++环境下实现复数乘法、除法、乘幂的运算。

************************/

#include"iostream.h"

#include"math.h"

doublea[2],b[2],c[2],d[2],e[2];//a实部,b虚部,c计算结果

d实部备份e虚部备份

//乘法

voidMul()

{

c[0]=a[0]*a[1]-b[0]*b[1];

c[1]=b[0]*a[1]+a[0]*b[1];

}

//除法

voidDiv()

{

c[0]=(a[0]*a[1]+b[0]*b[1])/(a[1]*a[1]+b[1]*b[1]);

c[1]=(b[0]*a[1]-a[0]*b[1])/(a[1]*a[1]+b[1]*b[1]);

}

//乘幂

voidPow()

{

intn;

n=floor(a[1]);

d[0]=a[0];

d[1]=a[1];

e[0]=b[0];

e[1]=b[1];

a[1]=a[0];

b[1]=b[0];

for(inti=0;i

{

if(i!

=0)

{

a[0]=c[0];

b[0]=c[1];

}

Mul();

}

a[0]=d[0];

a[1]=d[1];

b[0]=e[0];

b[1]=e[1];

}

voidinput()

{

cout<<"输入第一个复数:

"<

复数a+bi,请输入ab,退出请输入-9990"<

cin>>a[0]>>b[0];

cout<<"输入第二个复数:

"<

cin>>a[1]>>b[1];

}

intmain()

{

intx=1;

while

(1)

{

input();

if(a[0]==-999.0&&b[0]==0)

break;

if(a[1]==-999.0&&b[1]==0)

break;

while(x!

=0)

{

cout<<"请输入运算类型:

"<

(1)乘法运算"<

(2)除法运算"<

cin>>x;

cout<

switch(x)

{case1:

Mul();

cout<<"乘法结果:

"<

case2:

Div();

cout<<"除法结果:

"<

case3:

Pow();

cout<<"乘幂结果:

"<

case4:

x=0;

}

}

}

return0;

}

表3-2乘法函数mul()说明

模块名称

voidmulti

模块功能

乘法运算

模块说明

根据公式算出两复数乘积

类型

变量名

初值

值域

变量说明

double

a[]

实部

double

b[]

虚部

double

c[]

计算结果

double

d[]

实部备份

double

e[]

虚部备份

int

n

int

i

0

控制循环次数

int

x

1

mul()函数程序代码如下:

//乘法

voidMul()

{

c[0]=a[0]*a[1]-b[0]*b[1];

c[1]=b[0]*a[1]+a[0]*b[1];

}

表3-3除法函数div()说明

模块名称

div

模块功能

除法运算

模块说明

产生除法运算的式子,得出结果

类型

变量名

初值

值域

变量说明

double

a[]

实部

double

b[]

虚部

double

c[]

计算结果

double

d[]

实部备份

double

e[]

虚部备份

int

n

int

i

0

控制循环次数

int

x

1

 

//除法

voidDiv()

{

c[0]=(a[0]*a[1]+b[0]*b[1])/(a[1]*a[1]+b[1]*b[1]);

c[1]=(b[0]*a[1]-a[0]*b[1])/(a[1]*a[1]+b[1]*b[1]);

}

表3-4函数multi()说明

模块名称

Pow

模块功能

乘幂运算

模块说明

根据乘幂运算公式,得出两复数乘幂结果

类型

变量名

初值

值域

变量说明

double

a[]

实部

double

b[]

虚部

double

c[]

计算结果

double

d[]

实部备份

double

e[]

虚部备份

int

n

int

i

0

控制循环次数

int

x

1

pow()函数程序代码如下:

voidPow()

{

intn;

n=floor(a[1]);

d[0]=a[0];

d[1]=a[1];

e[0]=b[0];

e[1]=b[1];

a[1]=a[0];

b[1]=b[0];

for(inti=0;i

{

if(i!

=0)

{

a[0]=c[0];

b[0]=c[1];

}

Mul();

}

a[0]=d[0];

a[1]=d[1];

b[0]=e[0];

b[1]=e[1];

}

四.详细设计

 

图4-1主程序流程图

 

五.程序运行结果

图5-1代码编辑界面截图

图5-2运行界面截图

六.调试、分析及总结

No

遇到问题

解决措施

1

函数怎么进行分支

运用switch语句

2

输入-9900,如何退出

通过while

(1)死循环,与if从句进行判定

3

复数的乘方运算表达式不懂

查找资料

4

怎样定义复数

分别用a.b代表实部和虚部

5

写函数时很多函数多次重复写出

先定义函数,后调用函数。

6

7

对本次设计的收获,对本课程的认识及思考。

对C/C++的接触、认识、使用有了更深一步的了解。

此程序让我知道了使用switch语句,执行不同命令下的子函数。

同时,利用while,if循环体的使用,来选择和判断结果。

 

六.参考资料

1.VisualC++从入门到精通(第2版)清华大学出版社2010、

2.大学C/C++程序设计案例教程中国铁道部出版社2010

4.

七.综合评分

以下内容任课教师填写

序号

考察主项

教师评语

得分

备注

1

完成题目情况

2

代码格式规范

3

题目难度系数

4

创新性

5

实验报告文档

6

平时成绩

7

成绩合计

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

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1