do...while - warunek 0>0 nie kończy pętli
Ostatnio zmodyfikowano 2016-01-07 16:17
grupowana Temat założony przez niniejszego użytkownika |
do...while - warunek 0>0 nie kończy pętli » 2016-01-05 20:28:13 #include <iostream> using namespace std; int main() { int ilosc = - 1; do { cout << "Podaj ilosc liczb: "; cin >> ilosc; } while( 0 > ilosc ); return 0; }
Wie ktoś dlaczego tak się dzieje? Przecież 0>ilosc to nie to samo co 0>=ilosc, więc czemu pętla się nie skończyła? |
|
carlosmay |
» 2016-01-05 21:22:23 /przecież 0>0 nie spełnia warunku |
I tak jest. Przykład działa prawidłowo. Może jakiś problem z kompilatorem. Sprawdzałem na VS i CB. Sprawdź to: int main() { int ilosc = - 1; char * tekst = "Podaj ilosc liczb: "; while(( cout << tekst ) &&( cin >> ilosc ) &&( ilosc < 0 ) ); return 0; }
|
|
grupowana Temat założony przez niniejszego użytkownika |
do...while - warunek 0>0 nie kończy pętli » 2016-01-06 13:21:14 Z jakiego kompilatora korzystasz w CodeBlock'u?
Próbowałem skompilować na: 1) GCC 4.9.2 64-bit Release, standard ISO C++11, Dev-C++ 5.11 2) Code::Blocks 13.12, MinGW gcc (tdm-1) 4.7.1
Przykład który podałem w obu przypadkach nie działa prawidłowo.
PS. Kod, który podałeś działa bardzo dobrze :) |
|
carlosmay |
» 2016-01-06 14:02:34 Z jakiego kompilatora korzystasz w CodeBlock'u? |
Code::Blocks 13.12 rev 9501 32 bit. gcc 4.7.1 Windows/unicode - 32 bit. |
|
grupowana Temat założony przez niniejszego użytkownika |
» 2016-01-06 17:29:43 Dziwne, bo u mnie na CB po podaniu 0-ra program kończy działanie, a powinien pytać się o cin>>ilosc; |
|
carlosmay |
» 2016-01-06 20:57:15 Ale o co chodzi?? // po podaniu 0 pętla dalej pyta się o ilość liczb | Wie ktoś dlaczego tak się dzieje? Przecież 0>ilosc to nie to samo co 0>=ilosc, więc czemu pętla się nie skończyła? | A tutaj Dziwne, bo u mnie na CB po podaniu 0-ra program kończy działanie, a powinien pytać się o cin>>ilosc; | tyle w temacie. |
|
pekfos |
» 2016-01-07 12:42:32 Na pewno podajesz poprawne dane? Jeśli nie i kompilujesz w wersji języka sprzed C++11, to wartość zmiennej dalej będzie równa -1. |
|
grupowana Temat założony przez niniejszego użytkownika |
» 2016-01-07 16:17:20 Już wszystko działa jak powinno, wcześniej bawiłem się programem i pewnie musiałem zapomnieć o jego skompilowaniu.
Dziękuje za odpowiedzi i przepraszam za zajęcie czasu. [zamykam temat] |
|
« 1 » |