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

Klasse der "normalen" Zahlen. Mehr ...

#include <symbols.h>

Klassendiagramm für NumDmy:
SymNumber Symbol

Öffentliche Methoden

 NumDmy (string num="0", string hlp="any number")
 
void setSym (const string &num)
 
void process ()
 Eine eingegebene Zahl wird prozessiert, indem sie einfach auf den Stack gelegt wird. Mehr ...
 
- Öffentliche Methoden geerbt von SymNumber
void processCommon () const
 Holt die vorherige Eingabe wieder vom Zahlenstack, wenn es kein Operator war.
 
- Öffentliche Methoden geerbt von Symbol
 Symbol (string sym="", string hlp="no help available")
 
string getSym () const
 
string getHlp () const
 

Öffentliche, statische Methoden

static bool isFraction (const string &sym, double &val, long &numr, long &dnom)
 Untersucht, ob der eingegebene String als Bruch interpretiert werden kann. Mehr ...
 
- Öffentliche, statische Methoden geerbt von Symbol
static void setCompP (ComputerBase *cP)
 
static void setDsplP (DisplayBase *cP)
 

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von SymNumber
 SymNumber (string sym="", string hlp="any number")
 
- Geschützte, statische Methoden geerbt von Symbol
static SymbolgetLastInP ()
 Liefert das letzte eingegebene Symbol zurueck. Mehr ...
 
static SymbolgetLastOpP ()
 Liefert das letzte eingegebene Operator-Symbol zurueck. Mehr ...
 
static SymbolgetLastButOneOpP ()
 Liefert das vorletzte eingegebene Operator-Symbol zurueck. Mehr ...
 
- Geschützte Attribute geerbt von Symbol
string mSym
 das Symbol als String ("+", "sto", ...)
 
string mHlp
 kurzer Hilfetext
 
- Statische, geschützte Attribute geerbt von Symbol
static ComputerBasemCompP
 Zeiger auf Computer mit der Symboltabelle.
 
static DisplayBasemDsplP
 Zeiger auf Display (f. wissenschftl. Rechner)
 

Ausführliche Beschreibung

Klasse der "normalen" Zahlen.

Z.B. 1.23, 4, -5 etc. Die Objekte dieser Klasse sind Dummies, da nicht Objekte dieser Klasse, sondern direkt die Double-Werte (nicht ganz richtig: Objekte der Klasse Number) auf den Zahlen-Stack gelegt werden.

Dokumentation der Elementfunktionen

◆ isFraction()

bool NumDmy::isFraction ( const string &  sym,
double &  val,
long &  numr,
long &  dnom 
)
static

Untersucht, ob der eingegebene String als Bruch interpretiert werden kann.

  • es darf kein "e" vorkommen
  • es darf kein "." vorkommen
  • Zahl muss kleiner als 100000 sein, da sonst ein Overflow passieren koennte.
  • wenn "/" gefunden, muessen Zaehler und Nenner kleiner 100000 sein.
    Parameter
    symdie eingegebene Zahl als String
    Rückgabewerte
    valder Wert der Zahl
    numrfalls Bruch: Zaehler, sonst 0
    dnomfalls Bruch: Nenner, sonst 1
    Rückgabe
    true, wenn Zahl als Bruch dargestellt werden kann, sonst false

◆ process()

void NumDmy::process ( )
virtual

Eine eingegebene Zahl wird prozessiert, indem sie einfach auf den Stack gelegt wird.

War die letzte Eingabe auch schon eine Zahl, wird sie durch die neue ersetzt. Ausserdem muss untersucht werden, ob es sich um einen Bruch handelt, indem nach dem Zeichen "/" gesucht wird.

Implementiert Symbol.


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