2015-03-29 1 views
0

У меня есть эта программа, где я пытаюсь продолжать цикл, пока что-то, что введено, не является целым. Независимо от того, вводя я не целое число или целое число, программа все еще ломается и заканчивается. Пожалуйста, помогитеКак сохранить цикл до тех пор, пока не будет введен целое число

int data; 
do 
{ 
    cout<<"enter data: "; 
    cin>>data; 
    cout<<"yes"<<endl; 
    return data; 
} while(cin.good()); 

ответ

1

return Удалите (или записать его после некоторое время) он разбить свой код перед в то время как линии ...

0

Этот простой фрагмент кода должен работать нормально.

#include <iostream> 

int main() 
{ 
    int data; 
    while(std::cin >> data) 
    { 
     std::cout << data << std::endl; 
    } 
} 
0

Как вы определяете данные в виде целого числа вы просто должны проверить, CIN Когда CIN получает входной сигнал не может использовать, он устанавливает failbit:

int data 
while(true) 
{ 
    cout<<"enter data: "; 
    cin>>data; 
    if(!cin) // or if(cin.fail()) 
    { 
     // user didn't input a number 
     break; 
    } 
    cout<<"yes"<<endl; 
} 
Смежные вопросы