Geldscheinautomat - do-while will nicht?
-
Moin zusammen.
Ich habe hier einen Code für einen Geldscheinautomaten. Der funktioniert auch genau so, wie ich es von ihm verlange.
Bis auf die Do-While-Schleife. Das Programm fragt mich lediglich ein Mal nach der Wunschmenge, durchläuft seine Schleife x-Mal, Ende. Aber es soll mich doch ganu so oft fragen, bis ich 0 "Geld" von ihm haben will. (Wo) habe ich hier einen Denkfehler gemacht?Würde mich sehr über Antworten freuen.
#include <stdio.h> int main() { int eingabe,i; int scheine[10]={1000, 500,200,100,50,20,10,5,2,1}; do { printf("Geben Sie den Bertrag an: \n"); scanf("%d",&eingabe); for(i=0;i<10;i++) { if(eingabe / scheine[i]!=0) printf("%d x %d\n",eingabe/scheine[i],scheine[i]); eingabe%=scheine[i]; } printf("\n"); }while(eingabe!=0); return 0; }
-
eingabe = eingabe % 1
-
Moin
Danke für deine Antwort, aber leider funktioniert das auch nicht
-
Na denk mal nach - welchen Wert hat eingabe am Ende der Schleife, wenn Du irgendwas ausser 0 eingibst?
-
Rest von irgendwas/1 (= irgendwas % 1): immer Null!
-
Das ist der Fehlergrund, nicht die Lösung.
Gib bei deinem
printf
doch nocheingabe
mit aus.
-
ScottZhang schrieb:
eingabe = eingabe % 1
Das war die beste Antwort.