[C++] while(!(cin>>zmienna)) - co robi ten zapis?
Ostatnio zmodyfikowano 2013-05-19 22:29
Monster Temat założony przez niniejszego użytkownika |
[C++] while(!(cin>>zmienna)) - co robi ten zapis? » 2013-05-19 21:37:36 A więc tak jak w temacie proszę kogoś o wyjaśnienie mi kodu, którego używam w kalkulatorze: float b; while( !( cin >> b ) ) { cout << "Prosze wpisac liczbe!" << endl; cin.clear(); cin.sync(); } Z góry thx :) |
|
sofisti19 |
» 2013-05-19 21:43:28 Lepiej było napisać posta, niż wklepać nazwy poszczególnych funkcji do google'a? Lenistwo na najwyższym poziomie. |
|
Monster Temat założony przez niniejszego użytkownika |
» 2013-05-19 21:50:52 Nie lenistwo, już szybciej znalazłem takie coś: int zmienna; while( !( cin >> zmienna ) ) { cin.clear(); cin.sync(); }
Tylko, że nie rozumne tego wytłumaczenia ;/ |
|
pekfos |
» 2013-05-19 22:29:05 Jedyne czego możesz tu nie zrozumieć, to while( !( cin >> zmienna ) ) . Operacje na strumieniu operatorami << i >> zwracają referencję na ten strumień. Strumień jest rzutowalny na typ bool i oznacza wtedy wartość !fail() dla tego strumienia. Warunek !( cin >> zmienna ) jest więc spełniony tak długo, jak długo wprowadzane dane są nieprawidłowe. |
|
« 1 » |