分数运算

本文深入探讨了分数的基本运算,包括加减乘除,以及如何简化分数。通过实例解析,阐述了分数运算的步骤和注意事项,适用于初学者和需要巩固基础知识的开发者。
摘要由CSDN通过智能技术生成

头文件:

#ifndef FRACTION_H_INCLUDED
#define FRACTION_H_INCLUDED
#ifndef FRACTION_H
#define FRACTION_H

#include <iostream>
#include <istream>
#include <cmath>
#include <math.h>
# include <time.h>
#include <stdlib.h>  //atoi()
#include <ctype.h>  //atof()
#include <string>
#include <stdio.h>


using namespace std;

class Fraction;

Fraction operator + (Fraction f1,Fraction f2);   //实现分数的加法

Fraction operator - (Fraction f1,Fraction f2);    //实现分数的减法

Fraction operator * (Fraction f1,Fraction f2);    //实现分数的乘法

Fraction operator / (Fraction f1,Fraction f2);      //实现分数的除法

bool operator >(Fraction f1,Fraction f2);//重载>

bool operator >=(Fraction f1,Fraction f2);//重载>=

bool operator < (Fraction f1,Fraction f2);//重载<

bool operator <= (Fraction f1,Fraction f2);//重载<=

bool operator ==(Fraction f1,Fraction f2);//重载==

bool operator != (Fraction f1,Fraction f2);//重载!=

Fraction str2Frac(char * strX);//将串strX转化为分数:返回分数(外部函数)。

istream& operator >>(istream&input,Fraction& f);

ostream& operator <<(ostream&output,const Fraction& f);


Fraction simplify(Fraction f);//用辗转相除法化简分数:外部函数

Fraction simplify(int numerator, int denominator);//用辗转相除法化简分数

Fraction simplify_other(int numerator, int denominator);//其他化简方法



class Fraction  //分数类
{
public:
	Fraction(int Numerator=0,int Denominator=1):numerator(Numerator),denominator(Denominator) //根据所给数构造一个分数Numerator/Denominator
	{
		simplify();
	}
	Fraction(const Fraction & f):numerator(f.numerator),denominator(f.denominator){}  //复制构造函数
	Fraction(char * strX);//由串strX构造一个分数
	Fraction simplify();	//化简分数
	bool str2Frac(char * strX); //将串strX转化为分数:串中有不合法的字符,返回false

	int getNumerator()//返回分子
	{
		return numerator;
	}

	int getDenominator()//返回分母
	{
		return denominator;
	}

	Fraction & operator = (const Fraction &f);//重载=

	friend Fraction operator + (Fraction f1,Fraction f2);//重载加法
	friend Fraction operator - (Fraction f1,Fraction f2);//重载减法
	friend Fraction operator * (Fraction f1,Fraction f2);//重载乘法
	friend Fraction operator / (Fraction f1,Fraction f2);//重载除法
	friend istream& operator >>(istream&,Fraction&);  //重载输入流
	friend ostream& operator << (ostream&,const Fraction&);//重载输出流
	friend bool operator > (Fraction f1,Fraction f2);//重载>
	friend bool operator <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值