VC++课程实践报告模板 下载本文

江苏科技大学

课程实践报告

设计题目: 计算机程序设计实践(VC++) 设计时间:

2015. 3.9 至 2015. 3.16

学 院: 机械工程学院

专业班级: 14级机械设计制造及其自动化1班 学生姓名: 夏梦婷

学号 1340202101

指导老师: 华 伟

2015 年 5 月 1 日

一、 实践任务

任务一:建立一个类Integer_String,把一个正整数转换为字符串。 具体要求如下: (1)私有数据成员

? int num:要转换的正整数。

? char *s:用动态空间存储转换得到的字符串。 (2)公有成员函数

? Integer_String(int n):用参数n初始化数据成员num。 ? int f():求数据成员num的位数。

? void fun():把正整数num转换为字符串s。 ? void show():输出数据成员num和s; ? ~Integer_String():释放动态空间。

(3)在主函数中对定义的类进行测试。用正整数12345初始化类Integer_String的对

象test,调用相关成员函数后输出转换结果。 任务二:格式要求同上。 ……

任务六:

二、系统设计

任务一

1. 任务(系统)分析

通过类Integer_String的成员函数f()求出数据成员num的位数,并以此为依据给数据成员s分配大小适当的动态空间,在成员函数fun()中依次取出num的各位数字并转换成对应字符后存入数据成员s,程序结束前释放为s分配的动态空间。类的定义如下: class Integer_String{ int num; char *s; public: Integer_String(int); int f(); void fun(); void show(); ~Integer_String(); };

2. 算法设计

(1)求整数(设num为正整数)num的位数

定义变量d(1)表示num(n)的位数,以n>10作为循环条件,每循环一次d的值增加一位,n去掉一位(n/=10),循环结束后d的值就是n的位数。为保持num的值不变,把其赋给变量n,通过n求num的位数。

(2)把整数num转换为字符串s ①取出num(n)的个位并转换为字符,然后赋给s的首字符(char *p=s):*p=n+'0'; ②去掉n的个位:n/=10;

③p指向s的下一位:p++;

④重复①②步直至n==0(循环条件为:n!=0,即n);

⑤给字符串s添加结束标记,并指向最后一个字符:*p--='\\0';

⑥把字符串s逆序:使p1指向s的首字符:char *p1=s,交换*p1和*p,然后p1指向后一个字符、p指向前一个字符:p1++,p--;直到p1和p相遇(循环条件为:p1

3. 系统测试

在主函数中以整数初始化Integer_String的对象,并调用其成员函数show()输出测试结果(整数num和字符串s)。主函数定义如下: void main() { Integer_String test=12345; test.fun(); test.show(); }

用以测试的整数为: 12345

预期的输出结果为: 整数为:12345 字符串为:12345

任务二

1. 任务(系统)分析 2. 算法设计 3. 系统测试

任务三 ……

任务六 ……

三、实践小结

(说明:主要写实践心得、实践中遇到的问题,是如何解决的。)

四、参考文献

[1] 齐治昌. 软件工程[M]. 北京:高等教育出版社出版,2004,35-60

[2] 钱雪忠. 数据库与SQL Server 2005教程[M]. 北京:清华大学出版社,2007,194-365 [3] 张荣梅,梁晓林等. Visual C++实用教程[M]. 北京:中国铁道出版社,2008,31-48 ……

五、源程序清单

任务一

#include class Integer_String{ int num; char *s; public: Integer_String(int n) { num=n; } int f() { int d=1,n=num; while(n>10) { d++; n/=10; } return d; } void fun() { int n=num,len=f(); s=new char[len+1]; for(char *p=s,*p1=s;n;p++) { *p=n+'0'; n/=10; } *p--='\\0'; while(p1

} };

void main() { Integer_String test=12345; test.fun(); test.show(); }

任务二 ……

任务六 ……