Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

10.4 Übungsaufgaben VIII

10.4 Übungsaufgaben VIII

  1. Schreiben Sie ein kleines Programm, welches aus einem konstanten String die Anzahl des Vorkommens eines gewünschten Buchstabes z%auml;hlt. Schreiben Sie zu diesen Zweck eine extra Funktion mit folgender Signatur:
    int CountSign(const char* const pcstrSource, const char& cSign);
    Testen Sie Ihr Programm mit sinnvollen Werten und fangen Sie auch den Fall ab, dass "NULL" übergeben wird (Rückgabewert -1).
  2. Schreiben Sie ein kleines Programm, welches aus einem konstanten String die Startposition eines anderen konstanten Strings sucht und zurückgibt. Benutzen Sie folgende Signatur:
    int strpos(const char* const pcstrSource, const char* const pcstrSearch); Falls irgendetwas nicht ok ist, soll -1 zurückgegeben werden.
    TIPP: Die Funktion "strstr" ist ganz hilfreich.
  3. In den folgenden Aufgaben wird es darum gehen, eine Warteschlange zu implementieren. Erstellen Sie dafür ein Programm und legen Sie schon per Konstante fest, wie viele Einträge maximal möglich sind (vier Einträge reichen für den Anfang). Zudem soll diese Warteschlange als ringförmige Liste abgebildet werden, wobei die Elemente dynamische Strings enthalten sollen. Erzeugen Sie alle notwendigen Datentypen.
    TIPP: Speichern Sie sich irgendwo, wie viele Strings momentan enthalten sind. Das wird Ihnen später ein paar Abfragen erleichtern.
  4. Schreiben Sie eine Funktion "Initialize", welche die Ringliste anlegt und die Zeiger auf die Strings der Elemente, auf "NULL" zeigen lässt. Geben Sie die erzeugte Ringliste zurück. Beachten Sie, dass es auch möglich sein soll, dass die Warteschlange nur ein oder gar kein Element aufnehmen soll/kann.
    TIPP: Malen Sie sich das Verhalten auf, um mehr Durchblick zu erhalten.
  5. Schreiben Sie nun eine Funktion "Append", welche einen übergebenen String kopiert und diese Kopie hinten anhängt. Falls die Warteschlange voll ist, soll "false" zurückgegeben werden. Achten Sie darauf, dass die Stringkopie nicht unnötig groß ist. Beachten Sie, dass das Ende der Schlange jetzt wo anders ist, da sich die Anzahl der Einträge erhöht.
  6. Schreiben Sie als nächstes eine Funktion "Remove", welche den vordersten String aus der Warteschlange löscht. Die Funktion soll "false" zurückgeben, wenn es nichts zum Entfernen gibt. Beachten Sie, dass der Anfang der Schlange jetzt wo anders ist, da sich die Anzahl der Einträge verringert.
  7. Schreiben Sie eine Funktion "PrintFirst", welche das erste Element auf der Konsole ausgibt.
  8. Schreiben Sie anschließend eine Funktion "Finalize", welche alle noch in der Schlange befindlichen Strings löscht und die Warteschlange, samt aller Elemente, frei gibt.
  9. Schreiben Sie abschließend eine Funktion "main", um Ihre eben erstellten Funktionen zu testen. Besonders wichtig ist dabei, dass nichts mehr hinzugefügt werden kann, wenn die Liste voll ist und dass das Hinzufügen wieder funktioniert, sobald wieder ein Platz frei ist.
Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012