• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Negacja strumienia wejścia

0 głosów
704 wizyt
pytanie zadane 11 października 2016 w C i C++ przez JanuszSTW Początkujący (480 p.)

Witam, w odcinku szóstym kursu C++ Pana Mirosława natknąłem się na niezrozumiały dla mnie zapis.

    if (!(cin >> nr_miesiaca))

Przy czym zmienna "nr_miesiaca" jest int'em.

Wydaje się to mi nie zrozumiałe ze względu na negację strumienia wejścia co jest trochę nielogiczne.

Tu pojawia się pytanie. Czy któryś z Pasjonatów jest w stanie wyjaśnić mi racjonalnie działanie tej instrukcji?

Pozdrawiam i z góry dziękuję za odpowiedz. wink

2 odpowiedzi

+2 głosów
odpowiedź 11 października 2016 przez unknown Nałogowiec (39,560 p.)
wybrane 11 października 2016 przez JanuszSTW
 
Najlepsza
Kiedy wczytywanie danych za pomocą operatora >> się nie powiodło z powodu wprowadzenia litery zamiast liczby, flaga failbit jest ustawiana. Operator negacji na obiekcie typu istream zwraca true kiedy flaga failbit(lub badbit) jest ustawiona.
komentarz 11 października 2016 przez JanuszSTW Początkujący (480 p.)
Jeszcze lepsza odpowiedz. Dziękuje :D
+2 głosów
odpowiedź 11 października 2016 przez LisekPL Bywalec (2,920 p.)
Oznacza to że jeżeli wpiszemy za nr_miesiaca wartość która nie jest liczbą (int), wykona się instrukcja w if. Np. wyświetli się komunikat o błędzie typu: "Podana wartość nie jest liczbą!".
komentarz 11 października 2016 przez JanuszSTW Początkujący (480 p.)
Dobra, zajarzyłem :D Dzięki

Podobne pytania

0 głosów
3 odpowiedzi 2,181 wizyt
0 głosów
1 odpowiedź 2,532 wizyt
0 głosów
2 odpowiedzi 803 wizyt

93,692 zapytań

142,611 odpowiedzi

323,221 komentarzy

63,220 pasjonatów

Motyw:

Akcja Pajacyk

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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...