Lagerverwaltung erstellen | Bin Ich auf dem Holzweg?



  • Ich danke dir.
    Das mit den Arrays habe Ich schon in einem Buch mit dem Ich nebenbei noch Arbeite auch schon gelesen wie auch in Tutorials gesehen. Aber es ist leider so Gefordert aber danke für den Tipp.

    Und die out-of-bound access Stellen werde Ich auch noch mal Überarbeiten.



  • Du solltest dir übrigens dringend anschauen, wie man ein raw-array per Referenz übergibt, oder dir eine andere Variante des Übergebens aussuchen (z.B. Zeiger auf erstes Element und eine Size). So wie du es machst, kopierst du ständig alles, was unnötig ist.

    Außerdem solltest du dein struct im Singular benennen und nicht im Plural.



  • Ich darf aber bis hier hin leider nur mit dem Arbeiten was bis dato gelernt wurde. 😞
    Pointer, Referenzen und co kommen erst im Nächsten Heft.



  • anti-freak schrieb:

    Ohne jetzt irgend jemandem ans Bein pinkeln zu wollen,

    Mittlerweile denke ich, diese Einstellung ist falsch.

    anti-freak schrieb:

    aber dieser ILS Kurs schein ein wenig veraltet.

    Dies ist offensichtlich ein Kurs "C, dann C++" und damit völliger Schrott. Siehe auch CppCon 2015: Kate Gregory “Stop Teaching C"



  • struct kisten
    

    Die Struktur beschreibt eine Kiste. Das sollte der Name auch ausdrücken.

    kisten einlesen(kisten werte[50]) {
    

    Warum liefert die Funktion etwas zurück?
    Warum ist das eine Kiste?
    Der Compiler nimmt die 50 zwar so an, so funktionieren Arrays als Funktionsparameter aber nicht. Verwende kisten werte[] oder kisten* werte.

    Es gibt keine Magie beim Arrayzugriff, d.h. werte[50] zaubert dir nicht das passende Element herbei. Du wirst schon Schleifen und Index verwenden müssen.



  • anti-freak schrieb:

    So wie du es machst, kopierst du ständig alles,

    Äh, nein, da wird nichts kopiert.



  • Ich habe das Gefühl das in eurem Kurs C++ Programmierung im Stile der 90er Jahre gelehrt wird.



  • manni66 schrieb:

    anti-freak schrieb:

    So wie du es machst, kopierst du ständig alles,

    Äh, nein, da wird nichts kopiert.

    Ach, nein?

    kisten einlesen(kisten werte[50]);
    kisten loeschen(kisten werte[50]);
    kisten aendern(kisten werte[50]);
    kisten anzeigen(kisten werte[50]);
    kisten liste(kisten werte[50]);
    

    Muss ich mich verguckt haben. Wenn er natürlich im Aufruf keine Parameter übergibt, wird auch nix kopiert, weil es schlicht nicht compiled...



  • anti-freak schrieb:

    manni66 schrieb:

    anti-freak schrieb:

    So wie du es machst, kopierst du ständig alles,

    Äh, nein, da wird nichts kopiert.

    Ach, nein?

    Nein.



  • manni66 schrieb:

    anti-freak schrieb:

    manni66 schrieb:

    anti-freak schrieb:

    So wie du es machst, kopierst du ständig alles,

    Äh, nein, da wird nichts kopiert.

    Ach, nein?

    Nein.

    Du hast Recht, da hab ich mich geirrt. Danke für deine ausführliche Richtigstellung! Immer wieder eine Freude mit dir zu kommunizieren 😉
    Jedenfalls 1 Grund mehr auf meiner Liste, warum ich raw arrays meide.


Anmelden zum Antworten