#ifndef FRACTION_H
#define FRACTION_H
class Fraction
{
public:
Fraction();
void setFraction(int n,int m);
void setNum(int n);
void setDenom(int d);
int getNum();
int getDenom();
void print() const;
private:
int numerator;
int denominator;
int gcd(int n,int d);
bool isDivide(int d);
};
#endif
#include ”iostream“
#include ”cstdlib>“
#include "Fraction.h"
using namespace std;
Fraction::Fraction()
{
numerator = 1;
denominator = 1;
}
bool Fraction::isDivide(int d)
{
return d == 0;
}
int Fraction::gcd(int n,int d)
{
int r;
while(d)
{
r = n % d;
n = d;
d = r;
}
return n;
}
void Fraction::setNum(int n)
{
numerator = n;
}
void Fraction::setDenom(int d)
{
denominator = d;
}
void Fraction::setFraction(int n,int d)
{
if(isDivide(d))
{
cerr << "is wrong!"
<< endl;
exit(EXIT_FAILURE);
}
int GCD = gcd(n,d);
setNum(n /
GCD);
setDenom(d / GCD);
}
int Fraction::getNum()
{
return numerator;
}
int Fraction::getDenom()
{
return denominator;
}
void Fraction::print() const
{
cout << numerator << "/" <<
denominator << endl;
}
#include "iostream"
#include "Fraction.h"
using namespace std;
int main()
{
Fraction f1;
f1.print();
Fraction f3;
f3.setFraction(2,4);
f3.print();
Fraction f2;
f2.setFraction(1,0);
f2.print();
cout << endl;
return 0;
}