Falscheingabe abfangen



  • hier ein bsp.

    cout << "1.ABC"<<endl
         << "2.BCD"<<endl
         << "3.EFG"<<endl;
    
    int i;
    cin >> i;
    switch(i)
    {
    ...
    }
    

    wie kann ich aber ein char abfangen ?
    damit das programm nicht abstürtzt ?



  • für die basisdatentypen funktioniert folgendes:

    float fl;//oder char...
    
    	   while(!(cin >> fl))
    	  {
    		   cout<<"Falscheingabe\n";	
    		   cin.clear();				
    		   cin.ignore(INT_MAX,'\n');
    	  }
    

    climits muss für diesen ausschnitt für INT_MAX includiert werden.


Anmelden zum Antworten