Auszahlen von Geldbeträgen

Aufgabe - Beliebige Euro Beträge auszahlen

Entwerfen Sie ein Programm, welches einen Geldautomaten simuliert, der beliebige Euro-Beträge bis maximal 500 Euro auszahlt.
  • Der gewünschte Betrag wird vom Nutzer eingegeben.
  • Als Ergebnis wird die Anzahl der auszahlbaren Geldscheine und Münzen ausgegeben.

Bei einem Betrag von 19 Euro erhalten Sie z.B. die Ausschrift :
"Sie erhalten 1 Zehn-Euro-Schein, 1 Fünf-Euro-Schein und 2 Zwei-Euro-Münzen".

Ein paar Hilfs-Überlegungen

  • Fangen Sie erst einmal mit einer Eingabe eines Betrags von 8 Euro an!
    Wenn das gut funktioniert, dann ändern Sie den Betrag auf 9, dann 19 Euro usw.
  • Wie gibt man einen Betrag ein? Wie wird aus einer Eingabe eine Zahl, welche man prüfen kann?
    • siehe Anlegen von Variablen, prompt(), parseInt() und parseFloat()
  • Gehen Sie davon aus, dass Sie die Scheine nicht sofort auszahlen, sondern im Programm erst einmal ermitteln, wie viele Scheine und Münzen Sie auszugeben haben. Sie benötigen also auch ein paar Variablen zum Zählen!
  • Wie kann man einen Betrag in vorgegebenen Geldscheinen und Münzen auszahlen?
    Wie würden Sie das im Spiel Monopoly bewerkstelligen?
    Genau so geht das auch hier:
    • Die große Summe wird schrittweise reduziert um den Betrag, welchen Sie gerade 'auszahlen' bzw. in einer Zählvariable vormerken zur Auszahlung.
    • Sie benötigen für jeden Schein bzw. für jede Münze eine Zählvariable, die die Anzahl der auszuzahlenden Schein bzw. Münzen enthält.

Das Struktogramm

(für eine ganz einfache Lösung bis 9 Euro und noch mit mindestens einem Fehler!)

StruktoGA.JPG
StruktoGA.JPG

Ein mögliches HTML-Gerüst für das Programm, welches Sie nutzen können.
<!DOCTYPE html>
<html>
  <head>
    <title>Auszahlen</title>
    <meta charset="utf-8">
    <style>
 
    </style>
  </head>
  <body>
    <script>
 
    </script>
  </body>
</html>

Tipps

zu schwer?

  • Haben Sie gemerkt, dass im Struktogramm der Vergleich > nicht zielführend ist? Was muss an dieser Stelle stehen?
  • Haben Sie bei Vergleichen (falls diese in Ihrem Programm vorkommen) den Operator == verwendet anstelle des Zuweisungsoperators =?

zu einfach?

  • Verwenden Sie weder die Funktion alert() noch document.write() für Ihre Ausgaben.
    Die Ausgabe hat im Ausgabefeld zu erfolgen!
  • Zahlen Sie auch Kleingeld aus (50Cent, 20 Cent, ...)






























Hier wird nur nachgesehen, wenn Sie sich bereits die Zähne ausgebissen haben und nicht mehr weiter wissen, ok.?!






Lösung





Beispiellösung Geldautomat

a) Struktogramm berücksichtigt nicht den Betrag 9 Euro und die abfragen müssen >= lauten!
b) geldautomat.html