请大家帮小妹改改程序~~谢谢~~:-)

来源:百度知道 编辑:UC知道 时间:2024/05/17 03:00:17
题目是这样的:
定义一个名为Integer的整数类,具有数据成员d和以下成员函数,成员函数包括GetD()获取d值,SeD(int)设置d值,IsOdd()判断d是否为一个偶数,IsPrime()判断d是否为一个素数,并设计主函数用一个对象分别设置d的值为15和31,编写一个主函数测试这个类。
我的程序:

#include <iostream.h>
class Integer
{
int a;
public:
int GetD()
{return d;}
void SeD(int)
{a=d;}
IsOdd()
{
if(a%2=0)
cout<<"d"<<"是偶数"<<endl;
else
cout<<"a"<<"不是偶数"<<endl;
}
void IsPrime()
{for(int i=1;i<a;i++)
if(a%i=0)
cout<<"d"<<"不是素数"<<endl;
else
cout<<"d"<<"是素数"<<endl;
};
void main()
{
Integer d(15);
d.IsOdd;cout<<endl;
d.IsPrime;cout<<endl;
Integer d(31);
d.IsOdd;cout<<endl;
d.IsPrime;cout<<endl;
}
问题如下:
1.找不出来错,呵呵...我可能就是比较笨... <

#include <iostream.h>
class Integer
{
int d; //题目说数据成员为d,所以在类的声明中都应该是d,下面我
// 都给你改了
public:
Integer(int a) //我看你测试函数写了Integer a(15); 这是要调用构造函数的
{d=a;} //而你没有写构造函数,我就帮你写了一个
int GetD()
{return d;}
void SeD(int a)
{d=a;}
void IsOdd()
{
if(d%2==0)
cout<<"d"<<"是偶数"<<endl;
else
cout<<"d"<<"不是偶数"<<endl;
}
void IsPrime()
{
int temp=0;
for(int i=2;i<d;i++) //判断是否是素数要这样写,否则会有d个输出
{
if(d%i==0) {temp=1;break;}
}
if(temp==1)
cout<<"d"<<"不是素数"<<endl;
else
cout<<"d"<<"是素数"<<endl;
};
};
void main()
{
Integer a(15); //类的实例化的名称不能是一样的。就像变量名,不同的变
//量不能用相同的变量名
a.IsOdd();cout<<endl;
a.IsPrime();cout<<endl;