*** In Arbeit!!! ***

Programmierübungen C++

Vorbereitende Übungen

  1. Strukturen, Funktionen, Referenz-Parameter: Worte sortieren.
    Musterlösung: sortwords-ptr.cpp, sortwords-ref.cpp.
  2. Referenz-Returnwerte: Zahlen zählen.
    Musterlösung: count.cpp, count-sorted.cpp.
    Für Interessierte: Dasselbe gelöst mit Verwendung des STL-map-Templates: count-map.cpp.
  3. C++ I/O, Referenzen, new für Arrays, Default-Parameter: Rangliste sortieren.
    Musterlösung: rangliste.cpp.

Klassen, Vererbung

  1. Klassen und Vererbung: Geometrische Objekte
    Wir verwenden für die grafische Anzeige SDL (siehe auch hier),
    hier gibt es die Installationsanleitung
    und hier meine "Zwischenschicht" zur SDL: sdlinterf.c und sdlinterf.h.
    Beispielcode zum Testen der SDL: gra.cpp Das gleiche Beispiel in etwas anderer Reihenfolge und Ausarbeitung:
  2. Klassen und Vererbung: Inventarliste
  3. Vererbung, Klasse mit dyn. Daten: Array-Klasse mit Statistiken
    Programm zum Vervollständigen: array-abgel-main.cpp, Soll-Ausgabe: result.txt.
    Musterlösung: array-abgel.cpp.
  4. Vererbung: Klassen für Zahlenlose.
    Musterlösung: lose.cpp.

Operatoren

  1. Operatoren: Bruchrechnen.
    Musterlösung: bruch.cpp.
  2. Operatoren: Bruchrechnen.
    Musterlösung: bruch.cpp.
  3. Operatoren: String-Klasse.
    Hauptprogramm zum Testen: strings-main.cpp
    Erwartete Ausgabe: strings-out.txt
    Musterlösung: strings.cpp.
    Erweiterung mit Index- und Typumwandlungsoperator:
    Hauptprogramm zum Testen: strings-main-stud.cpp
    Erwartete Ausgabe: strings-out-stud.txt
    Musterlösung: strings-stud.cpp.
  4. Objekte mit dyn. Arrays: Rechen-Operatoren auf Arrays
    Hauptprogramm zum Testen: array-main.cpp
    Erwartete Ausgabe: result.txt
    Musterlösung: array.cpp.
  5. Objekte mit dyn. Arrays: Klasse mit bel. vielen Zählern.
    Musterlösung: lotto.cpp.
  6. Objekte mit dyn. Arrays: Objekte für Messreihen, Mittelwert.
    Musterlösung: messw.cpp.
  7. Objekte mit dyn. Arrays, optional Templates: Addition mit Gedächtnis.
    Musterlösung: adder.cpp, adder-tmpl.cpp.

Diverses

  1. Teil 1: Function Pointer: Array-Klasse mit apply
    Musterlösung: funptr.cpp.
    Teil 2: Abgeleitete Klassen: Erweiterung der Array-Klasse
    Musterlösung: funptr-minmax.cpp.
  2. Arrays von Pointern: Wege-Optimierung (Floyd-Warshall).
    Programm zur Angabe: matrix-angabe.cpp.
    Musterlösung: matrix.cpp.
  3. Zweidim. Arrays, Arrays von Pointern: Gleichungslösen nach Gauss.
    Musterlösung: gauss.cpp, gauss-dyn.cpp.

File I/O

  1. Files lesen & schreiben: File klein schreiben, File zentrieren.
    Musterlösung: filelower.cpp, center.cpp, center-multi.cpp.
  2. Files, Stringstreams: Einlesen von Dec/Hex/Oct-Zahlen.
    Musterlösung: hexoct.cpp.

GUI-Programmierung (wxWidgets)

  1. GUI-Programmierung mit vordefinierten Elementen:
  2. GUI-Programmierung mit freier Gestaltung des Hauptfensters:

Exceptions

  1. Exceptions, Stringstreams: Datumsrechner mit Fehlerbehandlung
    Programm zum Umbauen: datum-diff-xcpt-angabe.cpp.
    Musterlösung: datum-diff-xcpt.cpp, datum-diff-xcpt-2.cpp.
  2. Exceptions: Bruchrechner mit Fehlerprüfung.
    Musterlösung: bruch-xcpt.cpp.
  3. Exceptions: Datenerfassung.
    Musterlösung: mittelw.cpp.

Templates

  1. Templates: Einfache Template-Funktion haeufigstes.
    Musterlösung: haeufigstes.cpp.
  2. Template-Funktionen: Notenliste verwalten.
    Musterlösung: noten.cpp.
  3. Template-Klassen für Paare und Arrays.
    Musterlösung: paar.cpp.
  4. Template-Klassen: Zeichen und Worte zählen.
    Für die weniger Mutigen: Hauptprogramm zum Weiterschreiben: textcnt-main.cpp
    (die Guten sollen es selbst versuchen!)
    Musterlösung: textcnt.cpp, textcnt-2.cpp.
  5. Template-Klassen: Zeichen / Worte / Längen zählen.
    Hauptprogramm zum Erweitern: textcnt-main.cpp.
    Musterlösung: textcnt.cpp, textcnt-2.cpp.

STL (Standard Templates Library)

Siehe auch alternative Musterlösungen bei einigen der obenstehenden Beispiele!
  1. STL-Klassen: Zeichen / Worte / Längen zählen mit STL-map.
    Musterlösung: textcnt-stl.cpp, mit Ableitung: textcnt-stl-abl.cpp.
  2. Statische Member und Methoden, STL list:
    Grafische Objekte mit Farbkreis und Liste aller Objekte
    (mit SDL-Grafik).
    Code zum Erweitern: color.h, graobj.h, graobj.cpp, circ.h, circ.cpp, rect.h, rect.cpp, main.cpp.
    Musterlösung: color.h, color.cpp, graobj.h, graobj.cpp, circ.h, circ.cpp, rect.h, rect.cpp, main.cpp.
  3. Templates, STL vector, File-I/O, Exceptions: Datei mit Umordnen der Zeilen kopieren.
    Musterlösung: file-perm.cpp.
 
Stoff C++
Home