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

Problem z "nieskonczonym" if

Cloud VPS
0 głosów
238 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ź 287 wizyt
pytanie zadane 7 lipca 2019 w C i C++ przez magda_19 Gaduła (3,080 p.)
0 głosów
2 odpowiedzi 278 wizyt
pytanie zadane 19 kwietnia 2016 w C i C++ przez AjSiak Początkujący (250 p.)
0 głosów
6 odpowiedzi 342 wizyt
pytanie zadane 2 kwietnia 2016 w C i C++ przez Proszek73 Obywatel (1,140 p.)

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 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
...