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

Eingabemodus
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.


Valid HTML 4.01!