有问题向各位大侠请教,请帮忙阿!!!!!!!!!!!!!!!
比方说我要输入学号!也就是整型的数据!但在键盘上输入一个字符后,就会死掉!(在一个循环中);请问有什么方法能够判断重键盘上输入的数据是字符或是数字阿?(除了把学号也作为字符输入!) 问题点数:100、回复次数:5Top
1 楼micropentium6(小笨|曾经的美好)回复于 2003-06-03 17:45:08 得分 40
#include <string.h>
int isalpha(char);//是否字母
int isdigit(int); //是否数字
其实不用那些函数的:)
int number;
cin>>number
while(cin.rdstate()==ios_base::failbit){
cin.clear();
cin.ignore();
cin>>i;
}
Top
2 楼rainbow1332(彩虹)回复于 2003-06-03 18:28:55 得分 40
其实也可以这样,因为cin返回值有自动的类型转化功能当其在while条件中
while (!(cin >> intnumber))
{
cin.clear(); //如果不是整数清除
while (cin.get()!='\n') //把错误输入读入并和cin.clear(); 合并清除
continue;
cout << "Please input a number:";
}Top
3 楼Skt32(荒城之月)回复于 2003-06-07 10:59:26 得分 20
bool checkdigital(char ch)
{
return ((ch>='0' && ch<='9')?1:0);
}
bool checkalphabet(char ch)
{
return ((ch>='a'&&ch<='z' || ch>='A'&& ch<='Z')?1:0);
}Top
4 楼musongfeihong(目送飞鸿)回复于 2003-06-07 11:16:06 得分 0
enough,nothing else worth sayTop
5 楼pzytony(507)回复于 2003-06-07 11:50:08 得分 0
up
Top



