ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:40.91KB ,
资源ID:7328643      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7328643.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++实验类和对象普通数学题计算.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++实验类和对象普通数学题计算.docx

1、C+实验 类和对象普通数学题计算实验报告实验九 类和对象(1)一、实验目的1掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2掌握类对象的定义;3理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数。二、实验内容1. 输入以下程序,并写出程序的输出结果。定义一个描述三角形的类Tri,具体要求如下:(1)私有数据成员double a, b, c: 三角形的三边。(2) 公有成员函数Tri(double x, double y, doubl

2、e z):构造函数,用x, y, z 初始化a, b,c, 对指定的对象初始化。double Peri( ) : 求三角形的周长。double Area( ): 求三角形的面积。void Show( ): 输出三角形的各种参数(边长、周长、面积)。(3) 在主程序中定义两个三角形对象:三角形tri1, 边长分别为3,4,5,三角形tri2,边长分别为5,6,7,用构造函数初始化这两个对象a,然后输出这两个三角形的各种参数。将文件命名为。#include#includeclass Tri double a,b,c; 根据程序要求,完善程序后输入源程序,编译连接,并写出运行结果。如果某个自然数除了

3、1和它本身外还有其他因子,则这个自然数就是合数(非素数)。试定义一个类NUM,从3开始向上试探找出n个连续的自然数,且它们都是合数。当找到第一组连续n个合数后,即停止查找。具体要求如下:(1) 私有数据成员:int n : 存放满足条件的连续自然数的个数。int *p: 根据n的值申请一个动态数组用来存放求出的满足条件的n个自然数。(2) 公有成员函数。NUM(int n1):构造函数,用n1初始化n,根据n的值申请动态数组空间,使p指向该动态数组空间。int yes(int x):判定x是否为合数。如果是,返回1,否则返回0。void fun(): 从3开始向上试探找出n个连续的自然数,且它

4、们都是合数,并依次放入动态数组。void print(): 输出满足条件的n个合数。NUM(): 析构函数,释放动态数组所占用的存储空间。(3) 在主函数中定义一个NUM类的对象num, 求出10个连续的合数。然后通过对象num调用成员函数求出10个连续的合数,并输出计算结果。将文件命名为。#includeclass NUM 仿照样例程序编写程序定义一个字符串类STR,从左到右对字符串中每个字符删除其后所有相同的字符,只留下第一次出现的那一个。例如,若字符串为cocoon,删除重复出现的字符后,其结果是字符串con。具体要求如下:(1) 私有数据成员:char *s1: 指向原字符串,存放字符

5、串的空间需动态分配。char *s2: 指向结果字符串,存放字符串的空间需动态分配。(2) 公有成员函数STR(char *str):构造函数,用str初始化s1,动态分配s1和s2指向的空间。void delsame( ):删除重复出现的字符。void show( ):输出原字符串和结果字符串。STR( ):析构函数,释放动态分配的存储空间。(3) 在主函数中定义一个STR类的对象test, 用字符串concoon初始化test, 通过调用成员函数完成删除工作,输出删除前后的两个字符串。代码:#include#include using namespace std;class STRpriv

6、ate: char *s1; char *s2;public: STR(char *str):s1(str) s2 = new charstrlen(str)+1; 进阶提高圆盘找数问题。定义一个圆盘类Circle,用20个随机数组成一个圆(首尾相接),分别求出连续的四个数之和为最大的四个数及其和值)以及连续的四个数之和为最小的四个数(输出整个数列、最大、最小的四个数及其和值。)具体要求如下:(1) 私有数据成员int num20: 存放生成的20个随机数int Max4: 存放20个随机数中连续4个数之和中最大的那4个连续的数int Min4: 存放20个随机数中连续4个数之和中最小的那4个

7、连续的数int sum_max: 存放20个随机数中连续4个数之和中最大的和int sum_min: 存放20个随机数中连续4个数之和中最小的和(2) 公有成员函数:Circle(): 构造函数, 用20个随机数初始化圆盘中的num数组void Find_Max(): 圆盘类的主要操作, 寻找符合条件(和为最或最小)的连续的4个数void Show(void): 输出圆盘类的整个数列,最大、最小的四个数及其和值(3) 在主函数中定义一个Circle类的对象cir, 用20个随机数初始化该对象cir,通过调用成员函数完成题目要求的任务。将文件命名为。要求:代码:#include#includeu

8、sing namespace std;class Circlepublic:Circle();/ 圆盘类的主要操作, 寻找符合条件(和为最或最小)的连续的4个数 void Find_Max();void Find_Min();void Show(void);/ 输出圆盘类的整个数列,最大、最小的四个数及其和值private:int num20;/: 存放生成的20个随机数 int Max4;/: 存放20个随机数中连续4个数之和中最大的那4个连续的数 int Min4;/: 存放20个随机数中连续4个数之和中最小的那4个连续的数 int sum_max;/: 存放20个随机数中连续4个数之和中

9、最大的和 int sum_min;/: 存放20个随机数中连续4个数之和中最小的和;Circle:Circle() srand(time(0); for(int i(0);i20;i+) numi = rand();void Circle:Show(void) int i; cout圆盘的所有数为:endl; for(i=0;i20;i+) coutnumi ; coutendl; cout圆盘的最大连续4个数为:endl; for(i=0;i4;i+) coutMaxi ; coutendl; cout其和值为:sum_maxendl; cout圆盘的最小连续4个数为:endl; for(i

10、=0;i4;i+) coutMini ; coutendl; cout其和值为:sum_minendl;void Circle:Find_Max() int max_index=0; for(int i(0);i20;i+) int t=0; for(int k=0;k4;k+) / 连续4个数之和 int n; n=(i+k)%20; t += numn; if(i=0) sum_max = t; else if( sum_max t) sum_max = t; max_index = i; for(int k=0;k4;k+) int n; / 存放20个随机数中连续4个数之和中最大的那4

11、个连续的数 n=(max_index+k)%20; Maxk = numn; void Circle:Find_Min() int min_index=0; for(int i(0);i20;i+) int t=0; for(int k=0;k t) sum_min = t; min_index = i; for(int k=0;kFind_Max(); cir-Find_Min(); cir-Show(); delete cir; cir = 0; return 0;程序的输出为三、实验总结 本次实验难度非常的大。首先指针使用不熟练,使用经常错误。逻辑混乱错误。类的方面要多多注意私有成员是不可以直接访问。只能用类内的方法访问才行!总之要多多努力才行!指针方面太抽象了,一开始是能看懂,用起来真是一塌糊涂!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1