Ein Lösungsvorschlag zur Übung mit Schleifen.
/* Getraenke Automat Version 0.3 */
printf("Getraenke Automat v0.3\n\n");
// Auswahl der Getraenke
int sorte;
printf("Waehlen sie ihr Getraenk aus:\n");
printf("1) Wasser (0,50 Euro)\n");
printf("2) Limonade (1,00 Euro)\n");
printf("3) Bier (2,00 Euro)\n\n");
printf("Geben sie 1, 2 oder 3 ein: ");
scanf("%d", &sorte);
// lege den zu zahlenden Betrag fest
float preis=0;
switch(sorte) {
case 1: preis = 0.5; break;
case 2: preis = 1.0; break;
case 3: preis = 2.0; break;
}
// Eingabe der Menge
int menge=1;
printf("\nGeben sie die gewuenschte Menge ein: ");
scanf("%d", &menge);
// Bezahlvorgang
printf("\n--- Bezahlvorgang ---\n");
float einwurf;
float zuZahlen = preis * menge;
do {
printf("\nEs fehlen noch %.2f Euro.", zuZahlen);
printf("\nBitte werfen sie ein Geldstueck ein: ");
scanf("%f", &einwurf);
// eingeworfenen Betrag anrechnen
zuZahlen -= einwurf;
} while(zuZahlen > 0.0);
// Ausgabe der Getraenke
printf("\n--- Getraenkeausgabe ---\n");
int i;
for(i=0; i < menge; i++) {
printf("\nFlasche %d von %d wurde ausgegeben.", i+1, menge);
}
printf("\n\nVielen Dank, bitte entnehmen sie ihre Getraenke.\n");
