Bitte um Hilfe beim coden eines "Telefonbuches"

  • Hey Jungs,
    Ich bin dabei ein kleines, nicht sehr schweres proggi zu schrreiben, welches mein erstes "sinnvolles" prog sein soll :P
    ich habe hier folgenden code:

    Funzt alles Prima, jedoch weiss ich nicht, wie ich es anstellen kann, dass wenn ich eine weitere Person hinzufügen möchte, die alte nicht überschrieben wird, sondern die neue unten hinzugefügt wird. Könnte die vllt mit einer "lese-schreibe" funktion klappen? sprich das prog liest zuerst die txt datei, kopiert den inhalt, fügt den inhalt am ende ein und schreibt dann eine neue datei ... oder viel einfach,kann man das prog einfach dazubringen es hintenhin zu schreiben? würde mich um ein ( ausführlicheres" "Tut" sehr freuen .... bin neuling also wenns geht nicht zuu kompliziert xD
    MfG

  • Sorry, aber ein Tutorial schreib ich jetzt nicht. Die gibts wie Sand am Meer. Trotzdem mal ein paar Tipps:

    Um nicht zu überschreiben übergibst du ios_base::app im Konstruktor von ofstream. Damit hängst du alles hinten dran.

    Um lesend und schreibend auf die Datei zugreifen zu können, müsstest du fstream nutzen, anstatt ofstream. Das Auslesen der Datei würde ich in eine Funktion packen, und dir die Informationen in eine Liste schreiben. Bei Programmstart rufst du die Funktion zum Auslesen einmal auf.

    Anfügen der neuen Informationen könntest du dann auch erstmal mit der Liste machen. Kurz bevor sich das Programm dann beendet schreibst du die neuen Informationen hinten dran. Diese Funktionalität würde ich auch in eine Funktion packen.

    Links:
    Für die Liste nimm die std::list.
    Informationen zu fstream oder ofstream.

  • Schau dir erstmal das hier an:
    http://www.c-plusplus.de/forum/viewtopi…-is-227110.html
    Jetzt musst du das ganze natürlich verarbeiten.
    Dafür wirst du jedoch arrays oder vectoren brauchen, vielleicht sogar eine eigene Klasse.
    Also schau dir mal an, wie du Dateien ausliest. (ifstream, fstream), und dann beschäftige dich mit feldern.
    Ohne geht das leider nicht, musst du aber sowieso lernen für C++!
    Kannst schon mit Schleifen umgehen? Brauchst du dann auch.
    Aber - Kopf hoch, ich bin auch erst ein paar Monate dabei!

    Viele liebe Grüße
    The User

  • hehe ... komm gerad eheim hab keinen kopf mehr mir im moment die tuts durchzulesen ... trotzdem vielen lieben dank für die schnellen und ausführlichen antworten ... ich werde mich in den nächsten tagen einmal damit beschäöftigen und falls es mir gelingt den fertigen code natürlich zur verfügung stellen, falls ihn jmd braucht...
    MfG

  • hehe ... werk vollbracht :P danke an The User ... hast mir echt geholfen ... war auch recht simple :P hier die Lösung :