c++ - C++ 检查整数是否为 int 类型
问题描述
我从我的代码中提取了一个片段,应该检查用户给出的输入是否是整数。如果是这样,代码应该通过,如果不是,程序应该在定义的点跳回/重新开始。
again1: // Inloop point 1
cout << " " + player1 + ", where would you like to place a chip? Enter the index (1 - 9).\n" << endl;
int index1; // Initializing index 1
cin >> index1; // Writing input of player 1 into index 1
if (cin.fail()) {
cout << "Error" << endl;
goto again1;
}
因此,如果我之前尝试输入无效索引,我希望我的程序再次要求我输入索引。但是如果我输入例如“a”(这是无效的,因为它是一个字符),终端窗口只会在无限循环中运行我的消息“错误”数百次,并且不会再次跳回1。
PS:goto 原则本身是有效的。我已经在同一个文件中多次实现了它.cpp
,并且效果很好。
有小费吗?
解决方案
推荐阅读
- java - Java 绘图到 JPanel Graphics,使用字节数组,闪烁白色
- python - 熊猫依靠 str 来计算总数
- r - dplyr group_by 不适用于data.frame,但适用于另一个?
- macos - 无法在 macOS Big Sur 上执行 Flutter 应用程序
- google-chrome - Chrome如何计算透明度颜色?
- python - 将图像数据集拆分为 CNN 的训练测试拆分
- arrays - vue:从数组内的对象访问特定数组
- python - Pillow Not installing on Apple Silicon
- javascript - querySelectorAll 和 getElementsByClassName 无法在谷歌日历页面上选择元素
- php - 2次,相同格式不计算