77范文网 - 专业文章范例文档资料分享平台

江苏科技大学课程实践设计报告VC++

来源:网络收集 时间:2019-03-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

江苏科技大学

课程实践报告

设计题目: 计算机程序设计实践(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 int j=1; class SP while (j<=n){ { f+=power(j,k); int n; j++; int k; } public: return f; SP (int n1,int k1) } { void show() n=n1; { k=k1; cout<>n>>k; } SP s(n,k); int fun ( ) s.show(); { } int f=0;

三.系统测试 对类进行测试,测试数据为 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 process() #include { class STRING int i=0,j=0; { while (str2[j]) char str1[60]; { char str2[40]; str3[i++]=str2[j]; char str3[100]; str3[i++]=str1[j++]; public: } STRING (char *s1,char *s2) while (str1[j]) { { strcpy(str1,s1); str3[i++]=str1[j++]; strcpy(str2,s2); } str3[i]='\\0'; }

}

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 class Fract { int num; int den; public: Fract(int a=0,int b=1) { num=a; den=b; } int ged(int m,int n) { if (m>n) { int t; t=m;m=n;n=t; } int v; for (int k=m;k>0;k--) { if (n%k==0&&m%k==0){ v=k; break; } } return v;

三. 系统测试

测试数据 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++在线全文阅读。

江苏科技大学课程实践设计报告VC++.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/490545.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: