Guten Tag,
ich bin gerade an einer Aufgabe einen Getränkeautomaten in C zu schreiben. Dabei habe ich jetzt aber mal eine Frage bezüglich der Umsetzung.
Ich möchte gerne, dass er immer das größtmögliche Geldstück/schein ausgibt. Heißt wenn die Cola 1,50 kostet und wir 10€ ihm geben, sollten 4x2€ und ein 0,50€ als Wechselgeld rauskommen. Die Berechnung ist ja kein Problem aber mir fehlt der Ansatz zur Ausgabe mit den Geldstücken. Erstmal sollen nur Einwürfe mit größe als 10€ möglich sein. Das einzige was mir so in den Sinn käme wäre ein switchcase mit jedem erdenklichen Betrag zu machen =D
PHP-Code:
// Getränkeautomat
#include <stdio.h>
#include <stdlib.h>
int main() {
//Getränkeliste
printf("\n Our drinks:");
printf("\n--------------------------");
printf("\n1) Coca Cola 1.85$");
printf("\n2) Ice Tea 1.45$");
printf("\n3) Water 1.20$");
//Getränkeauswahl
int choice;
float drink1, drink2, drink3;
printf("\n\n\nPlease choose your drink: ");
scanf("%d", &choice);
switch(choice) {
case 1: do{
printf("\nYou choose Coca Cola. Please insert 1.85$: "); //Kann man das $ Zeichen hinter die Eingabe bekommen?
scanf("%f", &drink1);
//Einwurf >= 10
if(drink1 >= 10){
printf("\nYou insert %2.2f.", drink1);
}
//Wiederholung bei Einwurf < 10
else{
printf("\nPlease insert more money.");
}
} while(drink1 < 10); break;
case 2: do{
printf("\nYou choose Ice Tea. Please insert 1.45$: ");
scanf("%f", &drink2);
//Einwurf >= 10
if(drink2 >= 10){
printf("\nYou insert %2.2f.", drink2);
}
//Wiederholung bei Einwurf < 10
else{
printf("\nPlease insert more money.");
}
} while(drink2 < 10); break;
case 3: do{
printf("\nYou choose Water. Please insert 1.20$: ");
scanf("%f", &drink3);
//Einwurf >= 10
if(drink3 >= 10){
printf("\nYou insert %2.2f.", drink3);
}
//Wiederholung bei Einwurf < 10
else{
printf("\nPlease insert more money.");
}
} while(drink3 < 10); break;
default: printf("\nYou choose nothing. See you!"); break;
}
return 0;
}
P.S: Kann man das € Zeichen auch anzeigen lassen?
Schonmal danke im vorraus!