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

Negacja strumienia wejścia

Konkurs Mistrz Programowania
0 głosów
685 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,163 wizyt
0 głosów
1 odpowiedź 2,493 wizyt
0 głosów
2 odpowiedzi 773 wizyt

93,652 zapytań

142,574 odpowiedzi

323,089 komentarzy

63,168 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

Kursy INF.02 i INF.03
...