如何判断输入的字符串类型
本来是一个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;
}
} 自顶啊自顶! 进击的小包子 发表于 2017-9-9 17:09
自顶啊自顶!
#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;
} ba21 发表于 2017-9-9 17:38
强无敌啊!
页:
[1]