Dokumentation der Klassen
UML: Klassen-Diagramm zur SFehler-Klasse.
SFehler |
-
K : Cstring; |
-
LeerF() : bool; |
Diese Klasse dient zur Syntax-Prüfung in der eingegebenen Formel.
Quellcode:
//FKT : CString ist die Membervariable des Editfelds mit der Bearbeitungsfolmel.
SFehler
sf;
sf.setStr(
FKT
); //hier wird
der eingegebene String an die Klasse übergeben.
if( !sf.isOK()
) //Überprüft ob Syntax-Fehler in der Formel
sind.
MessageBox( sf.getFehlerStr()
, "Syn Fehler" , MB_OK|MB_ICONERROR
);
else
{//Formel zur Umwandelung bereit
. . .
. . .
}
Methoden:
LeerF():
Überprüft, ob in das Textfeld eine Formel eingegeben wurde.
SymbF():
Überprüft, ob ein ungültiges Zeichen eingegeben wurde.
KlammerF(): Prüft die Summe der Auf-
und Zuklammern, und ob die Klammern richtig gesetzt wurden.
AtomF():
Überprüft, ob nicht 2 Atome hintereinander eingegeben wurden.
OperatorF():
Überprüft, ob nicht 2 Operatoren hintereinander eingegeben wurden (außer ¬).
SFehler():
ist ein
Konstruktor,
initialisiert die Variablen.
setStr():
Weist die Membervariable Str der Variable K zu.
IsOK():
Enthält alle Fehlermeldungen, die beim eingeben der Formel in das Textfeld
entstehen können.
getFehlerStr():
gibt die Fehlermeldung aus.
UML: Klassen-Diagramm zur CTrans-Klasse.
CTrans |
- S : CString |
-
getTStr(CString
s,int
nr) :
Cstring |
Diese Klasse dient zur Bildung einer Konjunktiven
Normalform (KNF)
KNF: ist eine Konjunktion von ODER Ketten.
Quellcode:
//FKT : CString ist die Membervariable des
Editfelds mit der Bearbeitungsfolmel.
CTrans
ct;
CString zS[6];
zS[0]=FKT;
ct.setStr(FKT);
// die Formel wird an das Objekt
zS[1]=ct.getNach_GDW();
zS[2]=ct.getNach_WD();
...
Methoden:
getTStr() : gibt
den String S zurück
CTrans() : ist
ein Konstruktor der Klasse CTrans, initialisiert die Variablen.
setStr():der
Variable S wird der Inhalt des Textfeldes zugewiesen.
getStr():
Die Variable S wird zurückgegeben.
AtomFrage():
überprüft, ob ein Zeichen ein Atom ist.
getVor():gibt
den Substring der Vor einem Bestimmten OP-Zeichen steht.
getNach():gibt
den Substring der Nach einem Bestimmten OP-Zeichen steht.
getAnzahl():
gibt die Anzahl der eingegebenen des Teilstrings aus.
SubString():
gibt einen Teilstring zurück.
getOhneKlammern() : einfacher Algorithmus zur Klammerentfernung
getOhneInKlammern() : komplexer Algorithmus zur internen Klammerentfernung
getNach_GDW():
löst die genau dann, wenn Verknüpfungen auf.
getNach_WD():
löst die wenn dann Verknüpfungen auf.
getNach_NOT():
Die NON-Zeichen werden nach innen verschoben und aufgelöst.
getDepth(); gibt die Klammerungstiefe an.
getNach_MUL():
//Auf diesen Algorithmus sind wir nicht drauf gekommen.