表达式计算之二:分数的数据结构
来源:互联网 发布:mysql 大量statistics 编辑:程序博客网 时间:2024/04/29 09:41
#include <cmath>
#include <iostream>
using namespace std;
class nums
{
private:
long iUp,iDn;
public:
nums()
{
iUp=0;
iDn=1;
}
void simplification();
void record(double iA,double iB);
void irecord(long iA,long iB);
long return_Up();
long return_Dn();
void display();
friend nums operator + (nums nA,nums nB);
friend nums operator - (nums nA,nums nB);
friend nums operator * (nums nA,nums nB);
friend nums operator / (nums nA,nums nB);
};
void nums::display()
{
if (return_Dn()!=1)
{
cout<<return_Up()<<"/"<<return_Dn();
}
else
{
cout<<return_Up();
}
}
void nums::record(double iA,double iB=1)
{
while ((floor(iA)!=iA)||(floor(iB)!=iB))
{
iA*=10;
iB*=10;
}
iUp=(long) iA;
if (iB!=0)
{
iDn=(long) iB;
}
simplification();
}
void nums::irecord(long iA,long iB)
{
iUp=iA;
iDn=iB;
}
void nums::simplification()
{
int iT,iA,iB;
if (iUp>=iDn)
{
iA=iUp;
iB=iDn;
}
else
{
iA=iDn;
iB=iUp;
}
while (iB!=0)
{
iT=iA;
iA=iB;
iB=iT%iA;
}
iUp/=iA;
iDn/=iA;
if (iDn<0)
{
iDn=-iDn;
iUp=-iUp;
}
}
long nums::return_Up()
{
return iUp;
}
long nums::return_Dn()
{
return iDn;
}
nums operator + (nums nA,nums nB)
{
nums nC;
nC.irecord(nA.return_Up()*nB.return_Dn()+nA.return_Dn()*nB.return_Up(),nA.return_Dn()*nB.return_Dn());
nC.simplification();
return nC;
}
nums operator - (nums nA,nums nB)
{
nums nC;
nC.irecord(nA.return_Up()*nB.return_Dn()-nA.return_Dn()*nB.return_Up(),nA.return_Dn()*nB.return_Dn());
nC.simplification();
return nC;
}
nums operator * (nums nA,nums nB)
{
nums nC;
nC.irecord(nA.return_Up()*nB.return_Up(),nA.return_Dn()*nB.return_Dn());
nC.simplification();
return nC;
}
nums operator / (nums nA,nums nB)
{
nums nC;
nC.irecord(nA.return_Up()*nB.return_Dn(),nA.return_Dn()*nB.return_Up());
nC.simplification();
return nC;
}
- 表达式计算之二:分数的数据结构
- 表达式计算之四:方程的数据结构
- 计算分数加减表达式的值
- 33:计算分数加减表达式的值
- 数据结构之链式栈的应用-简单表达式计算
- 数据结构--计算简单的表达式
- 数据结构_2_表达式的计算
- POJ NOI0105-33 计算分数加减表达式的值
- 数据结构栈之计算后缀表达式
- 第九周 项目二 分数的计算(while 语句)
- 二元的表达式的计算(数据结构)
- 比赛分数的计算
- 计算分数的加减乘除
- 计算分数的和
- 分数的计算。。。
- 小数、分数的计算
- 给定一个表示分数加减表达式的字符串,需要以字符串格式返回计算结果。结果表达式也是分数式
- [数据结构]第二次作业:表达式的计算
- CNNIC《2005年中国搜索引擎市场调查报告》
- CNNIC公布搜索引擎市场报告
- ECO中的对象乐观锁定(Optimistic Locking)
- Basic :“青春长驻”还是“菜鸟陷阱”
- 表达式计算之一:栈
- 表达式计算之二:分数的数据结构
- 表达式计算之三:计算
- 表达式计算之四:方程的数据结构
- 表达式计算之五:方程求解
- const 与 #define的比较
- 到目前为止Delphi 2006中ECO多客户端技术的能与不能
- 开始在这里写点东西了
- (转载)Snort入侵检测系统分析
- LIDS攻略