Bedingung



  • Hallo,
    versuche gerade ein kleines simples Programm für einen Kraftstoffverbrauch für den Eigenbedarf zu schreiben und hänge dort irgendwie fest.

    Problem:
    Eingabe erfordert am Anfang "1" oder "2" in der Konsole um später noch weitere Daten zu berechnen. Mit 1 oder 2 wird der entsprechende Kraftstoff gewählt.

    Wenn ich eine "1" eingebe, funktioniert alles wie geplant. Jedoch springt die Anweisung bei "2" in den vordefinierten cerr um (was bei "1" auch richtig ist), jedoch als Inhalt bei Variable 2 richtig ist ... Irgendwie sehe ich den Fehler, aber mir fällt gerade die Lösung nicht ein 😞 😕

    Entschuldigt bitte, aber ich habe goto verwendet ...

    Die Sleep-Funktion ist zur Zeit nur drin, damit ich den Ablauf in der Konsole besser überprüfen kann und mir nicht direkt das Fenster zuspringt.

    Danke! 🙂

    //Verbrauchsrechner Ver. 0.1
    
    #include <iostream>
    #include <Windows.h>			
    
    using namespace std;
    
    int main()
    {
    
    	start:				
    
    	system("cls");				
    	cout << "Verbrauchsrechner" << endl;
    	cout << endl;
    
    	cout << "Bitte w\x84hlen Sie den Kraftstofftyp!" << endl;
    	cout << "(1) Benzin		(2) Diesel" << endl;
    	cout << "Ihre Eingabe:  ";
    
    	int auswahlkraftstoff;
    	int benzin(1);
    	int diesel(2);
    
    	cin >> auswahlkraftstoff;
    
    		if (auswahlkraftstoff == benzin)
    			{
    				cout << "Sie haben Benzin gew\x84hlt." << endl;
    				goto weiter;
    			}
    		else
    			{
    				cerr << "FEHLER" << endl;
    				Sleep(5000);						//Angabe in Millisekunden - entspricht 5 Sekunden!
    				goto start;
    			}
    
    		if (auswahlkraftstoff == diesel)
    			{
    				cout << "Sie haben Diesel gew\x84hlt." << endl;
    				goto weiter;
    			}
    		else
    			{
    				cerr<< "FEHLER!" << endl;
    				Sleep(5000);						//Angabe in Millisekunden - entspricht 5 Sekunden!
    				goto start;
    			}
    
    	weiter:
    
    	int tankmenge;
    
    	cout << "Bitte geben Sie die Tankmenge ein: ";
    	cin >> tankmenge;
    	cout << endl;
    
    	cout << "Blbablab" << endl;
    
    	system("PAUSE");
    
    }
    


  • Such in Deinem Buch nach "else if"



  • SG1 schrieb:

    Such in Deinem Buch nach "else if"

    oder besser noch nach "switch"



  • Stimmt, switch!! Bin irgendwie nicht mehr darauf gekommen. Jetzt passt's! Danke 🕶 🕶


Anmelden zum Antworten