问候!
这次让我们删掉过多的介绍,直奔主题。
我在使用 isalnum 方法的 C++ 中遇到问题。
编码:
int playAgainst = 0;
do
{
cout << "Who do you want to play against?(1/2)\n";
cout << "1: Human player\n";
cout << "2: Computer player\n";
cin >> playAgainst
} while(!isalnum(playAgainst) && playAgainst != 0);
从代码中可以看出,我为用户提供了一个选择。与人对战或与计算机对战。
我想要的是,只要用户输入其他任何内容,然后输入一个整数值(cin >> playAgainst)来重复问题。但是,如果我输入一个字符或字符串值,它会不断循环。我不是 100% 肯定,但很明显,如果问题是,非 int 值已经保存为 playAgainst 的值。如果在保存之前输入值是 int,我如何检查这段代码它?
或者是唯一的可能性保存为字符/字符串然后检查?
如果是后者,就会出现新的问题。isalnum 只接受 int 作为参数,至少据我所知。我将如何检查该字符串或字符是否为 int?
感谢您花时间阅读。希望我能尽快接受答复^^
谢谢大家的回答。我得到了我想要的,一切都解决了。
我选择接受答案的原因很好......因为最初,它使我的代码按照我想要的方式工作。虽然我想接受多个答案..