Übung 9
 Operatoren & Streams

A 9.1: Fibonacci-Array	(8)
Die Fibonacci-Zahlen f0, f1, f2, ... sind wie folgt definiert:
	f0=1,   f1 = 1,    f2 = f0 + f1 = 2,    f3 = f1 + f2 = 3,    ...,    fn = fn-2 + fn-1,   ...
(a)	Deklarieren und definieren Sie eine C++ - Klasse FiboArray mit einem Konstruktor FiboArray(), der ein int-Array der Größe 100 anlegt und die Elemente mit den Indices 0 und 1 mit 1 und alle folgenden Element mit –1 initialisiert.
(b)	Überladen Sie den []-Operator wie folgt: Wird mit dem Operator [] auf das Fibonacci-Array zugegriffen, soll die Fibonacci-Zahl mit dem übergebenen Index i zurückgeliefert werden. Dazu soll das im Konstruktor angelegte Array ausgelesen werden. Ist der Wert an der i-ten Stelle gleich –1, soll, beginnend bei der größten, zuvor bekannten Fibonacci-Zahl j die Fibonacci-Zahl i berechnet werden und Zwischenergebnisse im Array gespeichert werden. Ist der Wert an der i-ten Stelle ungleich –1, soll der Wert einfach zurückgegeben werden.
Beispiel:	Fibonacci-Array F der Größe 10, nach Initialisierung:
		+1   +1   -1   -1   -1   -1   -1   -1   -1   -1
		Fibonacci-Array F nach Anfrage F[4]: (Ergebnis der Anfrage: +5)  
		+1   +1   +2   +3   +5   -1   -1   -1   -1   -1

A 9.2: Kommentar-Filter	(5)
(a)	Schreiben Sie eine C++ - Programm, das Kommentare aus C++ - Dateien herausfiltert. Ein C++ - Kommentar kann sein:
//	...		Alles bis zum nächsten newline wird herausgefiltert (inklusive //)
/* ... */	Alles zwischen /* und */  wird herausgefiltert (inklusive der Grenzen)
Geben Sie eine C++ - Datei mit beiden Arten von Kommentaren gefiltert aus. Gehen Sie davon aus, daß Kommentare nicht geschachtelt vorkommen!

A 9.3: Datei-Navigation	(7)
(a)	Schreiben Sie ein C++ - Programm, das dem Benutzer beim Start folgende Optionen bietet:
	1.	Neuer Eintrag
	2.	Alle Einträge anzeigen
	3.	Bestimmten Eintrag anzeigen
(b)	Neuer Eintrag: Der Benutzer soll einen String mit einer max. Länge von 15 Zeichen eingeben. Der String soll anschließend mit einer Länge von genau 15 Zeichen (+ 1 newline) in eine Datei "Strings.dat" geschrieben werden. Ist die Datei noch nicht vorhanden, soll sie neu erzeugt werden, ist sie bereits angelegt, soll der neue String angehängt werden.
(c)	Alle Einträge anzeigen: Alle Strings in der Datei am Bildschirm anzeigen. Ist die Datei "String.dat." noch nicht vorhanden, soll eine Fehlermeldung ausgegeben werden.
(d)	Bestimmten Eintrag anzeigen: Bei Wahl dieses Menüpunkts soll zunächst die Anzahl der Strings in der Datei berechnet und angezeigt werden. Danach soll der Benutzer eine Datensatznummer eingeben, und dieser Datensatz soll dann am Bildschirm angezeigt werden.