Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Verzeichnisse | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

Fraction Klassenreferenz

Klasse zum Rechnen mit Bruechen. Mehr ...

#include <fraction.h>

Aufstellung aller Elemente

Öffentliche Methoden

 Fraction ()
 Fraction (long n, long d=1) throw (ZeroDivide)
 Konstruktor konstruiert Brueche aus Zaehler und Nenner.
 Fraction (const Fraction &f)
long getNumr () const
long getDnom () const
long gcd () const
 Berechnet den groessten gemeinsamen Teiler (ggT) des Bruchs.
long lcm () const
 Berechnet das kleinste gemeinsame Vielfache (kgV) des Bruchs.
void shorten ()
 Kuerzt den Bruch durch Division von Zaehler und Nenner durch den ggT.
Fraction rcp () const throw (ZeroDivide)
double getVal () const
void getMixedFraction (long &whole, Fraction &f) const
 Wandelt Bruch in einen gemischten Bruch um.
string getMixedFraction () const
 Gibt den Bruch als gemischten Bruch in String-Form zurueck.
string getFraction () const
 Gibt Bruch als String zurueck.
bool isOverflow () const
Fractionoperator *= (const Fraction &f)
 Multiplikation von Bruechen.
Fractionoperator/= (const Fraction &f) throw (ZeroDivide)
 Division von Bruechen.
Fractionoperator+= (const Fraction &f)
 Addition von Bruechen.
Fractionoperator-= (const Fraction &f)
 Subtraktion von Bruechen.

Öffentliche, statische Methoden

static void setShortened (bool is)

Private Attribute

long mNumr
 Zaehler (numerator).
long mDnom
 Nenner (denominator).

Statische private Attribute

static bool mIsShortened = true
 gibt an, ob Bruch gekuerzt werden soll

Freundbeziehungen

Fraction operator * (const Fraction &f1, const Fraction &f2)
Fraction operator/ (const Fraction &f1, const Fraction &f2) throw (ZeroDivide)
Fraction operator+ (const Fraction &f1, const Fraction &f2)
Fraction operator- (const Fraction &f1, const Fraction &f2)
bool operator== (const Fraction &f1, const Fraction &f2)
bool operator!= (const Fraction &f1, const Fraction &f2)
bool operator< (const Fraction &f1, const Fraction &f2)
bool operator<= (const Fraction &f1, const Fraction &f2)
bool operator> (const Fraction &f1, const Fraction &f2)
bool operator>= (const Fraction &f1, const Fraction &f2)
ostream & operator<< (ostream &os, const Fraction &f)
 Ausgabeoperator fuer einen Bruch.


Ausführliche Beschreibung

Klasse zum Rechnen mit Bruechen.

Die Klasse repraesentiert einen Bruch, der aus einem Zaehler und einem Nenner besteht. Zaehler und Nenner sind long-Variablen, dadurch kann bei Berechnungen kein Genauigkeitsverlust entstehen; allerdings wird ein Ueberlauf nicht automatisch erkannt, so dass ein Anwender selbst sicherstellen muss, dass Zaehler und/oder Nenner nicht zu gross werden.

Die Operatoren der vier Grundrechenarten und die ueblichen Vergleichsoperatoren stehen als ueberladene Operatorfunktionen zur Verfuegung. Weitere Funktionen kuerzen den Bruch, ermitteln kgV und ggT, erzeugen einen gemischten Bruch u.a.

Ein Element dieser Klasse wird als Member in der Klasse Number verwendet.


Beschreibung der Konstruktoren und Destruktoren

Fraction::Fraction  )  [inline]
 

Fraction::Fraction long  n,
long  d = 1
throw (ZeroDivide)
 

Konstruktor konstruiert Brueche aus Zaehler und Nenner.

Kann ausserdem zur Konvertierung von long-Parametern in Brueche verwendet werden.

Parameter:
n Zaehler ("Nominator")
d Nenner ("Denominator")
Ausnahmebehandlung:
class ZeroDevide, wenn der Nenner 0 ist

Fraction::Fraction const Fraction f  )  [inline]
 


Dokumentation der Elementfunktionen

long Fraction::gcd  )  const
 

Berechnet den groessten gemeinsamen Teiler (ggT) des Bruchs.

Der ggT (gcd - greatest common devisor) wird nach dem "Euklidischen Algorithmus" berechnet.

Rückgabe:
ggT

long Fraction::getDnom  )  const [inline]
 

string Fraction::getFraction  )  const
 

Gibt Bruch als String zurueck.

Rückgabe:
Zaehler und Nenner, durch "/" getrennt.

string Fraction::getMixedFraction  )  const
 

