Dr. M. Grabert Abteilung Angewandte Informationsverarbeitung 20. Dezember 2001
Johannes Mayer Blatt 8


Uni-Logo



Objektorientierte Programmierung mit C++ (WS 2001/2002)


Abgabetermin: 17. Januar 2002

11 Aber bitte komfortabel (10+10 Punkte)

War ja gut und schön, die letzte Übungsaufgabe, aber besonders komfortabel zu bedienen war das Programm nicht. Tja, da bleibt nur eines: Wir basteln uns eine graphische Benutzungs-Schnittstelle (GUI). Diese könnte dann wie folgt aussehen:

\includegraphics[width=16cm]{gui}

Zur Programmierung der GUI verwenden wird die Qt-Bibliothek Version 2.3.1 von Trolltech. Diese ist auf Thales, Turing und allen Sun Ultra 5-Rechnern im Verzeichnis /usr/local/qt-2.3.1/ installiert. Die lokale Dokumentation zu dieser Bibliothek gibt es unter

http://www.mathematik.uni-ulm.de/help/qt-2.3.1/.

Näheres zu der Bibliothek, zum Compilieren und Starten von Programmen und Beispielprogramme gibt es unter

ftp://ftp.mathematik.uni-ulm.de/pub/vorlesungen/ws01/cpp/uebungen/8/bsp/.

In den Übungen (am 20. Dezember) gibt es eine Einführung zu Qt.

Programmieren Sie also in Qt 2.3.1 eine GUI für Ihre Klassen Student, BioStudent, WimaStudent und Verwalter vom letzten Übungsblatt (oder verwenden Sie diese Klassen aus der Beispiellösung). Die graph. Benutzungsschnittstelle, welche Sie schreiben, soll etwa so aussehen wie die oben abgebildete. Bei Start des Programms wird ein neuer Verwalter angelegt, der alle Studenten einliest. Diese Studenten geben Sie dann alle in einer Listbox aus. Klickt man auf einen Eintrag in der Liste, so sollen diese Werte in die Eingabefelder übernommen werden. Mit dem Button Clear kann man alle Eingabefelder wieder löschen. (Clear betrifft also nicht den Verwalter, sondern nur die Anzeige. Die Eingabefelder sollen gelöscht werden, damit eine neuer Student schnell angelegt werden kann.) Dabei soll auch eine Auswahl in der Listbox aufgehoben werden. Mittels Add wird mit den Werten aus den Eingabefeldern ein neuer Student - mit dem eingestellten Typ (Student, Bio- oder Wima-Student) - erzeugt, falls es noch keinen Studenten mit diesem Login gibt. (Der neu erzeugte Student soll sowohl im Verwalter hinzugefügt werden, wie auch in der Listbox.) Mittels Change kann man die Werte des aktuell ausgwählten Listeneintrags ändern (auch den Typ des Studenten). Schließlich kann man mittels Delete den aktuell ausgewählten Studenten löschen. Mit Quit beendet man die Anwendung, wobei der Verwalter ebenfalls sauber beendet werden muss, damit beim nächsten Start wieder die selben Studenten angezeigt werden.

P.S. Sie müssen entweder Ihre eigenen Klassen Student, ... und Verwalter oder die der Beispiellösung von Blatt 7 wiederverwenden.


Viel Spass und Erfolg,
fröhliche Weihnachten und einen guten Rutsch ins Neue Jahr!


Johannes Mayer, 2001-12-20