编写程序,描述日常生活里的分数,利用成员函数完成分数的求和、最简化、按指定格式打印的操作,并在main中完成对应的测试。
时间: 2023-12-10 15:38:17 浏览: 158
下面是一个简单的程序,用于描述日常生活中的分数,包括对分数的求和、最简化和按指定格式打印操作:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
class Fraction {
private:
int numerator; // 分子
int denominator; // 分母
public:
Fraction(int num, int den) : numerator(num), denominator(den) {}
int getNumerator() const { return numerator; }
int getDenominator() const { return denominator; }
void setNumerator(int num) { numerator = num; }
void setDenominator(int den) { denominator = den; }
void print() const {
cout << numerator << "/" << denominator << endl;
}
Fraction add(const Fraction &f) const {
int num = numerator * f.denominator + f.numerator * denominator;
int den = denominator * f.denominator;
return Fraction(num, den).simplify();
}
Fraction simplify() const {
int gcd = __gcd(numerator, denominator);
return Fraction(numerator / gcd, denominator / gcd);
}
};
int main() {
Fraction f1(1, 2);
Fraction f2(3, 4);
Fraction f3 = f1.add(f2);
cout << "f1 = ";
f1.print();
cout << "f2 = ";
f2.print();
cout << "f3 = f1 + f2 = ";
f3.print();
return 0;
}
```
运行结果如下:
```
f1 = 1/2
f2 = 3/4
f3 = f1 + f2 = 5/4
```
在这个程序中,我们定义了一个名为Fraction的类,它表示一个分数,包括分子和分母。它具有以下成员函数:
- 构造函数:用于初始化分数的分子和分母。
- getNumerator()和getDenominator():用于获取分数的分子和分母。
- setNumerator()和setDenominator():用于设置分数的分子和分母。
- print():用于按指定格式打印分数。
- add():用于将两个分数相加,并返回相加后的最简化分数。
- simplify():用于将分数化简为最简化形式。
在main函数中,我们创建了两个Fraction对象f1和f2,并将它们相加得到f3。然后我们按指定格式打印出f1、f2和f3的值。
阅读全文