[C++] problem w pobieraniem danych

0

Poniżej zamieszczam tylko fragment programu. Problem polega na tym, że przy pierwszym podaniu poprawnej wartości liczbowej program nie dochodzi do instrukcji switch. Gdy drugi raz podam to wtedy przechodzi do switcha. Gdzie tkwi problem ?


do
{
		    
       cout<<"\n\nPodaj akcje do wykonania: \n\n";
       cin>>co;
			
       while(!(cin >> co))
       {
				
            cin.sync();
	    cin.clear();
            cout<<"\n\nPodaj akcje do wykonania: \n\n";
				
	}
  
 }while(!((co >= 1) && (co <= 9)));
		   
			
     switch(co)
     {   

      //itd.
0

Przekombinowałeś troszkę.
http://4programmers.net/C/FAQ/Zabezpieczenie_przed_wpisywaniem_liter
Więc wystarczy tak:

cout<<"\n\nPodaj akcje do wykonania: \n\n";
//bez tego cin>>
while(!(cin >> co))
{
  cin.sync();
  cin.clear();
  cout<<"\n\nPodaj akcje do wykonania: \n\n";
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1