Aufgabe für Anfänger?



  • Hallo,
    ich habe ein kleines Problem, ich bin dabei die Programmiersprache c++ zu lernen und besitze auch schon ein Basiswissen, d.h. Arrays, Pointers, STL, Klassen (bis jetzt ohne Polymorphie), Funktionen usw. würde mich aber als Anfänger einstufen, weil ich noch nicht so viel Erfahrung mit den genannten Themen habe.

    Ich suche ein etwas umfangreicheres Projekt was mir hilft dieses Basiswissen zu Festigen und zu verbessern. Ich habe aber leider keine Idee was so etwas sein könnte.

    Kann mir da jemand weiter Helfen?
    Danke schon mal im Voraus.


  • Mod

    Ich habe da ein Problem: Ich brauche ein Programm, dass Dateien nach bestimmten Texten durchsucht. Nehmen wir als Wunschnamen für das Programm mal grep . Ich will, dass man das Programm so aufrufen kann:
    grep Text_der_gesucht_werden_soll Dateiname
    Das Programm soll mir dann alle Zeilen in der Datei ausgeben, in denen der Text vorkommt. Der Text der gesucht werden soll, ist das erste Kommandozeilenargument, danach kommt der Dateiname.

    Das allein reicht mir aber noch nicht, ich will auch, dass man ein paar Optionen angeben kann, in dieser Form:
    grep OPTIONEN Text der gesucht werden soll Dateiname
    Die Optionen fangen alle mit einem Minuszeichen an und können somit von dem Suchtext unterschieden werden. Die Optionen müssen vor dem Suchwort kommen. Das erste Kommandozeilenargument welches nicht mit - beginnt ist das Suchwort. Als Optionen wünsche ich mir:
    -n: Gibt mir auch die Zeilennummer aus
    -v: Gibt mir alle Zeilen, in denen der Text nicht vorkommt
    -i: Ignoriert den Unterschied zwischen Groß- und Kleinschreibung bei der Suche

    Die Optionen soll man beliebig kombinieren können.

    Eine einzelne Datei ist auch langweilig. Ich will eine beliebige Anzahl benutzen können:
    grep OPTIONEN Text der gesucht werden soll Dateiname1 Dateiname2 Dateiname3 ...
    Bei der Ausgabe muss mir dann natürlich auch immer gesagt werden, in welcher Datei die Zeile steht, sonst nützt mir das nichts.

    Und dann habe ich auch noch ein paar höhere Ansprüche an die Optionen: Optionen mit Argumenten:
    -AX: Gibt mir auch noch X Zeilen nach jedem Treffer (bzw. Nicht-Treffer bei -v)
    -BX: Gibt mir noch X Zeilen vor jedem Treffer
    -CX: Gibt mir noch X Zeilen vor und nach jedem Treffer
    Also z.B.: grep -A5 Suchwort Dateiname



  • Wie kommst du nur auf so eine seltsame Idee? Wer sollte sowas brauchen (</ironie>)



  • okay ich denke das ist für mich machbar.
    ich werde mich mal am Wochenende damit beschäftigen und werde dann hier die Ergebnisse Posten.
    Vielen dank 🙂



  • Fang aber auf alle Fälle mit der simpelstmöglichen beschriebenen Version an und arbeite Dich dann zu den komplizierteren vor.

    Versuche nicht, gleich alles auf einmal zu machen, das wäre ein bisschen viel.

    Und: verwende gleich ein Versionskontrollsystem wie Mercurial oder Git oder so.


Anmelden zum Antworten