title image


Smiley Re: Probleme in einer Funktion bei einem Schulprojekt
Hi Chaosdevil,

weis nicht ganz, ob ich verstanden habe, was du meinst. Aber wie wäre es damit: (s.u.)



Hope it helps

SanMiggel



PS: Die Einzahlen Funktion bekommt einen double übergeben und gibt einen int zurück. Außerdem steht im return-statement ein double - das ist nicht gerade so elegant. Das solltest du noch anpassen.







void menue()

{

cout << "\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD*****Menue*****\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB" << endl;

cout << "\t\xBA \xBA" << endl;

cout << "\t\xBA FAHRKARTENAUTOMAT \xBA" << endl;

cout << "\t\xBA \xBA" << endl;

cout << "\t\xBA \xBA" << endl;

cout << "\t\xBA Preisstufe Betrag Taste \xBA" << endl;

cout << "\t\xBA -------------------------- \xBA" << endl;

cout << "\t\xBA Kurzstrecke 1.60 Euro k \xBA" << endl;

cout << "\t\xBA \xBA" << endl;

cout << "\t\xBA 1 Tarifzone 2.50 Euro 1 \xBA" << endl;

cout << "\t\xBA 2 Tarifzonen 4.80 Euro 2 \xBA" << endl;

cout << "\t\xBA 3 Tarifzonen 7.20 Euro 3 \xBA" << endl;

cout << "\t\xBA 4 Tarifzonen 9.00 Euro 4 \xBA" << endl;

cout << "\t\xBA \xBA" << endl;

cout << "\t\xBA \xBA" << endl;

cout << "\t\xBA Unterbrechung x \xBA" << endl;

cout << "\t\xBA -------------------------- \xBA" << endl;

cout << "\t\xBA \xBA" << endl;

cout \xBA" << endl;

cout << "\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC" << endl;

}



int einzahlen(double kohle)

{

double muenze;

int halter;

cout << endl << "\tBitte den Betrag von " << kohle/100 << " Euro einwerfen."<< endl;

cout << "\tNur mit Muenzen!" << endl;

cout << "\tErlaubt sind nur 2.00, 1.00, 0.50, 0.20 und 0.10 Euro-Muenzen." << endl;

cout << "\t";

do

{

halter=0;

do

{

cin >> muenze;

if ((muenze==2) || (muenze==1) || (muenze==0.50) || (muenze==0.20) || (muenze==0.10))

{

halter=1;

}

else {

cout<
}

}

while (halter!=1);

kohle=kohle-(muenze*100);

if (kohle>=0) cout<<"\tNoch " << kohle/100 << " EURO zu zahlen." << endl << "\t";

}

while(kohle>0);



kohle=kohle*(-1);

cout << "\tSie bekommen " << kohle/100 << " EURO zurueck" << endl;

return kohle;

}



void rueckgabe(double kohle)

{

char entnehm;

int zwei=0,eins=0,fuenfzig=0,zwanzig=0,zehn=0;

while (kohle>=200)

{

kohle=kohle-200;

zwei++;

}

while (kohle>=100){

kohle=kohle-100;

eins++;

}

while (kohle>=50){

kohle=kohle-50;

fuenfzig++;

}

while (kohle>=20){

kohle=kohle-20;

zwanzig++;

}

while (kohle>=10){

kohle=kohle-10;

zehn++;

}

cout << endl << "\tRueckgabe in folgenden Muenzen:" << endl;

cout << "\t " << zwei << " x 2.00 EURO"<
cout << "\t " << eins << " x 1.00 EURO"<
cout << "\t " << fuenfzig <<" x 0.50 EURO"<
cout << "\t " << zwanzig<<" x 0.20 EURO"<
cout << "\t " << zehn<<" x 0.10 EURO"<
cout << endl << endl << "\tFahrkarte entnehmen.";



while(entnehm != 'j' && entnehm != 'J')

{

cout << endl << "\tHaben Sie die Fahrkarte entnommen? j/J=Ja ";

cin >> entnehm;

}

}



void main()

{

char gebuehr;

int betrag;

do

{

menue();

cout << endl << "\tEingabe: ";

cin >> gebuehr;



switch(gebuehr)

{

case 'k':

{

rueckgabe(betrag=einzahlen(160));

break;

}

case '1':

{

rueckgabe(betrag=einzahlen(250));

break;

}

case '2':

{

rueckgabe(betrag=einzahlen(480));

break;

}

case '3':

{

rueckgabe(betrag=einzahlen(720));

break;

}

case '4':

{

rueckgabe(betrag=einzahlen(900));

break;

}

}



}

while (gebuehr!='x');

}

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: