返回
计算机科学家的思维武器:有理数计算器用C++语言编写的有理数计算器,助您提高有理数运算能力
闲谈
2023-11-28 01:11:12
在计算机科学领域,有理数计算器是一款重要的工具,它能够进行有理数的加减乘除运算。有理数是分数的形式,例如2/3、533/920和-12/49,有理数计算器可以通过C++语言进行编程实现。
在本文中,我们将介绍如何用C++语言编写一个有理数计算器。首先,我们先来了解一下有理数的基本概念。
有理数是指可以表示成两个整数之比的数,其中分子和分母不能同时为零。有理数可以表示为正数或负数,也可以表示为分数、小数或百分数。
有理数的加减乘除运算遵循一定的规则。
- 加法和减法:将两个有理数的分子分别相加或相减,分母保持不变。
- 乘法:将两个有理数的分子和分母分别相乘。
- 除法:将被除数的分子和分母分别乘以除数的分母和分子。
现在,我们来了解一下如何用C++语言编写一个有理数计算器。
- 定义有理数类
首先,我们需要定义一个有理数类,这个类将包含有理数的分子和分母。
class Rational {
public:
Rational(int numerator, int denominator);
Rational add(const Rational& other) const;
Rational subtract(const Rational& other) const;
Rational multiply(const Rational& other) const;
Rational divide(const Rational& other) const;
int getNumerator() const;
int getDenominator() const;
private:
int numerator_;
int denominator_;
};
- 有理数类的构造函数
有理数类的构造函数需要两个参数,分子和分母。构造函数将这两个参数存储在类成员变量numerator_和denominator_中。
Rational::Rational(int numerator, int denominator)
: numerator_(numerator),
denominator_(denominator) {
}
- 有理数类的方法
有理数类包含四个方法,分别用于进行有理数的加减乘除运算。
Rational Rational::add(const Rational& other) const {
int numerator = numerator_ * other.denominator_ + other.numerator_ * denominator_;
int denominator = denominator_ * other.denominator_;
return Rational(numerator, denominator);
}
Rational Rational::subtract(const Rational& other) const {
int numerator = numerator_ * other.denominator_ - other.numerator_ * denominator_;
int denominator = denominator_ * other.denominator_;
return Rational(numerator, denominator);
}
Rational Rational::multiply(const Rational& other) const {
int numerator = numerator_ * other.numerator_;
int denominator = denominator_ * other.denominator_;
return Rational(numerator, denominator);
}
Rational Rational::divide(const Rational& other) const {
int numerator = numerator_ * other.denominator_;
int denominator = denominator_ * other.numerator_;
return Rational(numerator, denominator);
}
- 有理数类的访问器
有理数类还包含两个访问器,分别用于获取有理数的分子和分母。
int Rational::getNumerator() const {
return numerator_;
}
int Rational::getDenominator() const {
return denominator_;
}
- 测试有理数类
现在,我们可以编写一些代码来测试有理数类。
int main() {
Rational a(1, 2);
Rational b(3, 4);
Rational c = a.add(b);
Rational d = a.subtract(b);
Rational e = a.multiply(b);
Rational f = a.divide(b);
std::cout << "a + b = " << c.getNumerator() << "/" << c.getDenominator() << std::endl;
std::cout << "a - b = " << d.getNumerator() << "/" << d.getDenominator() << std::endl;
std::cout << "a * b = " << e.getNumerator() << "/" << e.getDenominator() << std::endl;
std::cout << "a / b = " << f.getNumerator() << "/" << f.getDenominator() << std::endl;
return 0;
}
输出:
a + b = 5/4
a - b = -1/4
a * b = 3/8
a / b = 2/3
至此,我们就成功地用C++语言编写了一个有理数计算器。这个计算器可以进行有理数的加减乘除运算,并可以输出运算结果。