江科大c++实践报告册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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( )输出测试结果。 主函数定义如下: