comeonbabe_ 2017-09-27 05:14 采纳率: 0%
浏览 3292

c++判断输入类型是否为整数,,

cin<<i;
怎么判断他是不是其他字符串之类;
cin<<i;
怎么判断他是不是其他字符串之类;
cin<<i;
怎么判断他是不是其他字符串之类

  • 写回答

2条回答 默认 最新

  • Amo_lt 2017-09-27 06:47
    关注

    第一种:

    
    int GetInt(int nNum)
    {
    
    while(1)
    {
    char szBuf[255] = {'\0'};
    cin>>szBuf; 
    nNum = AtoI(szBuf);
    if (-1 == nNum)
    {
    cout<<"输入了非法字符串,请输入整数"<<endl;
    }
    else
    {
    break;
    }
    }
    
    return nNum;
    }
    
    int AtoI(const char *pStr)
    {
    int nI = 0;
    int nJ = 1;
    int nA = 0;
    
    for (;nI < StrLen(pStr);nI++)
    {
    if ('0' > pStr[nI] || '9' < pStr[nI])
    {
    return -1;
    }
    }
    for (int nK = StrLen(pStr) - 1;nK >= 0;nK--)
    {
    nA += (pStr[nK] - '0') * nJ;
    nJ *= 10;
    }
    
    return nA;
    }
    
    int StrLen(const char *pStr)
    {
    int nI = 0;
    while ('\0' != pStr[nI])
    {
    nI++;
    }
    return nI;
    }
    

    第二种:

     int num;
    cin>>num;
    if(cin.fail())
    {
       //not a number;
    }
    else //a number
    

    第三种:

    C++中有自带的方法isdigit(c)

    参考链接:

    评论

报告相同问题?

悬赏问题

  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历