Bücherverleih ( Anfängeraufgabe Uni )



  • Irgendwie klappts bei mir nicht.

    Habe ein Screenshot vom Debugger gemacht... in der Ausgabe steht zwar die Adresse der einzelnen Positionen, aber nicht was darin steht.

    http://imageshack.com/a/img801/3547/7enh.png


  • Mod

    Was ist denn deiner Meinung nach

    cBook* m_book[8];
    

    für eine Art von Objekt? Beschreib mal mit Worten den Datentyp.

    Beispiele:

    int foo[5];  // foo ist ein Array[5] aus ints
    void *bar;   // bar ist ein Zeiger auf void
    


  • [code="cpp"]cBook* m_book[8];

    für mich ist das ein Zeiger auf ein Array von Objekten/Instanzen der Klasse cBook. Falls ich Recht habe, kenne ich aber leider die Syntax nicht um die membervariablen auszulesen. Vielleicht hab ich auch den falschen Denkansatz


  • Mod

    kenyo schrieb:

    cBook* m_book[8];
    

    für mich ist das ein Zeiger auf ein Array von Objekten/Instanzen der Klasse cBook.

    Nein, ist es nicht. Es ist ein Array von 8 Zeigern Objekte des Typs cBook.

    Dies wirft jedoch eine interessante Frage auf: Wieso willst du einen Zeiger auf ein Array haben? Ein Array von Zeigern auf Bücher kann ich ja noch halbwegs verstehen, schließlich stehen in der Bücherliste nicht die Bücher selbst, sondern nur Verweise auf Bücher. Aber ein Zeiger auf ein Array von Buchobjekten? Was soll damit modelliert werden?

    Ein Zeiger auf ein Array von 8 Büchern, wäre übrigens:

    cBook (*m_book)[8];
    

    Aber ich glaube kaum, dass du das wirklich so möchtest.



  • Danke für die Info soweit.

    Ich wollte keinen Zeiger auf ein Array von Objekten, das war nur meine Interpretation. Der Befehl selbst war schon in dem vorgegebenen "Programmgerüst" welches wir einhalten sollen.
    Wenn ich den Debugger richtig lese, dann hats mit dem Dateneinlesen ja auch geklappt , mein Problem ist jetzt das Datenauslesen der einzelnen Bücher.

    Die Ausgabe soll so aussehen :

    ----------------
    [Buch 0] Titel: Introduction to Algorithms
    Autor: Th. Cormen, Ch. Leiserson, R. Rivest, ISBN: 0262531968
    [Buch 1] Titel: The C++ Programming Language
    Autor: Bjarne Stroustrup, ISBN: 0201700735
    [Buch 2] Titel: Grundkurs Informatik
    Autor: H. Ernst, ISBN: 3528257172
    ----------------
    [Buch 0] Titel: Introduction to Algorithms
    Autor: Th. Cormen, Ch. Leiserson, R. Rivest, ISBN: 0262531968
    [Buch 2] Titel: Grundkurs Informatik
    Autor: H. Ernst, ISBN: 3528257172
    ----------------


  • Mod

    Wenn du einen Zeiger auf ein Objekt hast, wie kommst du dann an das Objekt, auf das er zeigt?



  • Wenn ich das wüsste, wäre ich wahrscheinlich schon fertig mit der Aufgabe 🙂


  • Mod

    kenyo schrieb:

    Wenn ich das wüsste, wäre ich wahrscheinlich schon fertig mit der Aufgabe 🙂

    Dann wäre jetzt ein guter Zeitpunkt, sich mal die Grundlagen von Zeigern anzugucken. Du hast doch sicherlich ein Lehrbuch oder Script oder ähnliches?



  • Das war mir schon bewusst, leider läuft die Frist bald ab und ich musste viel arbeiten, deshalb dachte ich könnte man mir hier helfen. Schade.

    Trotzdem danke!


  • Mod

    kenyo schrieb:

    deshalb dachte ich könnte man mir hier helfen. Schade.

    Hilfe zur Selbsthilfe gilt eigentlich als Hilfe. Wenn du zu einer Frist dein Programm haben musst, aber es selbst mit Hilfe nicht programmieren kannst, dann musst du eben jemanden dafür bezahlen. Aber niemand wird dir deine Hausaufgaben machen. Und die 5 Minuten, um nachzuschauen, wie die absoluten Grundlagen von Pointern (dir fehlt die Syntax! Das ist kein komplizierter Fehler beim Umgang mit Pointern, sondern Faulheit sich mal eben die erste Seite im ersten Kapitel über Pointer durchzulesen.) aussehen, sollten wohl nicht groß zzum Ablauf deiner Fristen beitragen, oder?



  • Mehr als das Auslesen der Membervariablen des Objektes auf die der Pointer zeigt hab ich ja von Anfang an nicht mal gewollt. Die Syntax wäre weniger Arbeit gewesen als die ganzen Gegenfragen.

    Die Hausaufgabe ( aus mehreren Aufgaben bestehend ) habe ich übrigens auch ohne diese Aufgabe schon bestanden, (hier gibts keine noten nur bestehen / nicht bestehen ) also keine Angst, dass ich mir hier die Hausaufgabe
    von jemandem machen wollte 😋

    Thread kann zugemacht werden.

    Bye 👍


Anmelden zum Antworten