Benötige Hilfe bei folgendem Code (Aufgabe Getränkeautomat)



  • Hi auch an tntnet,
    ich habe versucht C++ systematisch zu erlernen und hab auch tatsächlich mit Hallo World angefangen.
    Ich mach das im Rahmen eines Fernkurses, bisher hatte ich auch keine großen Probleme, aber an dieser Aufgabe verzweifel ich momentan....

    Der Code den ich gepostet habe, ist der der vorgegeben ist, diesen soll man entsprechend der Aufgabe bearbeiten.
    Das ist die zweite Aufgabe zu diesem Code.

    Die erste Aufgabe zu dem Code habe ich erfolgreich gemeistert.
    Da wurde folgendes verlangt:

    Erstellen Sie eine Klasse für Getränke. Die Klasse soll den Namen des Getränks,
    den Preis pro Flasche und die noch vorhandene Anzahl Flaschen speichern können.
    Ersetzen Sie dann in der letzten Version des Getränkeautomaten aus diesem Studienheft
    die Attribute für die Getränke durch Instanzen der Klasse für die
    Getränke. Achten Sie dabei bitte auf die Datenkapselung.
    Kommentieren Sie Ihre Lösung ausreichend.

    Als Ergebnis habe ich folgendes: http://coliru.stacked-crooked.com/a/15c3b181e4d4e88c

    Nun häng ich allerdings an der zweiten Aufgabe und bekomme es nicht hin die Prüfung der Anzahl der vorhanden Flaschen richtig miteinzubeziehen. 😞 😕

    Edit durch Arcoth: Code ausgelagert.


  • Mod

    Längeren Code bitte auf Coliru o.ä. posten. Andernfalls wird die Seite schwer navigierbar.



  • Malibu1988 schrieb:

    Als Ergebnis habe ich folgendes: http://coliru.stacked-crooked.com/a/15c3b181e4d4e88c

    Bin mir 99% sicher dass das nicht so gedacht war.
    In der Angabe steht z.B. "Die Klasse soll den Namen des Getränks,
    den Preis pro Flasche und die noch vorhandene Anzahl Flaschen speichern können."

    Der Name des Getränks, der Preis etc. -- alles Einzahl.
    D.h. du sollst eine Klasse machen deren Objekte jeweils EIN Getränk beschreiben.

    Davon abgesehen...
    Du sollst einfach nur, nach der Eingabe der Anzahl, gucken ob auch noch genug da ist. Und dann halt ggf. auf das Maximum (=Anzahl der noch vorhandenen Flaschen) korrigieren.

    Also die Anweisung "wenn nimmer genug da, dann mach halt so viel wie noch da ist" in Code übersetzen.
    Dazu brauchst du nichtmal eine einzige Schleife, geschweige denn zwei.

    Malibu1988 schrieb:

    Aus dem Gedächtnis kann ich folgendens noch sagen:

    Z.B. wollte ich die Schleife zwischen 128 und 154 umzubauen, sodass folgendes geprüft wird:

    if (anzahlFlaschen[auswahl-1] = getraenkeIndex)
    
    1. Mit "=" tut man nix prüfen, damit tut man Zuweisen (=alten Wert überschreiben).
      Was du meinst ist vermutlich "==". Oder auch nicht, denn ich hab keinen Tau was du mit der Zeile erreichen willst.

    2. Beschreib bitte mal was du mit dieser Zeile erreichen wolltest. Und wo kommt jetzt auf einma getraenkeIndex her? In dem von dir gezeigten Code wird in den Funktionen entweder auswahl oder getraenkeIndex verwendet, aber soweit ich sehen konnte nie beides in der selben Funktion.


  • Mod

    hustbaer schrieb:

    1. Mit "=" tut man nix prüfen, damit tut man Zuweisen (==alten Wert überschreiben).

    FTFY 😃



  • 😃 😃
    Hasche Räächt



  • OK, ich war wohl zu ungeduldig .... ich hab gedacht es passiert nichts weil die Console nur schwarz war.
    Jetzt war ich kurz in nem anderen Raum, in der Zeit hat er doch was gemacht, nun gehts ... ^^

    Sorry und trotzdem danke für eure Hilfe



  • Malibu1988 schrieb:

    DANKE, kann geschlossen werden !!

    Boah, bei der nächsten Frage die nach Schulaufgabe riecht mach ich gleich mal präventiv nen Fullquote.


  • Mod

    hustbaer schrieb:

    Malibu1988 schrieb:

    DANKE, kann geschlossen werden !!

    Boah, bei der nächsten Frage die nach Schulaufgabe riecht mach ich gleich mal präventiv nen Fullquote.

    Keine Sorge, war ja gecached.



  • Hrhr. 😃 👍


  • Mod

    hustbaer schrieb:

    Hrhr. 😃 👍

    Ich hab' dich auch lieb.


Anmelden zum Antworten