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

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

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

4.基础题 第25题:

建立一个类NUM,并统计待定序列中相同的字符的个数。 具体要求如下:

(1) 私有数据成员

● char data[25]:随机生成25个字符

● int num[128]:储存每个字符出现的次数

(2) 共有数据成员

● NUM(int data):构造函数,同时初始化数组data ● void process():统计数组data中每个字符出现的个数,并保存到数组num中 ● void print():输出每个出现过的字符及其出现的个数,每行输出5个没有出现过的字符

不显示

(3) 在主程序中定义一个对象,对该类进行测试。 二.系统设计 (1) 系统功能分析 本系统主要实现统计待定序列中相同的字符的个数。

(2) 类的定义与描述 (3) 编写源程序如下:#include } #include void print() class NUM { int count=0; { char data[25]; for (int i=33;i<128;i++) int num[128]; { if (num[i]!=0) public: { count++; NUM() cout<32&&t<=127) } data[i++]=char (t);} } } cout<

三.系统测试

四. 实验小结

本次实践开始忽视了字符和整型的转化,导致调试运行时老报错,而且,由于此题牵扯到随机字符的产生,所以在编写程序时一定不要忘记文件包含< stdlib.h>。 五.参考文献:

[1] 潘克勤,华伟 《Visual C++程序设计》 北京:中国铁道出版社,2008

[2] 张晓如,王芳 《Visual C++程序设计解析与实训》 北京:中国铁道出版社,2008

实践五

一.实践任务

5.基础题 第27题:

建立一个类NUM,求指定数据范围内的所有素数。 具体要求如下:

(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,通过test调用成员函数完成求素数

及输出素数的工作。原始数据为{4,5,9,11,36,29,31,101,56,199}

二.系统设计 (1) 系统功能分析

本系统主要实现求指定数据范围内素数的个数,并将这些素数输出。 (2) 类的定义与描述 (3) 编写源程序如下:#include leap=0; #include if (i>x-1) class NUM leap=1; { int data[10]; return leap; int prime[10]; } int num; void process () public: { int i=0; NUM (int n[]) for( int j=0;j<10;j++) { num=0; { for(int i=0;i<10;i++) if (isprime (data[j])) data [i]=n[i]; { prime[i++]=data[j]; } num++; int isprime (int x) } { int leap; } if (x==0||x==1) } {}; void print() for (int i=2;i

} 是:\

}; cout<<\素数为:\

for (int i=0;i

三.系统测试

测试数据:4,5,9,11,36,29,31,101,56,199 预期输出结果:素数的个数是:6 素数为: 5 11 29 31

101 199

四.实验小结

本题相对来说很简单,主要就是素数的判断,而素数的判断经过多次的练习已经熟练 掌握。

五.参考文献:

[1] 潘克勤,华伟 《Visual C++程序设计》 北京:中国铁道出版社,2008

[2] 张晓如,王芳 《Visual C++程序设计解析与实训》 北京:中国铁道出版社,2008

实践六

一.实践任务

6.提高题 第6题:

设计一个大学师生类,包括学生类(Student),教师类(Professor),职员类(Staff),教师类是职员类的派生类。另有一类既作为学生又兼做助教的,可作为学生类和职员类的派生类(StudentStaff)。另外定义一个所有类的父类(DataRec)。 具体要求如下:

(1) DataRec类中数据成员又姓名,家庭住址,定义为指针变量。成员函数有构造函数,析构函

数,输出函数,strsave函数。输出函数定义为虚函数。Strsave函数用来动态申请内存空间,拷贝参数中的字符串,返回内存空间的首地址。因为所有的派生类都要用到,设置为保护权限

(2) Student类数据成员有专业、学号,专业定义为指针变量。Staff类数据成员有部门、计时薪酬,

部门定义为指针变量。Professor类数据成员有工资,这三个类都有输出函数,用来输出自己的数据成员

(3) StudentStaff类多重继承学生类和职员类。成员函数有输出函数 (4) DataRec类可以定义为虚基类 (5) 每个类中数据成员定义为私有的

(6) 编写main函数,测试上述所要求的各种功能。 二.系统设计 1.概要设计 (1)系统功能分析 本系统的功能是存储大学师生的基本信息,如:姓名,家庭住址,专业,部门等。 (2)类的层次图:

DataRec Student Staff StudentStaff Professor

2.详细设计

(1)类的描述与定义

? 基类DataRec有2个保护成员,定义如下:

class DataRec{ //基类 protected: char *name; //姓名 char *address; } //地址

? 学生类有2个私有成员,定义如下:

class Student:DataRec{ //学生类

private: char* major; //专业 int number;} //学号

? 员工类有2个保护成员,定义如下: class Staff:DataRec { //员工类 protected: char* department; //.部门 double t_salary;} //计时工资

? Professor类有一个私有成员,定义如下: class Professor:Staff { //professor 类 private: double salary;} //工资 (4) 主要成员函数设计

? 基类的构造函数定义如下:

DataRec(char *nam,char *addr) { name=strsave(nam);

address=strsave(addr);}

? 基类的析构函数定义如下:

~DataRec(){

delete [ ]name; delete [ ]address;}

? 基类中strsave函数定义如下:

?

?

?

?

?

?

?

?

?

?

?

char* strsave(char *s){

char* r=new char[strlen(s)+1]; strcpy(r,s); return r;}

基类中输出函数的功能没有必要先定义,将其说明为纯虚函数,其具体实现在派生类中定义:

virtual void Output()=0;

Student类的构造函数定义如下:

Student(char *nam,char *addr,char* majo,int num):DataRec(nam,addr) { major=strsave(majo);

number=num;}

Student类的析构函数定义如下: ~Student() { delete []major;}

Student 类的输出函数定义如下: void Output() { cout<

cout<

cout<<\Staff类的构造函数定义如下:

Staff(char *nam,char *addr,char* depar,double t_sala):DataRec(nam,addr){

department=strsave(depar); t_salary=t_sala;}

Staff类的析构函数定义如下: ~Staff(){

delete [] department;}

Staff类的输出函数定义如下: void Output(){

cout<Professor(char *name, char *addr, char* depar, int t_sala, double salar):Staff (nam,addr,depar,t_sala)

{ salary=salar;}

Professor类的输出函数定义如下: void Output(){

Staff::Output();

cout<<\StudentStaff类构造函数定义如下:

StudentStaff(char *nam,char *addr,char* majo,int num,int salar,char* depar,double t_sala):Student(nam,addr, majo, num),Staff(nam,addr, depar, t_sala)

{};

StudentStaff 类的输出函数定义如下: void Output(){

Student::Output();

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库江苏科技大学课程实践设计报告VC++(2)在线全文阅读。

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