江科大c++实践报告册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江苏科技大学

课程实践报告

设计题目: 程序设计(VC++)实践

设计时间: 2014-9-1 至2014-9-5

学院: 计算机科学与工程学院

专业班级: 通信工程

学生姓名: 张伟学号********** ****: **

2014年09月

}

试题一

一、程序设计基本题

试建立一个类SP,求f(n,k)=1k +2k+3k+…+n k ,另有辅助函数power(m,n)用于求m n 。

具体要求如下:

(1)私有成员函数。

●int n,k:存放公式中n和k的值;

(2)公有成员函数。

●SP(int n1,int k1):构造函数,初始化成员数据n和k。

●int power(int m,int n):求m n 。

●int fun( ):求公式的累加和。

●void show( ):输出求得的结果。

(3)在主程序中定义对象s,对该类进行测试。

二、系统设计

1、概要设计

通过类SP的成员函数power()求出m的n次方的值,再通过成员函数fun( )调用power( )函数求出f(n,k)的值。

2、详细设计

①类的定义如下:

class SP

{

int n,k;

public:

SP(int n1,int k1){}

int power(int m,int n){}

int fun ( ){}

void show( )

};

②类的主要成员函数的设计

int power(int m,int n)

{

int p=1; //用for循环语句来实现求m n的值

for(int i=1;i

p=p*m;

return p;

}

int fun(int n,int k)

{

s=0; //用for循环语句来实现公式的累加和

for(int j=1;j<=n;j++)

s+=power(j,k);

return s;

}

三、系统测试

在主函数中初始化SP的对象s,并调用其成员函数show( )输出测试结果。

主函数定义如下:

void main( )

{

int n,k;

cin>>n>>k;

SP s(n,k);

s.power(n,k);

s.fun(n,k);

s.show( );

}

用以测试的数据为:

2 3

预期的输出结果为:

9

四、实践小结

这道题值得注意的是在成员函数fun( )中调用了函数power( ),还有对for循环语句的熟练运用。

五、源程序清单

#include

class SP

{

int n,k,s;

public:

SP(int n1,int k1){

n=n1;

k=k1;}

int power(int m,int n){

int p=1;

for(int i=1;i

p=p*m;

return p;

}

int fun(int n,int k){

s=0;

for(int j=1;j<=n;j++)

s+=power(j,k);

return s;

}

void show()

{

cout<<"和为"<

}

};

void main()

{

int n,k;

cin>>n>>k;

SP s(n,k);

s.power(n,k);

s.fun(n,k);

s.show();

}

试题二

一、程序设计基本题

建立一个类MOVE,将数组中最大元素的值与最小元素的值互换。

具体要求如下:

(1)私有成员函数

●int *array:一维整型数组。

●int n:数组中元素的个数。

(2)公有成员函数

●MOVE(int b[ ],int m):构造函数,初始化成员数据。

●void exchange():输出平均值,并将数组中的元素按要求重新放

置。

●void print():输出一维数组。

●~MOVE:析构函数。

(3)在主程序中用数据{21,65,43,87,12,84,44,97,32,55}对该类进行测试。

二、系统设计

1、概要设计

根据数组中元素的个数开辟一个动态数组空间array,通过类MOVE的成员函数exchange()输出一维数组的平均值,并把数组中最大元素和最小元素的位置相互交换,并把新的数组放在开辟的动态数组空间中。程序结束前释放为array 分配的动态空间。

2、详细设计

①类的定义如下:

class MOVE

{

int *array;

int n;

public:

MOVE(int b[ ],int m){}

void exchange( ){}

void print( ){}

~MOVE( ){}

};

②类的主要成员函数的设计

void exchange()

{

float p,s=0;

for(int i=0;i

s+=array[i];

p=s/n; //求数组中所有元素之和的平均值int a,b,min=array[0],max=array[0];

cout<<"平均值:"<

for(i=0;i

{

if(max

{

max=array[i];

a=i;

}

} //求所有元素中的最大值

for(i=0;i

{

if(min>array[i])

{

min=array[i];

b=i;

}

} //求所有元素中的最小值

array[a]=min;

array[b]=max;

}

三、系统测试

在主函数中初始化MOVE的对象move,并调用其成员函数exchange( )和print( )输出测试结果。

主函数定义如下:

相关文档
最新文档