问题
问答题
[说明]
建立一个分数类,使之具有下述功能:建立构造函数,它能防止分母为0,当分数不是最简形式时进行约分以及避免分母为负数。如
经过类Num(3,-6)的处理,转换为
;
经过类Num(8,10)的处理后,转换为
。
[C++代码]
#include<iostream.h>
#include<math.h>
class Num
public:
Num (int a,int b);
private:
int num1;
int num2;
:
Num:: Num (int a,int b)
if( (1) )
cout<<"ERROR"<<endl;
return;
int min=fabs(a)<fabs (b)fabs (a): fabs (b);
int x=1;
for (int i=1;i<=min;i++)
if( (2) )
x=i;
a/=X;
b/=x;
if( (3) )
a=-a;
b=-b;
(4)
(5)
答案
参考答案:(1)b==0
(2)a%i==0&&b%i==0
(3)b<0
(4)num1=a;
(5)num2=b;
解析:本题中的代码实现了简单的一个分数类的定义,它的构造函数中能防止分母为0,当分数不是最简形式时进行约分以及避免分母为负数。根据功能设计要求,仔细阅读代码可以知道a为分子,b为分母。(1)是判断分母b为零的处理;(2)处实现了当分数不是最简形式时进行约分;(3)处避免分母为负数;(4)、(5)处返回处理完毕的数据。