|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本来是一个0-100猜字游戏里的函数不过有好多bug
就是我想输入0-100是正常,超过范围的数字说超范围
字符就说不是数字,然后就爆炸了。。。
1.字符型和较大的数字都不行
2.用else语句不能让1-100以外的情况都排除吗?
3.为什么会进入死循环不能再输入..
#include<iostream>
int main()
{
int input = 0;
for (;;)
{
std::cin >> input;
if (input >= 0 && input <= 100)
{
std::cout<<"The number is available";
return 0;
}
else if (input > 100 || input < 0)
std::cout << "The number is beyond the range!"<< std::endl;
else
std::cout << "It isn't a valid number!" << std::endl;
}
}
- #include<iostream>
- int main()
- {
- int input = 0;
- while (1)
- {
- std::cin >> input;
- if ( input== 0)
- {
- std::cout<<"请输入整数\n";
- }
- else if (input<0 || input >100)
- {
- std::cout<<"输入不在有效范围内,请输入(0-100):\n";
-
- }
- else
- {
- std::cout << input;
- return 0;
- }
- std::cin.clear();
- std::cin.ignore(100,'\n');
- }
- return 0;
- }
复制代码
|
|