Kontrola strumienia wejściowego
Ostatnio zmodyfikowano 2017-11-20 23:36
sair Temat założony przez niniejszego użytkownika  | 
Kontrola strumienia wejściowego » 2017-11-20 21:38:21 Witam,  Zacznę od tego że korzystam z VS Postanowiłem napisać b.prosty "programik" w który nie puści uzytkownika dalej jeśli ten nie poda prawidłowej wartości #include <iostream> #include <string> #include<conio.h> #include<string>
  using namespace std; int main() {     string napis;     int liczba;          do {         cin.sync();         cin.clear();         cin >> napis;              } while( cin.fail() );          do {         cin.sync();         cin.clear();         cin >> liczba;     } while( cin.fail() );          cout << napis;     cout << liczba;          _getch();     return 0; } Jeśli dla INTa podam jakiś tekst (np."napis") nie wyrzuca błędu ale nie mogę spróbować kolejny raz podać wartości Proszę o jakieś wskazówki :)  | 
 | 
pekfos  | 
» 2017-11-20 22:01:45 Zamien clear i sync.  | 
 | 
sair Temat założony przez niniejszego użytkownika  | 
» 2017-11-20 22:24:36 chodzi o zmianę kolejności?  jeśli tak, to nadal nie działa  | 
 | 
pekfos  | 
» 2017-11-20 22:27:39 Więc popraw to też w tym drugim miejscu, gdzie masz ten sam błąd.  | 
 | 
sair Temat założony przez niniejszego użytkownika  | 
» 2017-11-20 22:28:52 poprawiłem w obu miejscach :/  | 
 | 
pekfos  | 
» 2017-11-20 22:30:33 No to pokaż ten kod.  | 
 | 
sair Temat założony przez niniejszego użytkownika  | 
» 2017-11-20 22:31:14 #include <iostream> #include <string> #include<conio.h> #include<string>
  using namespace std; int main() {     string napis;     int liczba;          do {         cin.clear();         cin.sync();         cin >> napis;              } while( cin.fail() );          do {         cin.clear();         cin.sync();         cin >> liczba;     } while( cin.fail() );          cout << napis;     cout << liczba;          _getch();     return 0; }  | 
 | 
pekfos  | 
» 2017-11-20 22:45:13 Czyżby w końcu sync przestało działać..? Faktycznie kod nie działa pod VS. Tymczasem zrób wg wersji pod Linuksa.
  //edit: pod v110_xp działa, pod v141_xp już nie. Yep, lekcja do przerobienia w końcu.  | 
 | 
|  « 1 »  2 |