Probleme beim speichern



  • Hallo Zusammen!

    Ich muss ein Sudoku Programm schreiben in dem natürlich auch gespeichert werden soll.das speichern erfolgt in einer Textdatei. die Zahlen des sudokus werden einfach in eine reihe geschrieben. mein problem ist dass ich einen index brauche.also vor jedem neuen speichervorgang soll eine laufende nummer geschrieben werden.wie macht man das?
    das zweite problem wäre dann wie lade ich dann bestimmte sudokus?
    ich hoffe mir kann irgendjmand helfen...
    vielen dank schon mal für hilfreiche beiträge!



  • Datei öffnen, Daten reinschreiben, Datei schließen ...

    Mal im Ernst, was willst du jetzt genau wissen? Ich würde mir den Aufbau so vorstellen (wenn du sagst, mehrere Sudokus sollen in eine Datei):

    ID Daten
    0  124926...
    1  9264862...
    2  2398621...
    usw.
    

    Bei Lesen wirst du ja ne Id von dem Sudoku haben, dass du suchst. Also holst du solange Zeilenweise die Datei rein, bis am Anfang deine gesuchte Id steht.

    Bei Speichern kannst du entweder die letzte Zeile lesen, und die Id+1 für den nächsten Eintrag nehmen, oder speicherst die Anzahl der Datensätze gleich an den Anfang des Files. Ist meiner Meinung nach eleganter.



  • ja so wollte ich das machen!
    meine frage ist wie genau macht man das?
    wie programmiere ich diesen index?
    wie find e ich raus welche zeile die letzte ist?wie ließt man überhaupt zeilen aus?
    sorry bin halt ein blutiger anfänger...



  • schau dir mal "fOpen" an in der MSDN
    dann ein array erstellen {mit fester groesse reserviert, es sei denn das spielfeld geht beliebig gross, dann vector}

    dann beim auslesen ueber eine schleife die eintraege in den array {vector} kippen

    dann hast du zugriff auf jedes symbol

    arr[0][0]; // zahl 1 in reihe 1
    arr[14][9]; // zahl 8 in reihe 13

    usw usw



  • Hier kannst du dich erstmal über die Grundlagen von File-I/O in C++ belesen:

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html

    Wie du die Daten(Id, Sudoku-Daten) in deinem Programm speicherst, hat dir Mr. Evil bereits erklärt. Aber schau dir bitte nicht fOpen in der MSDN an... File-I/O geht auch mit Standard-C++, da müssen wir keine WinAPI benutzen.



  • ja open() - ich weiss, das meinte ich auch, war zu schnell mit den tippen - bin fOpen gewohnt #gg


Anmelden zum Antworten