Suche
Suche Menü

Lösung

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");