Almetare  1.15
Alle meine Taschenrechner - Eine C++-Bibliothek zur Entwicklung von Taschenrechnern
Fraction Klassenreferenz

Klasse zum Rechnen mit Bruechen. Mehr ...

#include <fraction.h>

Öffentliche Methoden

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

Ö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. Mehr ...
 

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::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
nZaehler ("Nominator")
dNenner ("Denominator")
Ausnahmebehandlung
classZeroDevide, wenn der Nenner 0 ist

Dokumentation der Elementfunktionen

◆ gcd()

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

◆ getFraction()

string Fraction::getFraction ( ) const

Gibt Bruch als String zurueck.

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

◆ getMixedFraction() [1/2]

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
wholeganzzahliger Anteil des Bruchs
fder Restbruch nach Abspalten des ganzzahligen Anteils

◆ getMixedFraction() [2/2]

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

◆ lcm()

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

◆ operator *=()

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

Multiplikation von Bruechen.

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

◆ operator+=()

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
fzweiter der Summanden (*this ist der erste Summand)
Rückgabe
Referenz auf sich selbst - den Summen-Bruch

◆ operator-=()

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
fSubtrahend (*this ist der Minuend)
Rückgabe
Referenz auf sich selbst - den Differenz-Bruch

◆ operator/=()

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

Division von Bruechen.

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

◆ shorten()

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

◆ operator<<

ostream& operator<< ( ostream &  os,
const Fraction f 
)
friend

Ausgabeoperator fuer einen Bruch.

Parameter
osOutput-Stream
fauszugebender Bruch
Rückgabe
Output-Stream-Referenz

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: