Probleme mit struct



  • @Seezer sagte in Probleme mit struct:

    Ich habe die Grundstruktur aus dem Lehrbuch genommen

    Besteht die Chance, das Lehrbuch zu wechseln oder ist das von deinem Kurs fest vorgeschrieben?



  • Vielleicht auch mal ein weiterer Hinweis:
    Wenn du 50 Elemente in einem Array hast, dann haben diese die Indizes 0 bis 49. Du darfst NICHT auf das Element mit Index 50 zugreifen. Also ist alles, was wie storage[50].tulbNr oder ähnlich aussieht, falsch. Das 50. Element existiert nicht.

        if (menu == 1) tulb lagern();
        if (menu == 2) tulb ansehenSolo();
        if (menu == 3) tulb aendern();
        if (menu == 4) tulb ansehenAlle();
        if (menu == 5) tulb auslagern();
    

    Wo kommt hier jeweils das "tulb" her und was soll das bedeuten?



  • Das wurde wohl nur geschrieben, damit es (irgendwie) kompiliert...
    @Seezer weiß aber wohl nicht, was das bedeutet und wie ein Funktionsaufruf richtig aussehen muß?!



  • Fast allen von Deinen Funktionen fehlt der Rückgabetyp.



  • @Seezer sagte in Probleme mit struct:
    Also derartiger Quellcode ist in modernem C++ sehr unüblich:

    tulb storage[]
    

    Die Schulung scheint auf einem etwas älteren Stand zu sein.

    Vermutlich würde man das eher so machen:

    void aendern( std::vector<tulb> &mystorage )
    {
     // change something
    }
    

    oder noch besser, um nicht den ganzen Storage zu übergeben, wenn man nur ein einzelnes "tulb" braucht:

    void einzelnes_tulb_aendern( tulb &my_tulb )
    {
    }
    
    // aufruf:
    std::vector<tubl> Storage;
    auto iter_tulb_to_be_changed = findTulb( Storage, some_parameter );
    if ( iter_tulb_to_be_changed != Storage.end() )
        einzelnes_tulb_aendern( *iter_tulb_to_be_changed );
    
    


  • @daddy_felix Leider nicht . Werde mir aber noch ein zusätzliches Buch über C++ besorgen.



  • @It0101 Moin - mir fehlt eindeutig die Erfahrung um zu beurteilen ob die Schulung auf einem Aktuellen oder eher
    Älteren Stand der Dinge ist.

    std::vector darf für diese Übung nicht verwendet werden aber es bring mich auf eine Idee.

    Danke für den Input soweit



  • Dein Code sieht so aus, hätte dein Lehrer vor über 20 Jahren C programmieren gelernt und danach nur noch ein klein wenig C++ angeschaut.

    Dinge wie Klassen, typedef struct oder Datentypen ala bool fehlen komplett. Daher kommen auch die 20 Jahre. Mit dem C Standard C99, welcher 1999 kam, wurde der bool Datentyp eingeführt.

    Ich fürchte deine Schulung ist ein als C++ kaschierter 20 Jahre alter C Kurs.



  • @Seezer sagte in Probleme mit struct:

    @daddy_felix Leider nicht . Werde mir aber noch ein zusätzliches Buch über C++ besorgen.

    Dann lass dich dahingehend gut beraten hier (bzw. kram einen der Threads raus, die Frage wurde hier bestimmt schon zig mal gestellt). Es gibt verschiedene Meinungen, welches das beste C++ Buch ist, aber zumindest eine relativ klare Einigung welche Bücher man in Betracht ziehen könnte und welche man am besten direkt wegschmeißt.
    Meine Empfehlung wäre an dieser Stelle "Der C++ Programmier" vom Breymann.
    Schlechte Bücher überwiegen nämlich leider die Anzahl an guten Büchern.



  • @Leon0402 sagte in Probleme mit struct:

    Meine Empfehlung wäre an dieser Stelle "Der C++ Programmier" vom Bergmann.

    Du meinst Ulrich Breymann, nicht Bergmann.
    Ansonsten gibts auch noch den C++ Primer von Lippman.

    Beide Bücher sind empfehlenswert.


Anmelden zum Antworten