/* Getraenke Automat Version 0.4 */
#include<stdio.h>
// --- Funktions-Prototypen ---------------------------
int auswahlGetraenkeSorte( ) ;
int eingabeMenge( ) ;
float ermittlePreis( int sorte) ;
int bezahlen( float zuZahlen) ;
void ausgabeGetraenke( int sorte, int menge) ;
// --- Hauptprogramm ----------------------------------
int main( ) {
printf ( "Getraenke Automat v0.4\n \n " ) ;
int sorte, menge, bezahlt;
float preis, zuZahlen;
sorte = auswahlGetraenkeSorte( ) ;
preis = ermittlePreis( sorte) ;
menge = eingabeMenge( ) ;
zuZahlen = preis * menge;
bezahlen( zuZahlen) ;
ausgabeGetraenke( sorte, menge) ;
printf ( "\n \n Vielen Dank, bitte entnehmen sie ihre Getraenke.\n " ) ;
return 0 ;
}
// --- Funktionen -------------------------------------
int auswahlGetraenkeSorte( ) {
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: " ) ; return sorte;
}
int eingabeMenge( ) {
int menge= 1 ;
printf ( "\n Geben sie die gewuenschte Menge ein: " ) ; return menge;
}
/* ermittelt den Preis zu einer Sorte
Parameter: sorte, Nummer der Sorte
Return-Value: Preis
*/
float ermittlePreis( int sorte) {
float preis= 0 ;
switch ( sorte) {
case 1 : preis = 0.5 ; break ;
case 2 : preis = 1.0 ; break ;
case 3 : preis = 2.0 ; break ;
}
return preis;
}
int bezahlen( float zuZahlen) {
printf ( "\n --- Bezahlvorgang ---\n " ) ; printf ( "\n Bezahlvorgang abbrechen mit 0\n " ) ; float einwurf;
do {
printf ( "\n Es fehlen noch %.2f Euro." , zuZahlen
) ; printf ( "\n Bitte werfen sie ein Geldstueck ein: " ) ; // eingeworfenen Betrag anrechnen
zuZahlen -= einwurf;
} while ( zuZahlen > 0.0 ) ;
return 1 ;
}
void ausgabeGetraenke( int sorte, int menge) {
printf ( "\n --- Getraenkeausgabe ---\n " ) ; int i;
for ( i= 0 ; i < menge; i++ ) {
printf ( "\n Flasche %d von %d der Sorte %d wurde ausgegeben." , i+ 1 , menge, sorte) ;
}
}
LyogR2V0cmFlbmtlIEF1dG9tYXQgVmVyc2lvbiAwLjQgKi8KCiNpbmNsdWRlPHN0ZGlvLmg+CgovLyAtLS0gRnVua3Rpb25zLVByb3RvdHlwZW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmludCBhdXN3YWhsR2V0cmFlbmtlU29ydGUoKTsKaW50IGVpbmdhYmVNZW5nZSgpOwpmbG9hdCBlcm1pdHRsZVByZWlzKGludCBzb3J0ZSk7CmludCBiZXphaGxlbihmbG9hdCB6dVphaGxlbik7CnZvaWQgYXVzZ2FiZUdldHJhZW5rZShpbnQgc29ydGUsIGludCBtZW5nZSk7CgovLyAtLS0gSGF1cHRwcm9ncmFtbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmludCBtYWluKCkgewoJcHJpbnRmKCJHZXRyYWVua2UgQXV0b21hdCB2MC40XG5cbiIpOwoKCWludCBzb3J0ZSwgbWVuZ2UsIGJlemFobHQ7CglmbG9hdCBwcmVpcywgenVaYWhsZW47CgkKCXNvcnRlID0gYXVzd2FobEdldHJhZW5rZVNvcnRlKCk7CglwcmVpcyA9IGVybWl0dGxlUHJlaXMoc29ydGUpOwoJbWVuZ2UgPSBlaW5nYWJlTWVuZ2UoKTsKCXp1WmFobGVuID0gcHJlaXMgKiBtZW5nZTsKCWJlemFobGVuKHp1WmFobGVuKTsKCWF1c2dhYmVHZXRyYWVua2Uoc29ydGUsIG1lbmdlKTsKCXByaW50ZigiXG5cblZpZWxlbiBEYW5rLCBiaXR0ZSBlbnRuZWhtZW4gc2llIGlocmUgR2V0cmFlbmtlLlxuIik7CgkKCXJldHVybiAwOwp9CgovLyAtLS0gRnVua3Rpb25lbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmludCBhdXN3YWhsR2V0cmFlbmtlU29ydGUoKSB7CglpbnQgc29ydGU7CglwcmludGYoIldhZWhsZW4gc2llIGlociBHZXRyYWVuayBhdXM6XG4iKTsKCXByaW50ZigiMSkgV2Fzc2VyICgwLDUwIEV1cm8pXG4iKTsKCXByaW50ZigiMikgTGltb25hZGUgKDEsMDAgRXVybylcbiIpOwoJcHJpbnRmKCIzKSBCaWVyICgyLDAwIEV1cm8pXG5cbiIpOwoJcHJpbnRmKCJHZWJlbiBzaWUgMSwgMiBvZGVyIDMgZWluOiAiKTsKCXNjYW5mKCIlZCIsICZzb3J0ZSk7CglyZXR1cm4gc29ydGU7Cn0KCmludCBlaW5nYWJlTWVuZ2UoKSB7CglpbnQgbWVuZ2U9MTsKCXByaW50ZigiXG5HZWJlbiBzaWUgZGllIGdld3VlbnNjaHRlIE1lbmdlIGVpbjogIik7CglzY2FuZigiJWQiLCAmbWVuZ2UpOwoJcmV0dXJuIG1lbmdlOwp9CgovKgllcm1pdHRlbHQgZGVuIFByZWlzIHp1IGVpbmVyIFNvcnRlCglQYXJhbWV0ZXI6CXNvcnRlLCBOdW1tZXIgZGVyIFNvcnRlCglSZXR1cm4tVmFsdWU6CVByZWlzCiovCmZsb2F0IGVybWl0dGxlUHJlaXMoaW50IHNvcnRlKSB7CglmbG9hdCBwcmVpcz0wOwoJc3dpdGNoKHNvcnRlKSB7CgkJY2FzZSAxOiBwcmVpcyA9IDAuNTsgYnJlYWs7CgkJY2FzZSAyOiBwcmVpcyA9IDEuMDsgYnJlYWs7CgkJY2FzZSAzOiBwcmVpcyA9IDIuMDsgYnJlYWs7Cgl9CglyZXR1cm4gcHJlaXM7Cn0KCmludCBiZXphaGxlbihmbG9hdCB6dVphaGxlbikgewoJcHJpbnRmKCJcbi0tLSBCZXphaGx2b3JnYW5nIC0tLVxuIik7CglwcmludGYoIlxuQmV6YWhsdm9yZ2FuZyBhYmJyZWNoZW4gbWl0IDBcbiIpOwoJZmxvYXQgZWlud3VyZjsKCWRvIHsKCQlwcmludGYoIlxuRXMgZmVobGVuIG5vY2ggJS4yZiBFdXJvLiIsIHp1WmFobGVuKTsKCQlwcmludGYoIlxuQml0dGUgd2VyZmVuIHNpZSBlaW4gR2VsZHN0dWVjayBlaW46ICIpOwoJCXNjYW5mKCIlZiIsICZlaW53dXJmKTsKCQkvLyBlaW5nZXdvcmZlbmVuIEJldHJhZyBhbnJlY2huZW4KCQl6dVphaGxlbiAtPSBlaW53dXJmOwoJfSB3aGlsZSh6dVphaGxlbiA+IDAuMCk7CglyZXR1cm4gMTsKfQoKdm9pZCBhdXNnYWJlR2V0cmFlbmtlKGludCBzb3J0ZSwgaW50IG1lbmdlKSB7CglwcmludGYoIlxuLS0tIEdldHJhZW5rZWF1c2dhYmUgLS0tXG4iKTsKCWludCBpOwoJZm9yKGk9MDsgaSA8IG1lbmdlOyBpKyspICB7CgkJcHJpbnRmKCJcbkZsYXNjaGUgJWQgdm9uICVkIGRlciBTb3J0ZSAlZCB3dXJkZSBhdXNnZWdlYmVuLiIsCgkJCWkrMSwgbWVuZ2UsIHNvcnRlKTsKCX0KfQ==