江苏科技大学
课程实践报告
设计题目: 计算机程序设计实践(VC++) 设计时间: 2010 - 03-01 至 2010- 03-07 学 院: 专业班级: 学生姓名: 学号 指导老师:
2010年03月
实践一
一、 实践任务
1.基础题 第2题:
试建立一个类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) 系统功能分析
本系统主要实现函数f(n,k)=1k + 2k + 3k + …… + nk的求值。 (2) 类的定义与描述 (3) 编写源程序如下: #include
三.系统测试 对类进行测试,测试数据为 2 3;
预期输出结果为 9
四.实验小结 此题的关键是fun函数中条件的控制,通过此次实践,熟悉了类的基本构造,学会了用类来求解函数。 五.参考文献:
[1] 潘克勤,华伟 《Visual C++程序设计》 北京:中国铁道出版社,2008
[2] 张晓如,王芳 《Visual C++程序设计解析与实训》 北京:中国铁道出版社,2008
实践二
一.实践任务
2.基础题 第12题:
建立一个STRING,将一个字符串交叉插入到另一个字符串中(假定两字符串不等长)。例如将字符串“abcde”交叉插入字符串“ABCDEFG”的结果为“aAbBcCdDeEFG”或“AaBbCcDdEeFG”。 具体要求如下:
(1) 私有数据成员
● char str1[60]:存放被插入的字符串 ● char str2[40]:存放待插入的字符串 ● char str3[100]:存放插入后的字符串
(2) 共有成员函数
● STRING(char *s1,char*s2):构造函数,用s1和s2初始化str1和str2 ● void process():将str2中的字符串插入到str1中,存放到str3中 ● void print():输出插入后的字符串
(3) 在主程序中定义STRING类的对象test对该类进行测试 二.系统设计 (1)系统功能分析 本系统主要实现将一个字符串交叉插入到另一个字符串中。
(2) 类的定义与描述 (3) 编写源程序如下:#include
}
void print () { cout< 三.系统测试 预期输出结果:aAbBcCdDeEFG void main () { STRING test(\ test.process(); test.print(); } 四.实验小结 通过本次实验,进一步了解了拷贝构造函数和while语句的使用。使用while语句时要控制好循环体执行的条件才能保证程序的正常运行。 五.参考文献: [1] 潘克勤,华伟 《Visual C++程序设计》 北京:中国铁道出版社,2008 [2] 张晓如,王芳 《Visual C++程序设计解析与实训》 北京:中国铁道出版社,2008 实践三 一.实践任务 3.基础题 第23题: 分数相加,两个分数分别是1/5和7/20,他们相加后得11/20,方法是先求出两个分数分母的最小公倍数,通分后,再求两个分子的和,最后约减结果分数的分子和分母,即用分子分母的最大公约数分别除分子和分母。求m、n最大公约数的一种方法是:将m、n较小的一个数赋值给变量k,然后分别用{k,k-1,k-2,……,1}中的数去除m和n,第一个能把m和n同时除尽的数就是m和n的最大公约数。假定m、n的最大公约数是v,则它们的最小公倍数就是m*n/v。试建立一个分数类Fract,完成两个分数相加的功能。 具体要求如下: (1) 私有数据成员 ● int num,den:num为分子,den为分母 (2) 共有成员函数 ● Fract (int a=0,int b=0):构造函数,用a和b分别初始化分子num、分母den ● int ged (int m,int n):求m、n的最大公约数。此函数供成员add()函数调用 ● Fract add (Fract f):将参数分数f与对象自身相加,返回约简后的分数对象 ● void show ():按照num/den的形式在屏幕上显示分数 (3) 在主程序中定义两个分数对象f1和f2,其初值分别是1/5和7/20,通过f1调用成员函数add 完成f1和f2的相加,将得到的分数赋给对象f3,显示分数对象f3。 二. 系统设计 (1) 系统功能分析 本系统主要实现两个分数的相加,并将结果化为最简形式后以分数的形式输出。 (2) 类的定义与描述 (3) 编写源程序如下: #include 三. 系统测试 测试数据 1/5 7/20 预期输出结果 11/20 } Fract add (Fract f) { int fm,fz,v; fm=den*f.den/ged(den,f.den); num=fm/den*num; f.num=fm/f.den*f.num; fz=num+f.num; v=ged(fz,fm); fm=fm/v; fz=fz/v; Fract F(fz,fm); return F; } void show() { cout< void main () { Fract f1(1,5),f2(7,20),f3; f3=f1.add (f2); f3.show(); } 四.实验小结 通过本次实践,我巩固了分数的表示方法及最小公倍数的求法。本题的难点在于add函数,要注意再函数中定义一个类的对象并通过返回类的对象获得结果。 五.参考文献: [1] 潘克勤,华伟 《Visual C++程序设计》 北京:中国铁道出版社,2008 [2] 张晓如,王芳 《Visual C++程序设计解析与实训》 北京:中国铁道出版社,2008 实践四 一.实践任务 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库江苏科技大学课程实践设计报告VC++在线全文阅读。
相关推荐: