Zabezpieczenie przed wpisaniem liter - nie działa

Zabezpieczenie przed wpisaniem liter - nie działa
OJ
  • Rejestracja: dni
  • Ostatnio: dni
0

Według tego co wyczytałem w FAQ powinno działać a nie działa, zapętla się w nieskończoność:

Kopiuj
do
{ 
cout<<"Podaj poczatkowa stawke: ";
cin>>stawka;

cout<<"Podaj liczbe kolejek: ";
cin>>kolejki;
cout<<endl;
}while (!(cin>>zmienna));
0D
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 60
0
Kopiuj
#include <iostream>

using namespace std;

int main()
{
    int stawka, kolejki;
    
    do
    { 
        cout<<"Podaj poczatkowa stawke: ";
        cin.clear();
        cin.sync();
    } while (!(cin>>stawka));
    
    do
    { 
        cout<<"Podaj liczbe kolejek: ";
        cin.clear();
        cin.sync();
    } while (!(cin>>kolejki));
    
    system("PAUSE>NUL");
    return 0;
}
OJ
  • Rejestracja: dni
  • Ostatnio: dni
0

Dalej zapętla się w nieskończoność wyświetlając cały czas komunikat:

Podaj poczatkowa stawke:

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

A jak zamienicie kolejnością sync() z clear()?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.