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

Problem z "nieskonczonym" if

Object Storage Arubacloud
0 głosów
161 wizyt
pytanie zadane 18 maja 2016 w C i C++ przez ernest52 Początkujący (450 p.)
Witam!

Robiłem kalkulator podobny do tego z odcinka Pana Mirosława to był odcinek o switch-u i chciałem pobawić się z walidacją bynajmniej sprawdzić jak to działa , aż stworzyłem nieskończonego if-a czego nie rozumiem , ale podaje fragment kodu może ktoś pomoże mi to pojąć.

    char wybor;
    int a,b;
   powrot:
    cout<<"podaj dwie liczby : \n";
    
        cin>>a;
        cin>>b;
        
        
        if((!a)||(!b))
        {
            cout<<"podaj liczbe nie znaczek!\n sprobuj jeszcze raz!"<<endl;
            goto powrot;
          
        
        }

 

korzystałem z etykiety mając nadzieję ,że dzięki jej pomocy w if-ie cofnę się z powrotem do  wczytywania zmiennych, ale ku mojemu zaskoczeniu etykieta nie przenosi mnie do tego fragmentu. Jakieś pomysły, dlaczego tak się dzieje i jak to naprawić? Da się to naprawić?

Z góry dziękuję za pomoc.
komentarz 18 maja 2016 przez TheFeniks Gaduła (4,690 p.)
komentarz 18 maja 2016 przez draghan VIP (106,230 p.)
Skąd wziąłeś goto? :( Pan Zelent uczył o tym w swoim kursie (jakoś nie chce mi się uwierzyć)?
komentarz 18 maja 2016 przez TheFeniks Gaduła (4,690 p.)

goto; == broken heart ​

Mógł taką ładną pętelke zrobić. :l

while( true )
{

 //Kodzik

}

 

komentarz 19 maja 2016 przez ernest52 Początkujący (450 p.)
Nie, nie od Pana Zelenta, etykietę wziąłem z książki symfonia c++, zawsze jak jest jakaś lekcja u Pana Mirosława, szukam uzupełnień w symfonii c++ Pana Grębosza no i staram się to połączyć jedno z drugim pozmieniać kod , wzbogacić stworzyć coś innego , poeksperymentować . Wiem ,że etykieta ponoć jest zła , ale nie do końca rozumiem  dlaczego? To tylko wzgląd estetyczny?

2 odpowiedzi

+2 głosów
odpowiedź 18 maja 2016 przez niezalogowany
nie rób !a tylko cin.fail()
0 głosów
odpowiedź 18 maja 2016 przez ernest52 Początkujący (450 p.)
Poradziłem sobie jeszcze z użyciem funkcji cin.clear() i cin.sync(); samo cin.fail() zastąpiło mi !a||!b , ale nie spowodowało zdjęcia nieskończoności z if-a dopiero po tych dwóch funkcjach w miarę działa ok, co jest ważne trzeba użyć dwóch na raz bo inaczej nie zadziała.

Podobne pytania

0 głosów
1 odpowiedź 246 wizyt
pytanie zadane 7 lipca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 129 wizyt
pytanie zadane 19 kwietnia 2016 w C i C++ przez AjSiak Początkujący (250 p.)
0 głosów
6 odpowiedzi 263 wizyt
pytanie zadane 2 kwietnia 2016 w C i C++ przez Proszek73 Obywatel (1,140 p.)

92,579 zapytań

141,432 odpowiedzi

319,663 komentarzy

61,964 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...