Pas de dépendances
#include <cstdlib> #include <iostream> using namespace std; /* --------------------------- */ int pgcd (int m, int n) // Algorithme d'Euclide (pour les matheux) { if (n==0) return m; else return pgcd( n, m % n); } /* ---------------------------- */ class Fraction { private: int num; int denom; public: Fraction(); Fraction(int,int); void Simplifie(); void Affiche(); Fraction operator+(Fraction b); }; Fraction::Fraction() { num=denom=1; } Fraction::Fraction(int n,int d) { num=n; denom=d; } void Fraction::Simplifie() { int p=pgcd(num,denom); num/=p; denom/=p; } void Fraction::Affiche() { cout << num << "/" << denom << endl; } Fraction Fraction::operator+(Fraction b) { Fraction res; res.denom=denom*b.denom; res.num=num*b.denom+b.num*denom; res.Simplifie(); return res; } /* ------------------------------ */ int main() { int n,d; cout << "entrez numerateur, puis denominateur pour fraction 1" << endl; cin >> n; cin >> d; Fraction f1(n,d); cout << "entrez numerateur, puis denominateur pour fraction 2" << endl; cin >> n; cin >> d; Fraction f2(n,d); Fraction f3=f1+f2; f3.Simplifie(); cout << "Votre fraction simplifiee" << endl; f3.Affiche(); system("PAUSE"); return 0; }
No explanations yet.