beim einlesen in int endlosschleife wegen vertippen



  • lese einen wert in eine int-variable ein!
    wenn ich mich jetzt vertippe zb. 2j statt 2 läuft das programm in endlosschleife durh. wie kann man das abfangen?
    habs auch schon als char versucht, aber da ich direkt danach noch eine variable einlese nimmt er gleich das j als 2. eingabe!



  • Breche bei Fehler schleife ab oder so ...

    #include <iostream>
    #include <sstream>
    #include <string>
    using namespace std;
    
    int main()
    {
            string input;
            cin >> input;
    
            istringstream converter(input);
            int i;
            converter >> i;
    
            if( !converter.eof() ) std::cout << "KEINE GÜLTIGE ZAHL!" << endl;
            else
            cout << i << endl;
    
    }
    


  • funtioniert perfekt!danke


Anmelden zum Antworten