Getraenkeautomat
-
Hi Ihr ;))
Also, wir Ihr sicher gleich bemerkt bin ich ein C++ Anfaenger Aber wie heisst es so schoen... jeder hat mal angefangen
Zur Uebung wollte ich mir mal meinen eigenen Getraenkeautomat programmieren und bin jetzt mal soweit...
//--------------------------------------------------------------------------- #include <iostream.h> #include <conio.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { char c, p, m, k, e; char eingabe; int geld; cout <<"=======================================" << endl; cout <<"!!!! Mein eigener Getraenkeautomat !!!!" << endl; cout <<"=======================================" << endl << endl << endl; cout << "Sie haben folgende Getraenke zur Auswahl " << endl; cout << endl << endl; cout << "( c ) fuer Coca-Cola " << endl; cout << "( p ) fuer Pepsi-Cola" << endl; cout << "( m ) fuer Mineralwasser" << endl; cout << "( k ) fuer Kaffee " << endl; cout << "( e ) fuer Espresso" << endl; cout << endl << endl; cout << "Bitte waehlen Sie sich ein Getraenk aus " << endl << endl; cout << "||> "; cin >> eingabe; cout << endl; switch (eingabe) { case 'c': cout << "Dieses Getraenk kostet 100 Eurocent" << endl << endl; cout << "Bitte werfen Sie den entsprechenden Betrag in Muenzen ein "<< endl; cout << "Es werden nur 10, 20, 50 Cent Muenzen angenommen" << endl << endl; cout << "||>"; cin >> geld; break; case 'p': cout << "Dieses Getraenk kostet 120 Eurocent" << endl << endl; cout << "Bitte werfen Sie den entsprechenden Betrag in Muenzen ein "<< endl; cout << "Es werden nur 10, 20, 50 Cent Muenzen angenommen" << endl << endl; cout << "||>"; cin >> geld; break; case 'm': cout << "Dieses Getraenk kostet 80 Eurocent" << endl << endl; cout << "Bitte werfen Sie den entsprechenden Betrag in Muenzen ein "<< endl; cout << "Es werden nur 10, 20, 50 Cent Muenzen angenommen" << endl << endl; cout << "||>"; cin >> geld; break; case 'k': cout << "Dieses Getraenk kostet 60 Eurocent" << endl << endl; cout << "Bitte werfen Sie den entsprechenden Betrag in Muenzen ein "<< endl; cout << "Es werden nur 10, 20, 50 Cent Muenzen angenommen" << endl << endl; cout << "||>"; cin >> geld; break; case 'e': cout << "Dieses Getraenk kostet 100 Eurocent" << endl << endl; cout << "Bitte werfen Sie den entsprechenden Betrag in Muenzen ein "<< endl; cout << "Es werden nur 10, 20, 50 Cent Muenzen angenommen" << endl << endl; cout << "||>"; cin >> geld; break; } getchar(); return 0; } //---------------------------------------------------------------------------
Nun habe ich folgendes Problem. Der, der ja ein Getraenk kaufen moechte soll nun seine Muenzen einwerfen. Aber wie kann ich das jetzt machen?? Weil er koennte ja z.B. 4x50 Eurocent einwerfen oder auch 10x10 Eurocent oder auch zuviel, dann wuerde er ja wieder ein rausgeld bekommen.
Ich hab daran gedacht es in eine For-Schleife zu packen, aber irgendwie gelingt es mir nicht. Haette jemande vielleicht eine Idee fuer mich?? :p
Vielen Dank schon malLg cuPI
-
Ich würde eher do-while nehmen, da er ja mindestens ein Geldstück einwerfen muss. for setzt voraus, dass du weißt wieviele er einwirft...
-
hab nur eine kleine funktion hinzugefügt.
solltest du noch irgendwelche fragen haben dann stell sie einfachmfg murdi
#include <iostream> //--------------------------------------------------------------------------- using namespace std; void Einwerfen( int Betrag ) { int geld = 0; int Summe = 0; cout << "Bitte werfen Sie den entsprechenden Betrag in Muenzen ein "<< endl; cout << "Es werden nur 10, 20, 50 Cent Muenzen angenommen" << endl << endl; do { cout << "Fehlender Betrag: " << Betrag - Summe << " Eurocent" << endl; cout << "||>"; cin >> geld; if( ( geld != 10 ) && ( geld != 20 ) && ( geld != 50 ) ) cout << "\nBetrag entspricht nicht den Vorgaben !!\nAus diesem Grund wird auch keine Mehrung des Betrags vorgenommen!!" << endl; else Summe += geld; } while( Summe < Betrag ); if( Summe > Betrag ) cout << "\n\nIhr Restgeld betraegt " << Summe - Betrag << " Eurocent" << endl; } int main(int argc, char* argv[]) { char c = 0, p = 0, m = 0, k = 0, e = 0; char eingabe = 0; cout <<"=======================================" << endl; cout <<"!!!! Mein eigener Getraenkeautomat !!!!" << endl; cout <<"=======================================" << endl << endl << endl; cout << "Sie haben folgende Getraenke zur Auswahl " << endl; cout << endl << endl; cout << "( c ) fuer Coca-Cola " << endl; cout << "( p ) fuer Pepsi-Cola" << endl; cout << "( m ) fuer Mineralwasser" << endl; cout << "( k ) fuer Kaffee " << endl; cout << "( e ) fuer Espresso" << endl; cout << endl << endl; cout << "Bitte waehlen Sie sich ein Getraenk aus " << endl << endl; cout << "||> "; cin >> eingabe; cout << endl; switch (eingabe) { case 'c': cout << "Dieses Getraenk kostet 100 Eurocent" << endl << endl; Einwerfen( 100 ); break; case 'p': cout << "Dieses Getraenk kostet 120 Eurocent" << endl << endl; Einwerfen( 120 ); break; case 'm': cout << "Dieses Getraenk kostet 80 Eurocent" << endl << endl; Einwerfen( 80 ); break; case 'k': cout << "Dieses Getraenk kostet 60 Eurocent" << endl << endl; Einwerfen( 60 ); break; case 'e': cout << "Dieses Getraenk kostet 100 Eurocent" << endl << endl; Einwerfen( 100 ); break; } return 0; }
-
Hey super.... laeuft alles. Dankeschoen fuer deine Hilfe ;)))