title image


Smiley Probleme in einer Funktion bei einem Schulprojekt
Guten Morgen!



Ich lerne seit ein paar Monaten C++ und habe mich immer tapfer durch die Schulstunden

geschlagen. Doch nun sollen wir einen Fahrkartenautomaten programmieren und irgendwie sehe ich momentan den Wald vor lauter Bäumen nicht mehr. :(

Wie das Programm aufgebaut sein soll, kann man anhand des Anhanges erkennen. Doch ich stecke irgendwie in der Funktion int einzahlen(double kohle) fest. Normalerweise soll die Aufforderung mit dem Betrag nur einmal kommen. Doch sobald ich etwas in den Schleifen verändere, rechnet er nicht mehr oder aber er rechnet nur Unfug. Außerdem muss ich auch irgendwo in den Schleifen eine Ausgabe schreiben, wo steht, wieviel der Benutzer noch zahlen muss. Doch wie gesagt, irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr, denn egal wie ich es drehe und wende, danach funktioniert meistens das Programm nicht mehr.

Würde sich jemand mal bereit erklären, über meinen Quellcode zu schauen? Anscheinend bin ich momentan blind, aber ich stecke in einer Sackgasse fest... Würde mich über Hilfe freuen... Gruß chaosdevil



Code:

#include



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;

do

{

halter=0;

do

{

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

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

cout << endl;

}

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

Anhang
Bild 10991 zu Artikel 523816

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: