AIK 3. & 4. Semester Programmierpraktikum
Übungen
- 1. Übung: Strukturen, Funktionen, Referenz-Parameter: Worte sortieren.
Musterlösung:
sortwords-ptr.cpp,
sortwords-ref.cpp.
- 2. Übung: Referenz-Returnwerte: Zahlen zählen.
Musterlösung:
count.cpp,
count-sorted.cpp.
- 3. Übung: Klassen und Objekte: Grafik - Punkte und Rechtecke.
Beispielcode: gra.cpp.
Download und
Installationsanleitung zur SDL
(siehe auch hier am Ende der Seite).
Interface zur SDL: sdlinterf.c und
sdlinterf.h.
- 4. Übung: Init-Liste, File-Aufteilung, ...: Grafik - Rechteck.
Musterlösung Aufgabe 1 & 2:
gra-rect.cpp.
Musterlösung Aufgabe 3:
gra-rect-top.cpp.
Musterlösung Aufgabe 4 (Aufspaltung in Files):
color.h,
rect.h,
rect.cpp,
main.cpp.
- 5. Übung: Abgeleitete Klassen: Grafik - Ellipsen.
Musterlösung:
color.h,
graobj.h,
graobj.cpp,
circ.h,
circ.cpp,
rect.h,
rect.cpp,
main.cpp.
- 6. Übung: Abstrakte Klassen, statische Member: Nochmals Grafik.
(Teil 2: Freiwillig, nur für die Guten, die anderen sollen nach Teil 1 gleich die nächste Übung machen)
Musterlösung:
color.h,
graobj.h,
graobj.cpp,
circ.h,
circ.cpp,
rect.h,
rect.cpp,
main.cpp.
- 7. Übung: Abgeleitete und abstrakte Klassen, statische Member: Inventarliste.
Wem das main zu wenig spannend ist: Mein
main.cpp.
Musterlösung:
inventar.h,
inventar.cpp,
zubeh.h,
zubeh.cpp,
comp.h,
comp.cpp,
main.cpp.
- 8. Übung: Copy-Konstruktor und clone: Nochmals Inventarliste.
Wem das main zu wenig spannend ist: Mein
main.cpp.
Musterlösung:
inventar.h,
inventar.cpp,
zubeh.h,
zubeh.cpp,
comp.h,
comp.cpp,
main.cpp.
- 9. Übung: Objekte, die Pointer enthalten: Zusammengesetzte grafische Objekte.
Musterlösung:
color.h,
graobj.h,
graobj.cpp,
circ.h,
circ.cpp,
rect.h,
rect.cpp,
comp.h,
comp.cpp,
main.cpp.
Alternativ (kürzer und einfacher, aber weniger spannend):
Objekte, die Pointer enthalten: Nochmals Inventarliste.
Wem das main zu wenig spannend ist: Mein
main.cpp.
Musterlösung:
inventar.h,
inventar.cpp,
zubeh.h,
zubeh.cpp,
comp.h,
comp.cpp,
sammel.h
(alternativ: sammel-mit-new.h),
sammel.cpp,
main.cpp.
- 10. Übung: Alte Praktikumstests zum Üben, siehe Klassenbereich.
- Weihnachtsübungen: ... stehen gesammelt bei den AIK 1.
- 11. Übung: Operatoren: Bruchrechnen.
Musterlösung:
bruch.cpp.
- 12. Übung: Operatoren: String-Klasse.
Rahmenprogramm zum Testen,
erwartete Ausgabe.
Musterlösung:
strings.cpp.
Studenten-Version (mit Index- und Typumwandlungsoperator):
Rahmenprogramm zum Testen,
erwartete Ausgabe.
Musterlösung:
strings-stud.cpp.
- 13. Übung: Klasse mit dyn. Arrays und Operatoren.
Rahmenprogramm zum Testen,
erwartete Ausgabe.
Musterlösung:
array.cpp.
- 14. Übung: File-I/O: File klein schreiben, File zentrieren.
Musterlösung:
filelower.cpp,
center.cpp,
center-multi.cpp.
- 15. Übung: Exceptions, Stringstreams.
Programm zum Umbauen.
Musterlösung:
datum-diff-xcpt-2.cpp,
datum-diff-xcpt-3.cpp.
- 16. Übung: Function Pointer: Array-Klasse.
Musterlösung:
funptr.cpp.
- 17. Übung: Abgeleitete Klassen: Erweiterung der Klasse aus Ü 16.
Musterlösung:
funptr-minmax.cpp.
- 18. Übung: Arrays von Pointern: Wege-Optimierung.
Programm zur Angabe:
matrix-angabe.cpp.
Musterlösung:
matrix.cpp.
- 19. Übung: Template-Funktionen:
Notenliste verwalten.
Musterlösung:
noten.cpp.
- 20. Übung: Template-Klassen: Zeichen und Worte zählen.
Für die weniger Mutigen: Hauptprogramm zum Weiterschreiben
(die Guten sollen es selbst versuchen!)
Musterlösung:
textcnt.cpp,
textcnt-2.cpp.
- 21. Übung: Alter 2. Praktikumstest, siehe Klassenbereich.
- 22. Übung: Arrays, Operatoren, Templates, ...: Addition mit Gedächtnis.
Musterlösung:
adder.cpp,
adder-tmpl.cpp.
- 23. Übung: Templates: Einfache Template-Funktion / Templates für Paare und Arrays.
Musterlösung:
haeufigstes.cpp,
paar.cpp.
- 24. Übung: Files, Stringstreams: Einlesen von Dec/Hex/Oct-Zahlen.
Musterlösung:
hexoct.cpp.