分数四则运算 C++代码
时间: 2023-07-10 16:43:28 浏览: 76
以下是一个简单的分数四则运算的 C++ 代码,可以进行加、减、乘、除和比较运算:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Fraction {
private:
int numerator; // 分子
int denominator; // 分母
public:
Fraction(int n, int d) {
numerator = n;
denominator = d;
}
void reduce() {
int gcd = __gcd(numerator, denominator);
numerator /= gcd;
denominator /= gcd;
}
Fraction operator+(const Fraction& other) {
int n = numerator * other.denominator + other.numerator * denominator;
int d = denominator * other.denominator;
Fraction result(n, d);
result.reduce();
return result;
}
Fraction operator-(const Fraction& other) {
int n = numerator * other.denominator - other.numerator * denominator;
int d = denominator * other.denominator;
Fraction result(n, d);
result.reduce();
return result;
}
Fraction operator*(const Fraction& other) {
int n = numerator * other.numerator;
int d = denominator * other.denominator;
Fraction result(n, d);
result.reduce();
return result;
}
Fraction operator/(const Fraction& other) {
int n = numerator * other.denominator;
int d = denominator * other.numerator;
Fraction result(n, d);
result.reduce();
return result;
}
bool operator<(const Fraction& other) {
return numerator * other.denominator < other.numerator * denominator;
}
bool operator>(const Fraction& other) {
return numerator * other.denominator > other.numerator * denominator;
}
void print() {
cout << numerator << "/" << denominator << endl;
}
};
int main() {
Fraction a(1, 2);
Fraction b(3, 4);
Fraction c = a + b;
c.print();
c = a - b;
c.print();
c = a * b;
c.print();
c = a / b;
c.print();
cout << (a < b) << endl;
cout << (a > b) << endl;
return 0;
}
```
注意,这个代码只是一个简单的示例,没有考虑到分数的负数、零、约分等情况。在实际应用中,需要根据具体情况进行修改和完善。