Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pętla nie chce się zamknąć.

Ostatnio zmodyfikowano 2015-05-07 20:23
Autor Wiadomość
czesyk
Temat założony przez niniejszego użytkownika
Pętla nie chce się zamknąć.
» 2015-05-07 18:18:54
Witam! Jestem nowy na forum, więc "piątka" ode mnie dla wszystkich :)
Zmagam się z pewnym problemem.
C/C++
#include <iostream>
using namespace std;
int main()
{
    int liczba;
    bool sukces;
    do
    {
        cout << "Podaj liczbe: ";
        cin >> liczba;
        bool sukces = cin.good();
        cin.clear();
        cin.sync();
        cout << "Czy udalo sie wczytac: " << sukces << endl;
        cout << "Wpisana liczba to: " << liczba << endl;
    } while( sukces == 1 );
   
    return 0;
}

Chcę, żeby pętla zamknęła się, kiedy wartość zmiennej sukces będzie wynosiła 1, czyli kiedy wczytanie będzie się uda.
Niestety, tak się nie dzieje. Próbowałem na kilka sposobów, lecz to nie przynosiło skutków. Jest to kod do zadania w 1 lekcji - 2 poziomu kursu.

Pozdrawiam!
Liczę na pomoc!

\\Przepraszam za zły dział :(
P-131855
kubawal
» 2015-05-07 19:40:26
C/C++
bool sukces;
Nie inicjujesz zmiennej. Ale to tylko taka styliczna uwaga.
C/C++
while( sukces == 1 );

while znaczy 'dopóki' a nie 'aż do' (przynajmniej w C++). Więc powinno być
while( sukces == false )
 abo lepiej
while( !sukces )
P-131859
pekfos
» 2015-05-07 19:41:08
while(!sukces)?
P-131860
czesyk
Temat założony przez niniejszego użytkownika
» 2015-05-07 20:01:48
Pętla wciąż się nie zamyka. Próbowałem obydwoma sposobami. :/
P-131861
pekfos
» 2015-05-07 20:18:48
Usuń drugie słowo bool z kodu.
P-131863
czesyk
Temat założony przez niniejszego użytkownika
» 2015-05-07 20:20:30
Niby taka drobnostka, a wszystko rujnuje. Działa. Dziękuję :)
P-131864
Piastlis
» 2015-05-07 20:23:56
Jeżeli skasujesz drugie bool w pętli to się zamknie.Oczywiście jak wpiszesz zamiast zamiast liczby jakiś tekst.  
P-131865
« 1 »
  Strona 1 z 1