/*
02.* 程序的版权和版本声明部分
03.* Copyright (c)2012, 烟台大学计算机学院学生
04.* All rightsreserved.
05.* 文件名称: object.cpp
06.* 作者:董万鹏
07.* 完成日期: 2013年3 月22 日
*/
#include<iostream>
using namespace std;
#include <cmath>
class NaturalNumber
{private:
int n;
public:
void setValue (int x);//置数据成员n的值,要求判断是否是正整数
int getValue(); //返回私有数据成员n的值
bool isPrime(); //判断数据成员n是否为素数,是返回true,否则返回false
bool isDaffodil(int x);// 判断形式参数x是否是水仙花数。水仙花数的各位数字立方和等于该数,如153=1*1*1+5*5*5+3*3*3
};
void NaturalNumber::setValue(int x)
{
n=x;
if(n>0 && n-(int)n==0)
cout<<n<<"是正整数"<<endl;
else
cout<<"不是正整数"<<endl;
}
int NaturalNumber::getValue()
{
return n;
}
bool NaturalNumber::isPrime()
{
int k,j;
k=sqrt(n);
for(j=2;j<=k;j++)
{
if(n%j==0)
return false;
else
return true;
}
}
bool NaturalNumber::isDaffodil(int x)
{
n=x;
int a,b,c;
a=n%10;
b=n/10%10;
c=n/100;
if((a*a*a)+(b*b*b)+(c*c*c)==n)
return true;
else
return false;
}
void main(void)
{
NaturalNumber nn; //定义类的一个实例(对象)
nn.setValue (6);
cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数" <<endl;
nn.setValue (37);
cout<<nn.getValue()<<(nn.isPrime()?"是":"不是")<<"素数" <<endl;
nn.setValue (284);
cout<<nn.getValue()<<(nn.isDaffodil(284)?"是":"不是")<<"水仙花数"<<endl;
}
第二周项目四
最新推荐文章于 2022-07-02 21:24:24 发布