Gibt den Bruch als gemischten Bruch in String-Form zurueck.

Rückgabe:
Der gemischte Bruch wird als Aufzaehlung, bestehend aus ganzzahligem Anteil, Zaehler des Restbruchs und Nenner des Restbruchs mit "/" als Trennzeichen zurueckgegeben: z.B. 4/3 = 1/1/3

void Fraction::getMixedFraction long &  whole,
Fraction f
const
 

Wandelt Bruch in einen gemischten Bruch um.

Ein gemischter Bruch besteht aus einem ganzen Teil und einem Bruch, z.B.:

4/3 = 1_1/3.

Falls der ganzzahlige Teil vorhanden ist (nicht Null), erhaelt er das Vorzeichen.

Parameter:
whole ganzzahliger Anteil des Bruchs
f der Restbruch nach Abspalten des ganzzahligen Anteils

long Fraction::getNumr  )  const [inline]
 

double Fraction::getVal  )  const [inline]
 

bool Fraction::isOverflow  )  const [inline]
 

long Fraction::lcm  )  const
 

Berechnet das kleinste gemeinsame Vielfache (kgV) des Bruchs.

Das kgV (lcm - least common multiple) wird nach der Formel

                 a*b
    kgV(a,b) = -------
               ggT(a,b)
berechnet.
Rückgabe:
kgV

Fraction & Fraction::operator *= const Fraction f  ) 
 

Multiplikation von Bruechen.

     a     c      a*c
    --- * ---  =  ---
     b     d      b*d
Parameter:
f Multiplikator (*this ist der Multiplikand)
Rückgabe:
Referenz auf sich selbst - den Produkt-Bruch

Fraction & Fraction::operator+= const Fraction f  ) 
 

Addition von Bruechen.

     a     c       a*d   c*b     a*d + c*b
    --- + ---  =  ---- + ---  =  ---------
     b     d       b*d   d*b        b*d
Parameter:
f zweiter der Summanden (*this ist der erste Summand)
Rückgabe:
Referenz auf sich selbst - den Summen-Bruch

Fraction & Fraction::operator-= const Fraction f  ) 
 

Subtraktion von Bruechen.

     a     c       a*d   c*b     a*d - c*b
    --- - ---  =  ---- - ---  =  ---------
     b     d       b*d   d*b        b*d
Parameter:
f Subtrahend (*this ist der Minuend)
Rückgabe:
Referenz auf sich selbst - den Differenz-Bruch

Fraction & Fraction::operator/= const Fraction f  )  throw (ZeroDivide)
 

Division von Bruechen.

     a     c       a     d      a*d
    --- : ---  =  --- * ---  =  ---
     b     d       b     c      b*c
Parameter:
f Divisor (*this ist der Dividend)
Rückgabe:
Referenz auf sich selbst - den Quotienten-Bruch

Fraction Fraction::rcp  )  const throw (ZeroDivide) [inline]
 

static void Fraction::setShortened bool  is  )  [inline, static]
 

void Fraction::shorten  ) 
 

Kuerzt den Bruch durch Division von Zaehler und Nenner durch den ggT.

Ein negatives Vorzeichen wird grundsaetzlich dem Zaehler zugeordnet.


Freundbeziehungen und Funktionsdokumentation

Fraction operator * const Fraction f1,
const Fraction f2
[friend]
 

bool operator!= const Fraction f1,
const Fraction f2
[friend]
 

Fraction operator+ const Fraction f1,
const Fraction f2
[friend]
 

Fraction operator- const Fraction f1,
const Fraction f2
[friend]
 

Fraction operator/ const Fraction f1,
const Fraction f2
throw (ZeroDivide) [friend]
 

bool operator< const Fraction f1,
const Fraction f2
[friend]
 

ostream& operator<< ostream &  os,
const Fraction f
[friend]
 

Ausgabeoperator fuer einen Bruch.

Parameter:
os Output-Stream
f auszugebender Bruch
Rückgabe:
Output-Stream-Referenz

bool operator<= const Fraction f1,
const Fraction f2
[friend]
 

bool operator== const Fraction f1,
const Fraction f2
[friend]
 

bool operator> const Fraction f1,
const Fraction f2
[friend]
 

bool operator>= const Fraction f1,
const Fraction f2
[friend]
 


Dokumentation der Datenelemente

long Fraction::mDnom [private]
 

Nenner (denominator).

bool Fraction::mIsShortened = true [static, private]
 

gibt an, ob Bruch gekuerzt werden soll

long Fraction::mNumr [private]
 

Zaehler (numerator).


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Mon Oct 10 19:54:32 2005 für Almetare von  doxygen 1.4.1