aus Binärdatei lesen funktioniert nicht



  • aha, nur falsch abgetippt?

    Bin mittlerweile beim Try/Error-Verfahren. 😞 Daher kommt das.

    zu der Frage bringt, was die zusätzlichen Membervariablen eigentlich für einen Zweck erfüllen

    Die Aufgabenstellung gibt vor, die Messwerte in ne Struktur zu packen.

    Warum ist da eine Schleife drin?

    Welche Schleife?



  • Zickedi schrieb:

    Bin mittlerweile beim Try/Error-Verfahren. 😞 Daher kommt das.

    Schlechte Idee, das bringt überhaupt nichts, weil die meisten Fehler zunächst unbemerkt bleiben oder deren Auswirkungen nicht zugeordnet werden können. Du solltest immer wissen, was du tust und warum du es tust.

    zu der Frage bringt, was die zusätzlichen Membervariablen eigentlich für einen Zweck erfüllen

    Die Aufgabenstellung gibt vor, die Messwerte in ne Struktur zu packen.

    Ich rede von zusätzlichen Variablen. Also alle ausser dem Messwert-Array. Die sind anscheinend unnütz und sollten nicht Membervariablen sein.

    Warum ist da eine Schleife drin?

    Welche Schleife?

    die while-Schleife in Import()



  • zusätzlichen Variablen

    Ich muss die doch irgendwo definieren. Wüsste jetzt nicht, wie ich das anders anstellen sollte.

    [quote]while-Schleife in Import()[quote]
    Die liest aus der Datei aus, solange Zeichen darin vorhanden sind.

    if (!infile)
      cout << "bla";
    

    müsste es auch heißen.

    Hm, irgendwie steh ich auf dem Schlauch.



  • Zickedi schrieb:

    zusätzlichen Variablen

    Ich muss die doch irgendwo definieren. Wüsste jetzt nicht, wie ich das anders anstellen sollte.

    Nur da, wo sie gebraucht werden. Der Gültigkeitsbereich einer Variablen sollte immer so klein wie möglich sein ... nimm z.B. deine Variable i. Die kommt in 3 Funktionen vor, aber sie wird am Ende auf 0 gesetzt bzw. ihr Wert am Ende ist irrelevant, weil sie am Anfang der anderen Funktionen auf 0 gesetzt wird. Anders gesagt, der Wert von i gehört nicht zum Zustand des Objektes. i sollte demzufolge im Kopf der for-Schleife im Konstruktor sowie jeweils am Anfang von Eingabe und Ausgae deklariert werden.

    Ähnliches gilt für zaehl und antwort.

    [quote][quote]while-Schleife in Import()

    Die liest aus der Datei aus, solange Zeichen darin vorhanden sind.

    Aber warum? Dein Array hat nur soundsoviele Einträge, was wenn die Datei länger ist? Dann überschreibst du das Array immer wieder ... wo ist da der Sinn?



  • i sollte demzufolge im Kopf der for-Schleife im Konstruktor sowie jeweils am Anfang von Eingabe und Ausgae deklariert werden.

    Dann hab ich das bisher immer falsch gelernt. Selbst unser Prof definiert i am Anfang der Klasse. 😕

    Ich will jetzt nur mal, dass er die eingegebenen Werte wieder aus der Datei liest.
    Ob der Array auch wirklich so gross ist wie die Datei spielt erst mal keine Rolle.



  • Wenn ich das Programm unter Windows starte, funktioniert es wie gewollt.
    Also hat es wohl etwas mit der Linux-Oberfläche zu tun...



  • Zickedi schrieb:

    i sollte demzufolge im Kopf der for-Schleife im Konstruktor sowie jeweils am Anfang von Eingabe und Ausgae deklariert werden.

    Dann hab ich das bisher immer falsch gelernt. Selbst unser Prof definiert i am Anfang der Klasse. 😕

    Dafür kann er bestimmt andere Dinge ganz toll 😉

    Wenn ich das Programm unter Windows starte, funktioniert es wie gewollt.
    Also hat es wohl etwas mit der Linux-Oberfläche zu tun...

    Komische Schlussfolgerung. Ich teste das mal ... bei mir gehts.



  • Hm, woran könnte es dann liegen?
    Beim Einlesen gibt er mir nur den Konstruktorwert wieder -> Wert1: 0, Wert2: 0.
    Bei Windows gibt er mir sauber die Werte der Datei aus.

    Kanns am Header liegen ?
    Welche hast du eingebunden?



  • #include <iostream>
    #include <fstream>
    #include <ostream>
    #include <istream>
    

    Den ganzen conio-Kram hab ich entfernt.



  • Jetzt funktioniert es, habe mal den Pfad geändert und siehe da. 😋
    Hat auch mit dem Löschen der Datei zu tun.
    Werd das nochmal bearbeiten.

    Aber schon wieder was gelernt. 👍


Anmelden zum Antworten