e2:aufgaben_geldrausgeben2

Geldrausgeben

Das Programm „Geldrausgeben2“ kann einen eingegebenen Geldbetrag zuerst auf zwei Stellen nach dem Komma runden und dann die Schein- und Münzkombination ausgeben, sodass man möglichst wenig Scheine und Münzen benötigt. Außerdem kann das Programm ohne zwischenzeitliches schließen unendlich oft wiederholt werden. Beenden kann man es mit dem einfachen Befehl Stopp, worauf es sich auch nach doppeltem drücken der Enter-Taste selbst schließt. Desweiteren gibt das Programm auch einen Fehlercode aus, falls man weder einen Geldbetrag noch den Stopp-Befehl eingibt. Falls jemand das Programm gerne kopieren will, muss bei Java nur eine Console-Datei erstellt und der unten stehende Quellcode eingefügt werden.

import java.util.Scanner;
public class Geldrausgeben {
  public static void main(String[] args) {
    int a = 0;   //500€ Scheine
    int b = 0;   //200€ Scheine
    int c = 0;   //100€ Scheine
    int d = 0;   //50€ Scheine
    int e = 0;   //20€ Scheine
    int f = 0;   //10€ Scheine
    int g = 0;   //5€ Scheine
    int h = 0;   //2€ Münze
    int i = 0;   //1€ Münze
    int j = 0;   //0,5€ Münze
    int k = 0;   //0.2€ Münze                     
    int l = 0;   //0.1€ Münze
    int m = 0;   //0.05€ Münze
    int n = 0;   //0.02€ Münze
    int o = 0;   //0.01€ Münze
    int p = 0;   
    Double eingabe = 0.0; //Der eingegebene Wert
    boolean weiter = true; //solange weiter wahr ist wiederholt sich das Programm
    Scanner sc = new Scanner(System.in);
    while (weiter) { 
      System.out.println("Geben Sie einen Geldbetrag ein, oder Stopp, um die Schleife zu beenden");
      if (sc.hasNext("Stopp")) {
       weiter = false; 
      } // end of if
      else {
        if (sc.hasNextDouble()) {
          eingabe=sc.nextDouble();
          eingabe = Math.round(eingabe*100)/100.0;
          System.out.println("Die Zahl lautet " + eingabe + " dabei wurde sie auf zwei Stellen nach dem Komma gerundet!");
          if (eingabe >= 500) {
            while (eingabe >= 500) { 
              a = a +1;
              eingabe = eingabe - 500;  
            } // end of while
          }
          if (eingabe >= 200) {
            while (eingabe >=200) { 
             b = b +1;
              eingabe = eingabe - 200;  
            } // end of while
          }
          if (eingabe >= 100) {
            while (eingabe >=100) { 
              c = c +1;
              eingabe = eingabe - 100;  
            } // end of while
          }
          if (eingabe >= 50) {
            while (eingabe >=50) { 
              d = d +1;
              eingabe = eingabe - 50;  
            } // end of while
          }
          if (eingabe >= 20) {
            while (eingabe >=20) { 
              e = e +1;
              eingabe = eingabe - 20;  
            } // end of while
          }
          if (eingabe >= 10) {
            while (eingabe >=10) { 
              f = f +1;
              eingabe = eingabe - 10;  
            } // end of while
          }
          if (eingabe >= 5) {
            while (eingabe >=5) { 
              g = g +1;
              eingabe = eingabe - 5;  
            } // end of while
          }
          if (eingabe >= 2) {
            while (eingabe >=2) { 
              h = h +1;
              eingabe = eingabe - 2;  
            } // end of while
          }
          if (eingabe >= 1) {
            while (eingabe >=1) { 
              i = i +1;
              eingabe = eingabe - 1;  
            } // end of while
          }
          if (eingabe >= 0.5) {
            while (eingabe >=0.5) { 
              j = j +1;
              eingabe = eingabe - 0.5;  
            } // end of while
          }
          if (eingabe >= 0.2) {
            while (eingabe >=0.2) { 
              k = k +1;
              eingabe = eingabe - 0.2;  
            } // end of while
          }
          if (eingabe >= 0.1) {
            while (eingabe >=0.1) { 
              l = l +1;
              eingabe = eingabe - 0.1;  
            } // end of while
          }
          if (eingabe >= 0.05) {
            while (eingabe >=0.05) { 
              m = m +1;
              eingabe = eingabe - 0.05;  
            } // end of while
          }
          if (eingabe >= 0.02) {
            while (eingabe >=0.02) { 
              n = n +1;
              eingabe = eingabe - 0.02;  
            } // end of while
          }
          if (eingabe >= 0.01) {
            while (eingabe >=0.01) { 
              o = o +1;
              eingabe = eingabe - 0.01;  
            } // end of while
          }
          else {
            p = 0;
          } // end of if-else
 
          System.out.println("Im Folgenden sehen sie, welche Geldscheine/-münzen sie zum Bezahlen benötigen:");
 
          if (a>0) {
            System.out.println (a + "mal 500 Euro"); 
          } // end of if
 
          if (b>0) {
            System.out.println (b + "mal 200 Euro"); 
          } // end of if
 
          if (c>0) {
            System.out.println (c + "mal 100 Euro"); 
          } // end of if
 
          if (d>0) {
            System.out.println (d + "mal 50 Euro"); 
          } // end of if
 
          if (e>0) {
            System.out.println (e + "mal 20 Euro"); 
          } // end of if
 
          if (f>0) {
            System.out.println (f + "mal 10 Euro"); 
          } // end of if
 
          if (g>0) {
            System.out.println (g + "mal 5 Euro"); 
          } // end of if
 
          if (h>0) {
            System.out.println (h + "mal 2 Euro"); 
          } // end of if
 
          if (i>0) {
            System.out.println (i + "mal 1 Euro"); 
          } // end of if
 
          if (j>0) {
            System.out.println (j + "mal 50 Cent"); 
          } // end of if
 
          if (k>0) {
            System.out.println (k + "mal 20 Cent"); 
          } // end of if
 
          if (l>0) {
            System.out.println (l + "mal 10 Cent"); 
          } // end of if
 
          if (m>0) {
            System.out.println (m + "mal 5 Cent"); 
          } // end of if     
 
          if (n>0) {
            System.out.println (n + "mal 2 Cent"); 
          } // end of if
 
          if (o>0) {
            System.out.println (o + "mal 1 Cent"); 
          } // end of if
 
          else {
            p=0;
          } // end of if-else     
        } // end of if
        else {
          System.out.println("Das war weder eine Zahl, noch der Befehl Stopp!");
          sc.next();
        } // end of if-else
      } // end of if-else
    } // end of while
    sc.close();
    System.out.println("Die Schleife wurde beendet!");
  } // end of main
} // end of class Geldrausgeben

Erarbeitet von Yannick Pfaff
  • /var/www/infowiki/data/pages/e2/aufgaben_geldrausgeben2.txt
  • Zuletzt geändert: 2017/07/04 08:48
  • von admin03