main.cpp
#include <iostream> #include "Fraction.h" using namespace std; int main() { Fraction f1, f2; f1.setNumerator(4); f1.setDenominator(2); f1.getDouble(); f1.outputReducedFraction(); f2.setNumerator(20); f2.setDenominator(60); f2.getDouble(); f2.outputReducedFraction(); system("pause"); return 0; }
Fraction.h
#ifndef Fraction_H #define Fraction_H #include <iostream> #include <iomanip> using namespace std; class Fraction { private: int numerator; int denominator; public: void setNumerator(int nu); void setDenominator(int de); void getDouble(); void outputReducedFraction(); }; #endif //Fraction_H
Fraction.h
#include "Fraction.h" int gcd(int a, int b) { while ((a %= b) != 0 && (b %= a) != 0); return a + b; } void Fraction::setNumerator(int nu) { numerator = nu; } void Fraction::setDenominator(int de) { denominator = de; } void Fraction::getDouble() { if (!(numerator % denominator)) // integer cout << numerator / denominator << endl; else cout << fixed << setprecision(6) << (double)numerator / denominator << endl; } void Fraction::outputReducedFraction() { int greattestCommonDivisor = gcd(numerator, denominator); if (!(numerator % denominator)) // integer cout << numerator / denominator << endl; else cout << numerator / greattestCommonDivisor << "/" << denominator / greattestCommonDivisor << endl; }
沒有留言:
張貼留言