我正在尝试从for循环内的用户输入读取值(整数值)。当用户按下Enter键时,我需要循环跳过当前迭代。像这样的东西。
short value;
for(short i = 0; i < size; i++){
cout << "Enter value. If you don't feel like it, press enter.";
cin >> value;
if(value is different from ENTER)
cout << "did something with " << i << endl;
else{ //off to next iteration
cout << "did nothing with " << i << endl;
}
}
样品运行:
//input for size = 3
15Enter
Enter
34Enter
//output
did something with 0
did nothing with 1
did something with 2
我在很多地方都发现cin
并不是最佳选择,但是我还没有找到可以用于读取整数而不是字符串的示例。
注意:我并不是真的想验证它是输入的整数,我只需要知道它是否只是一个ENTER并忽略它,然后继续进行下一个迭代即可。
感谢
答案 0 :(得分:0)
也许使用:继续
使用继续时,当前循环为跳过。
在可以的情况下:if(value!='\ n'){...}
\ n是ENTER
编辑:
for(short i = 0; i < 10; i++){
cout << "Enter value. If you don't feel like it, press enter.";
if(cin.get()!='\n'){
cout << "did something with " << i << endl;
cin.clear();
cin.ignore();
}
else{ //off to next iteration
continue;
}
}
}