江苏科技大学
课程实践报告
设计题目: 程序设计(VC++)实践 设计时间: 2014-9-1 至 2014-9-5
学 院: 计算机科学与工程学院 专业班级: 通信工程 学生姓名: 张伟 学号 1341903135 指导老师: 束 鑫
2014年 09月
}
试题一
一、程序设计基本题
试建立一个类SP,求f(n,k)=1k +2k+3k+?+nk ,另有辅助函数power(m,n)用于求mn 。 具体要求如下:
(1)私有成员函数。
? int n,k:存放公式中n和k的值;
(2)公有成员函数。
? SP(int n1,int k1):构造函数,初始化成员数据n和k。 ? int power(int m,int n):求mn 。 ? 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循环语句来实现求mn的值 for(int i=1;i 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 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 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 p=s/n; //求数组中所有元素之和的平均值 int a,b,min=array[0],max=array[0]; cout<<\平均值:\ for(i=0;i if(max } //求所有元素中的最大值 for(i=0;i } //求所有元素中的最小值 array[a]=min; array[b]=max; } 三、系统测试 在主函数中初始化MOVE的对象move,并调用其成员函数exchange( )和print( )输出测试结果。 主函数定义如下: