首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

判断输入是否为整型,请教怎么实现

2012-03-08 
判断输入是否为整型,请问如何实现?如下程序,当输入“字母+数字”时没有错误(如m21),“数字+字母”混合时就出现

判断输入是否为整型,请问如何实现?
如下程序,当输入“字母+数字”时没有错误(如m21),“数字+字母”混合时就出现错误(如21m),
int i = 0;
while (1)
{
cin.clear();
cin.sync();


cin >> i;
if (!cin.good()) continue;
if (iChoose < 0 || iChoose > 10) continue;
break;
}

如何修改才能使得输入如21m时能判断输入的类型不是整数型?谢谢!

[解决办法]
你试试类型转换
[解决办法]
用stringstream吧
[解决办法]
仅供参考

C/C++ code
#include <stdio.h>int main() {    int IP[4];    int i;    char c;    printf("请输入一个ip地址:");    while (1) {        fflush(stdin);        if (5==scanf("%d.%d.%d.%d%c",&IP[0],&IP[1],&IP[2],&IP[3],&c)) {            if (0<=IP[0] && IP[0]<=255             && 0<=IP[1] && IP[1]<=255             && 0<=IP[2] && IP[2]<=255             && 0<=IP[3] && IP[3]<=255             && '\n'==c) {                break;            } else printf("输入的ip地址格式不对!\n请重新输入:\n");        } else printf("输入的ip地址格式不对!\n请重新输入:\n");    }    for (i=0;i<4;i++) {        printf("IP[%d]=%d\n",i,IP[i]);    }    return 0;} 

热点排行