一个C++的题目!急救啊!!会我或者发我邮箱 645267152@qq.com在线等答案!!急救!

试设计一个类用于对整数进行判别,并根据判别的结果分别统计所判别过的正整数、负
整数和零的个数,并能格式显示其统计结果。
1 该类的名称由用户自行确定,例如类名为IntChecker。
2 该类应有三个私有整型数据成员,分别作为存放所判别过的正、负整数和零个数的
计数器。建议用于存放正整数个数的数据成员名可以命名为 positiveCount,用于
存放负整数个数的数据成员名可以命名为 negativeCount,而用于存放零个数的数
据成员名可以命名为zeroCount。
3 在该类缺省的无参数的构造函数中,需要添加将存放正、负整数零个数的三个数据
成员的初始值设置为0的操作代码。
4 该类应拥有一个接口成员函数为Check(int n), 用于判别由参数n传递的整数值是
正整数、负整数还是零,并分别修改所对应的数据成员的值。
5 该类还应拥有另一个接口成员函数Show(),用于格式显示三个数据成员中保存的判
别统计结果。例如,显示格式和内容可以按如下所示:
所判别的整数共 XXX 个
其中正整数 XXX 个,负整数 XXX 个,零XXX 个。

要求:
1 在程序中实现类IntChecker的定义,并在类定义的外部实现包括构造函数在内的各
个成员函数的定义。
2 在程序中定义1个类外全程函数CheckInputValue,该函数的原型声明如下:
void CheckInputValue(int in[], int num, IntChecker checker);
该函数的功能是使用IntChecker类对象checker对整数数组in中的num个数据依
次判别,并统计数组元素中的正、负数和零的个数。
3 在程序的主函数main中按顺序实现以下功能:
•从键盘输入至少20个(正/负/零)整数,并将它们存放在一个预先定义的整型数
组中。
•创建一个IntChecker类对象,用于对数组中所有整数的判别统计。
•使用存放输入整数的数组、数组元素个数和所创建的IntChecker类对象作为实参
调用全程CheckInputValue。
•调用IntChecker类对象的接口函数Show() 显示对输入的20个整数的判别统计
结果;
检查运行结果是否正确?如果发现运行结果是错误的,请将函数CheckInputValue的
定义的第三个参数修改为:
void CheckInputValue(int in[], int num, IntNTChecker &checker);
而无须修改函数体中的操作代码。

第1个回答  推荐于2016-01-11
#include <iostream>
using namespace std;

class IntChecker
{
public:
IntChecker( );
void Check( int i );
void Show( );

private:
int negativeCount;
int positiveCount;
int zeroCount;
};

IntChecker::IntChecker( )
: negativeCount( 0 ), positiveCount( 0 ), zeroCount( 0 )
{
}

void IntChecker::Check( int i )
{
if( i > 0 )
positiveCount++;
else if( i < 0 )
negativeCount++;
else
zeroCount++;
}

void IntChecker::Show( )
{
cout << "所判别的整数共" << positiveCount + negativeCount + zeroCount << endl;
cout << "其中正整数共" << positiveCount << ",负整数共" << negativeCount << ",零共" << zeroCount << endl;
}
void CheckInputValue( int in[ ], int num, IntChecker & checker)
{
for( int i = 0; i < num; i++ )
checker.Check( in[ i ] );
checker.Show( );
}

int main( )
{
int a[ 1000 ];
for( int i = 0; i < 20; i++ )
cin >> a[ i ];
IntChecker checker;
CheckInputValue( a, 20, checker );

system( "pause" );
return 0;
}
有问题,可以问我。这个程序,不可以吗?可以的话,加分啊本回答被提问者采纳
第2个回答  2011-05-14
这个 得自己想 只靠别人 毫无意义啊

...会我或者发我邮箱 645267152@qq.com在线等答案!!急救!
include <iostream> using namespace std;class IntChecker { public:IntChecker( );void Check( int i );void Show( );private:int negativeCount;int positiveCount;int zeroCount;};IntChecker::IntChecker( ): negativeCount( 0 ), positiveCount( 0 ), zeroCount( 0 ){ } void IntChecker...

相似回答