SUK - SvOlli's UPN Kalkulator
Dieser UPN (Umgekehrt Polnische Notation) Rechner ist im
Rahmen eines einer mit zwei Semesterwochenstunden bewerteten C++
Kompaktkurses als Abschlußarbeit entstanden. Es ging
darum dieses Projekt so sauber wie nur irgend möglich durchzubringen.
Abgeschlossen wurde das Projekt mit der Note 1.0.
Pflichtenheft
C++ Kompaktkurs WS02/03, Abschlußprojekt
"UPN-Taschenrechner" von Sven Oliver Moll
- 1. Einleitung
-
- 1.1. Zweck und Ziele des Programms
- Dieses Programm bildet einen UPN (umgekehrt polnische Notation)
Taschenrechner, der ein Gegenstück zu dem in Windows mitgelieferten
Programm ``calc.exe'' darstellen soll. Er soll dabei im Wertebereich des
Typs double rechnen, mit einstellbarer Genauigkeit, und dabei alle
gängigen Mathematischen Funktionen beherrschen, wie z.B. die
Grundrechenarten und Winkelfunktionen. Zur Berechnung werden Werte auf
den Stapel abgelegt und dann mit diesen Operationen ausgeführt.
- 1.2. Benutzer des Produktes
- Als Zielgruppe sind Benutzer anvisiert, die lieber in UPN als im
konventionellen Stil rechnen, wie z.B. der Autor.
- 2. Programm-Anforderungen
-
- 2.1. Funktionale Anforderungen
- Eingabe der Werte und Befehle. Trennung erfolgt entweder durch
drücken der Eingabetaste, oder durch Leerzeichen. Der Stapel muss
übersichtlich angezeigt werden. Es sollen dabei die
Grundrechenarten Addition (+), Subtraktion (-), Multiplikation (*) und
Division (/) zur Verfügung stehen. Die Winkelfunktionen Sinus,
Kosinus und Tangenz sollen in der "normalen", in der Arcus-
und in der Hyperbolicus Version im radialen Modus implementiert werden.
Außerdem werden Potenz-, Logarhytmusfunktionen und die Zahl p
vorgehalten.
- 2.2. Anforderungen an die Daten
- Die Daten werden wie bei einem herkömmlichen Taschenrechner
über die Tastatur eingegeben, ein Speichern ist nicht
vorgesehen.
- 3. Nicht-funktionale Anforderungen
-
- 3.1. Anforderungen an die Benutzerschnittstelle
- Die Benutzerschnittstelle soll einfach und effektiv gestaltet sein.
Ein Klick auf ein Element des Stapels kopiert den Inhalt in die
Eingabezeile. Ein Hilfebutton zeigt die zur Verfügung stehenden
Operationen an. Elemente der Eingabe können sowohl durch die
Eingabetaste, als auch durch Leerzeichen getrennt werden.
- 4. Programmierpakete
-
- 4.1. Was muss alles Programmiert werden?
- Die Benutzerschnittstelle (GUI) wird komplett ohne den Designer
programmiert. Das Programm selbst zerfällt in vier Teile, die sich
jeweils als eigene Klasse abbilden lassen:
- eine Eingabezeile mit einem Hilfebutton,
- einen Stapel zum Speichern der Werte,
- einem Rechenwerk zum Ausführen der Operationen,
- einer Statuszeile in der Fehlermeldungen und andere Informationen
dargestellt werden.
Alle Teile, außer dem Rechenwerk, sind sowohl Funktionseinheit als
auch GUI-Bestandteil. Außerdem wird noch eine Exception-Klasse
für Rechen- und sonstige Fehler benötigt.
- 5. Weiterführende Informationen
-
- 5.1. Besondere Eigenschaften
-
- Das Programm soll sowohl unter Windows mit QT 2.3 als auch unter Linux
mit QT 3.1 kompilieren.
- Die Zahlen werden rechtsbündig im Stapel dargestellt, obwohl
QT 2.3 diesen Modus nicht vorsieht.
- Der Stapel soll ich sowohl "von oben" als auch "von
unten" befüllen bzw. bearbeiten lassen. Der Modus kann im
laufen Betrieb geändert werden, und das GUI-Layout wird
dementsprechend automatisch angepasst.
Screenshot
SvOlli's UPN Kalkulator
Aktuelle Version ist Version 1.0
Download
Source Code für Windows und Unix:
SUK.tar.bz2 (Size: 11637; Date: 2003-11-14, 12:27 CET)
Windows Version:
SUK.exe (Size: 1354712; Date: 2003-11-14, 12:27 CET)
Die Windows Version beinhaltet die QT Bibliothek die
durch die freundliche Genehmigung von Trolltech
beigefügt werden konnte.