cin.good()
if(!(cin >> liczba)) { cerr << "Zuo!!!\n"; }
#include <iostream> using namespace std; int main() { int liczba; cout << "Podaj liczbe: " << endl; if(!(cin >> liczba)) { cerr << "Zuo!!!\n"; } }
Mam już coś takiego, teraz pytanie jak wyzbyć się entera, że jak ktoś da enter to też bedzie eror
Więc tak :
int n; cin >> n; if(!cin) // or if(cin.fail()) { // jeśli użytkownik nie wprowadził np żadnej wartości cin.clear(); // resetuj cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // pomijamy błędne wpisanie // nastepnie poproś np ponownie o wprowadzenie danych użytkownika }
lub
// pental tak długo aż nie bedzie poprawnie wczytanie while (!cin.good()) { cin.clear(); cin.ignore(INT_MAX, '\n'); ...//zapytaj ponownie o liczbe...
}
93,605 zapytań
142,530 odpowiedzi
322,999 komentarzy
63,095 pasjonatów
Motyw:
Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡
Oto polecana książka warta uwagi.Pełną listę książek znajdziesz tutaj