Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "ZFraction.h";
- #include <iostream>
- double numerateur;
- double denominateur;
- ZFraction::ZFraction(double aNumerateur, double aDenominateur) {
- int lePGCD = PGCD(aNumerateur, aDenominateur);
- numerateur = aNumerateur / lePGCD;
- denominateur = aDenominateur / lePGCD;
- if (numerateur != aNumerateur) {
- std::cout << "La fraction a ete automatiquement simplifiee ! Elle vaut maintenant " << numerateur << "/" << denominateur;
- }
- }
- ZFraction& ZFraction::operator+=(ZFraction const& autre) {
- denominateur = denominateur * autre.denominateur;
- numerateur = numerateur * autre.denominateur + autre.numerateur * denominateur;
- numerateur = numerateur / PGCD(numerateur, denominateur);
- denominateur = denominateur / PGCD(numerateur, denominateur);
- return *this;
- }
- ZFraction operator+(ZFraction const& a, ZFraction const& b) {
- ZFraction copie(a);
- copie+=b;
- return copie;
- }
- ZFraction& operator*=(ZFraction const& autre) {
- denominateur = denominateur * autre.denominateur;
- numerateur = numerateur * autre.numerateur;
- int lePGCD = PGCD(denominateur, numerateur);
- denominateur /= lePGCD;
- numerateur /= lePGCD;
- return *this;
- }
- ZFraction operator*(ZFraction const& a, ZFraction const& b) {
- ZFraction copie(a);
- copie*=b;
- return copie;
- }
- bool ZFraction::estEgal(ZFraction const& autre) {
- if (denominateur * autre.numerateur = autre.denominateur * numerateur) {
- return true;
- } else {
- return false;
- }
- }
- bool operateur==(ZFraction const& autre) {
- if (estEgal(b)) {
- return true;
- } else {
- return false;
- }
- }
- bool operateur!=(ZFraction const& autre) {
- if (estEgal(b)) {
- return false
- } else {
- return true;
- }
- void ZFraction::afficher() const {
- std::cout << numerateur << "/" << denominateur;
- }
- int ZFraction::PGCD(int a, int b){
- while(b!=0){
- int c=a%b;
- a=b;
- b=c;
- }
- return a;
- }
Advertisement
Add Comment
Please, Sign In to add comment