fraction.cpp
来自「一个二十四点的游戏」· C++ 代码 · 共 103 行
CPP
103 行
#include <iostream>
#include <stdlib.h>
using namespace std;
void fmzero()
{
cerr<<"the fm can't be zero!"<<endl;
system("PAUSE");
}
class Fraction
{
public:
int fz;
int fm;
Fraction(int x=0,int y=1);
Fraction(const Fraction&);
Fraction &operator=(const Fraction&);
Fraction operator+(const Fraction&);
Fraction operator-(const Fraction&);
Fraction operator*(const Fraction&);
Fraction operator/(const Fraction&);
};
Fraction::Fraction(int x,int y)
{
if(!y)fmzero();
fz=x;
fm=y;
}
Fraction::Fraction(const Fraction &x)
{
if(!x.fm)fmzero();
fz=x.fz;
fm=x.fm;
}
Fraction &Fraction::operator=(const Fraction &x)
{
if(!x.fm)fmzero();
fz=x.fz;
fm=x.fm;
return (*this);
}
Fraction Fraction::operator+(const Fraction &x)
{
if(!x.fm)fmzero();
Fraction tmp;
tmp.fm=(this->fm)*(x.fm);
tmp.fz=(x.fm)*(this->fz)+(this->fm)*(x.fz);
return tmp;
}
Fraction Fraction::operator-(const Fraction &x)
{
if(!x.fm)fmzero();
Fraction tmp;
tmp.fm=(this->fm)*(x.fm);
tmp.fz=(x.fm)*(this->fz)-(this->fm)*(x.fz);
return tmp;
}
Fraction Fraction::operator*(const Fraction &x)
{
if(!x.fm)fmzero();
Fraction tmp;
tmp.fz=(this->fz)*(x.fz);
tmp.fm=(this->fm)*(x.fm);
return tmp;
}
Fraction Fraction::operator/(const Fraction &x)
{
if((!x.fm)||(!x.fz))fmzero();
Fraction tmp;
tmp.fz=(this->fz)*(x.fm);
tmp.fm=(this->fm)*(x.fz);
return tmp;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?