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

Zabezpieczenie strumienie wejściowego przed błędnymi danymi

Ostatnio zmodyfikowano 2012-02-25 13:00
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
Zabezpieczenie strumienie wejściowego przed błędnymi danymi
» 2012-02-25 12:20:12
C/C++
int a;

while( 1 )
{
    cin >> a;
    if( a == 1 || a == 2 || a == 3 )
         cout << a;
    else
         cin.sync();
   
}
Gdy nie ma tego cin.sync() i wpiszę np k to program w nieskończoność wypisuje coś na ekranie natomiast z cin.sync() nic nie wypisuje ale także nie ma możliwości pobrania nowego znaku po prostu omija cin >> a; Wiecie może jak temu zaradzić :D ?
P-51394
SeaMonster131
» 2012-02-25 12:44:13
C/C++
while( 1 )
{
    cin.clear();
    cin.sync();
    cin >> a;
   
    if( a == 1 || a == 2 || a == 3 )
         cout << a;
   
}
?
P-51395
diego997
Temat założony przez niniejszego użytkownika
» 2012-02-25 12:51:33
Nie do końca dobrze działa cały czas trzyma w buforze 1 2 lub 3
P-51396
SeaMonster131
» 2012-02-25 13:00:41
Hm.. jeżeli wpisze 1 albo 2 albo 3, to ta liczba się wypisuje, no i moge wpisać nową. Jeżeli nie wpisze 1/2/3 to nic sie nie robi, podobnie jak wpisze literę itd.
P-51398
« 1 »
  Strona 1 z 1