VC++课程实践报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

江苏科技大学

课程实践报告

设计题目: 计算机程序设计实践(VC++) 设计时间: 2012. 3.27 至2012. 3.4

学院: 机械工程学院

专业班级: 机械电子工程专业10402062班学生姓名: 王磊学号1040206223

指导老师: 华伟

2012年3月1日

一、实践任务

任务一:建立一个STRING,,将一个字符串交叉插入到另一个字符串中(假设两字符串等长)。

具体要求如下:

(1)私有数据成员

●char str1[80]:存放被插入的字符串。

●char str2[40]:存放待插入的字符串。

(2)公有成员函数

●STRING(char*s1,char*s2):构造函数,用s1和s2初始化str1和str2。

●void process():将str2中的字符插入到str1中。

●void print():输出插入后的字符串。

(3)在主函数中定义STRING类的对象test对该类进行测试。

任务二:建立一个STRING,,将一个字符串交叉插入到另一个字符串中(假设两字符串不等长)。

具体要求如下:

(1)私有数据成员

●char str1[80]:存放被插入的字符串。

●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对该类进行测试。

任务三:建立一个类NUM,并统计特定序列中相同的数字的个数。

具体要求如下:

(1)私有数据成员

●int data[25]:随机生成25个在0-9之间的数字。

●int num[10]:储存每个数字出现的个数。

(2)公有成员函数

●NUM(int data):构造函数,初始化数组data。

●Void process( ):。数组data中每个数字出现的个数,并保存到数组num

中。

●void print():输出每个数字出现的个数,每行输出5个。

(3)在主程序中定义一个对象,对该类进行测试。

任务四:建立一个类NUM,求指定数据范围内所以的素数。提示:素数定义是“只能被1和它本身整除的整数”,即质数。

(1)私有数据成员

●int data[10]:依次存放原始数据。

●int prime[10]:存放指定数据内所求出的所以素数。

●int num:存放素数个数。

(2)公有成员函数

●NUM(int n[ ]):构造函数,用参数n初始化data,同时初始化num为0。

●Int isprime(int x):判断x是否为素数。若是素数,返回1,否则,返回0。

●void process():求指定data数组中的所有素数,把它们依次存放在数组prime

中,并求出素数的个数赋给num。

●void print():输出求出的素数个数级所有素数,每行输出4个素数。

(3)在主函数中完成对该类的测试。定义NUM类对象test调用成员函数完成求素数及输出素数的工作。原始数据为{4,5,6,11,36,29,1,101,56,199}。

任务五:试定义一个类ID,实现根据某人身份证号码判断在其指定年份时的虚岁年龄。具体要求如下:

(1)私有数据成员

●char id[19]:存放身份证号码,身份证号码为18位。

●int age:根据身份证号码和指定年份计算后得到的虚岁年龄。

(2)公有成员函数

●ID(char *p):构造函数,利用参数p初始化身份证号码。

●Int substr(char *p0,char n0,int n):取字符串p0中从第n0个字符开始的连续

n个字符(假设都是数字字符)并按顺序转换为相应的整数值,结果作为函数

的返回值。

●void fun(int y1):计算相对某个年份一,该身份证号码主人的虚岁年龄。对于

18位身份证,从第七位(序号从1开始)开始的四位数字为其出生年份。

●void print():打印身份证号码及其年龄。

(3)在主程序中对该类进行测试。

任务六:试定义一个类NUM,实现对于给定的任意整数,求出其降序数。

具体要求如下:

(1)私有数据成员

●int n:存放一个整数。

●int m:存放n的降序数。

(2)公有成员函数

●NUM(int x=0):参数x初始化数据成员n。

●void decrease():求数据成员n的降序数,并存到数据成员m中。

●void print():按输入/输出示例格式输出原整数及其降序数。

(3)在主函数中对该类进行测试。

任务七:试定义一个类NUM,实现求大于整数m的最小的k个自反数。

(1)私有数据成员

●int *p:p指向用于储存满足条件的k个自反数的动态数组。

●int m,k:

(2)公有成员函数

●NUM(int t1,int t2):构造函数,用参数t1、t2分别初始化m、k,并为p分配

相应的存储空间。

●Int isinv(int n):判断整数n是否为自反数,如果是,则返回1,否则返回0.

●void fun():根据题意将求的的自反数按从小到大的顺序存放到p所指向的动

态数组中。要求利用成员函数isinv()来判断某个整数是否为自反数。

●void print():按输出示例格式输出满足条件的自反数。

●~NUM():析构函数,释放动态内存。

(3)在主函数中对该类进行测试。

任务八:。试定义一个类Num,其功能是求出1000以内满足所有下列条件的整数:(1)该整数是一个素数,(2)其各位数字之和和它的平方数的各位数字之和相等。

具体要求如下:

(1)私有数据成员

●Int a[20];;存放结果。

●Int count;结果数组的元素个数。

(2)公有成员函数

●Num();构造函数。设置count的初始值为0。

●int prime(int x);判断参数x是否为素数,如果是返回1,否则返回0。

●int digitsum(int x);计算参数x的各位数字之和,并返回计算的结果。

●void fun();找出1000以内所有满足条件的数,并存放到数组a中,同时计数。

●void print();按输出示例格式输出所有满足条件的数。

(3)在主函数中完成对该类的测试。

二、系统设计

任务一

1. 任务(系统)分析

通过类STRING的成员函数process()将s1,s2中的字符赋给str1,str2。

类的定义如下:

class STRING{

private:

char str1[80];

char str2[40];

public:

STRING(char*s1,char*s2){

strcpy(str1,s1);

strcpy(str2,s2);

}

相关文档
最新文档