即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

C++第五次实验

编程语言 joahHu 10℃ 0评论
一、问题及代码 :
/*
* 文件名称:TEST.cpp
* 作    者:胡嘉威
* 完成日期:2017 年 4 月 24 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:编写函数设计一个“正整数”类,并通过一系列的成员函数对其性质进行做出判断或列出相关联的数值。                                         
* 输入描述:无
* 问题描述:编写函数设计一个“正整数”类,并通过一系列的成员函数对其性质进行做出判断或列出相关联的数值。 
* 程序输出:  6不是素数
            37是素数
            84的因子有:
            1 2 3 4 6 7 12 14 21 28 42 84
            8不是水仙花数
            6是完全数
            66不是28的逆向数
            大于1,且小于数据成员n的水仙花数有:
            153
* 问题分析:大体上还是函数循环、if条件语句及数组的应用,引入了很多新的有关类的知识,但是形式改变了一下
* 算法设计:
*/ 
#include
using namespace std;
class NaturalNumber
{
private:
    int n;
public:
    void setValue (int x);   //置数据成员n的值,要求判断是否是正整数
    int getValue();         //返回私有数据成员n的值
    bool isPrime();         //判断数据成员n是否为素数,是返回true,否则返回false
    void printFactor();      //输出数据成员n的所有因子,包括1和n自身
    bool isPerfect();        //判断数据成员n是否为完全数。若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。
    bool isReverse(int x);   //判断形式参数x是否为数据成员n的逆向数(例321是123的逆向数)。
    bool isDaffodil(int x);   //判断形式参数x是否是水仙花数。水仙花数的各位数字立方和等于该数,如153=1*1*1+5*5*5+3*3*3
    void printDaffodils();   //显示所有大于1,且小于数据成员n的水仙花数;
};
void NaturalNumber::setValue (int x)
{
    if(x<=0)
    {
        cout<<"输入错误!";
    }
    else
    {
        n=x;
    }
}
int NaturalNumber::getValue()
{
    return n;
}
bool NaturalNumber::isPrime()                   //判断数据成员n是否为素数,是返回true,否则返回false
{
    int i,k=0;
    for(i=2; i

二、运行结果 :

三、心得体会 :

       C++类的知识有点新,开始的时候在格式上错误了几次,幸好被改正过来了;努力很久终于把代码写好了,有点开心。

四、知识点总结 :

       类的定义、类中私有形参的调用、类内及类外函数的声明和定义格式;数组内元素的储存与提取;for循环的应用;if条件语句的应用。

转载请注明:CodingBlog » C++第五次实验

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情