C++:Geldrückgabe in einzelnen Geldstücken ausgeben

Hallo,

gerade bin ich dabei einen Getränkeautomaten zu programmieren. Er ist soweit fertig:
Der User kann Geld in einzelnen Geldstücken eingeben

  • Beispiel:
    Bitte geben Sie die Menge der 5 Cent Stücke ein: 5
    Bitte geben Sie die Menge der 10 Cent Stücke ein: 0

Außerdem ist das Programm fähig, die Getränke, die leer sind, aus der Auswahlanzeige zu nehmen. Es zeigt also nur die verfügbaren Getränke an.
Allerdings soll es jetzt, zu guter letzt, dem User ausgeben, wie viel Rückgeld in welchen Geldstücken es ausgibt.

  • Beispiel:
    Berechnete Rückgabe: 1 * 50 Cent

Sind diese 50 Cent allerdings nicht mehr vorhanden,
so soll es ausgeben:

Neue Berechnung: 2 * 20 Cent + 1 * 10 Cent

Ich habe leider nicht die geringste Idee,
wie ich dies in den Code implementieren könnte . . .
Kann mir bitte jemand helfen?!

Viele Grüße,

Sarah

Hi,

machen Sie doch ein Array mit allen Verfügbaren GEldstücken sortiert von
gros nach klein.

Dann eine Schleife die bei 0 also dem grösstem anfängt und solange wie
der auszugebene Geldbetrag grösser der Münze an der aktuellen Position
diese ausgibt und vom Rest abzieht.

Wäre die aktuelle Münze wechselt man den index auf das nächst kleinere
Geldstück usw bis zum 1ct Stück.

(pseudo-java)

int[] muenzen = new int[] {50.20.10.5.2.1}
int rest = 97; // ct

for( int i = 0 ; i

Danke, dass ist eine gute Idee :smile:

Hallo,

funktioniert das Programm Getränkeautomat?
Würde mich freuen, wenn du es mir zu schicken könntest.
[email protected]

MfG Stefan