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

Problem z pętlą DoWhile

Ostatnio zmodyfikowano 2012-04-19 17:40
Autor Wiadomość
Temes
Temat założony przez niniejszego użytkownika
Problem z pętlą DoWhile
» 2012-04-19 16:57:02
Męczę się z tym od dłuższego czasu i nie mogę zrozumieć jak to zrobić...
Mam pętle tak?

C/C++
int Niewiadoma;
do {
    std::cin >> Niewiadoma;
    std::cout << "Niepoprawnie";
} while(...);

std::cout << "Poprawnie";

Mam problem tam gdzie są te kropeczki czyli w While.
Gdy napiszę to:
}while( Niewiadoma != 1 );
Działa.

Gdy napiszę to:
}while( Niewiadoma == 1 );
Nie działa.

Gdy napiszę to:
}while( Niewiadoma != 1 || Niewiadoma !=2 );
Nie działa.

Itd. - o co chodzi? Bo wiem że != jest to "różne od" albo negacja. A == oznacza równe, czyli jeżeli w while Niewiadoma == 1 powinno działać, a tak nie jest. "O co kaman"...
P-54817
xevuel
» 2012-04-19 16:59:30
Musisz nauczyć się "czytać" kod. W tym wypadku będzie to: "Wykonuj podane czynności, dopóki Niewiadoma będzie różna od 1". Czyli dopóki user nie poda 1, pętla będzie się wykonywać. Rozumiesz?

Kod daj w [cpp]...[/cpp]
P-54818
Temes
Temat założony przez niniejszego użytkownika
» 2012-04-19 17:10:34
Wg. jest to dziwne, z tego wynika że coś róznego od 1 to jest 1...
Próbowałem kilka razy i zadziałało tak:
} while( Niewiadoma == 1 && Niewiadoma == 2 );

Gdybym miał dosłownie tłumaczyć kod, to powiedziałbym tak:
Wykonuj to dopóki Niewiadoma będzie równa 1 i równa 2... A wystarczy 1... Z "||" nie działa...

Nadal jakoś nie rozumiem, ale dzięki za pomoc :3
P-54819
xevuel
» 2012-04-19 17:40:20
Jak Niewiadoma może być jednocześnie równa 1 i 2? Równie dobrze możesz tam wpisać
true
.

Jeśli zamienisz && na ||, to wystarczy podać 3, i program wyjdzie z pętli.

Pomyśl, czy program wyjdzie z pętli na tych danych, czy nie...
wykonuj, dopóki liczba jest różna od 5
:
3
. Wynik?
wykonuj, dopóki liczba jest różna od 5
:
5
. Wynik?
wykonuj, dopóki liczba jest równa 3
:
3
. Wynik?
wykonuj, dopóki liczba jest równa 3
:
2
. Wynik?
P-54822
« 1 »
  Strona 1 z 1