C++判断用户输入是否为数字?

原创 2015年07月07日 23:06:37
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
 bool is_number(string str)
  {
     if(str.c_str()[0]!=45)
     {
        for(int i = 0; i < str.length(); i++)
        {
           if( str.c_str()[i] < '0' || str.c_str()[i] > '9' )
           { return false;}
         }
        return true;
     }
     else
     {
       for(int i = 1; i < str.length(); i++)
        {
           if( str.c_str()[i] < '0' || str.c_str()[i] > '9' )
           { return false;}
        }
       return true;
     }
 }
void main()
{ int a=0;
  const char *s;
  cout<<"请输入数据a:";
  string str;
  cin>>str;
  if(is_number(str))
  {
    cout<<"你输入的是数字!"<<endl;
    s=str.c_str();
    a=atoi(s);
    a=a+1;
    cout<<"a+1="<<a<<endl;
  }
  else cout<<"你输入的不是数字!";
}


一次性获取用户当前输入(他输入的可能是1位数也可能是2位数或者字母等)并判断是否为严格意义上的数字,主要是为了区分数字和字母。如果不是数字则返回重输,如果是,使用该int 型数据做其他操作。

主要思路是采用string类的成员函数c_str()实现。对于成功判断是数字以后如果要使用该数字可以再调用atoi(const char*s)


版权声明:本文为博主原创文章,未经博主允许不得转载。

C++控制台程序判断输入的数字

C++标准库中的iostream库的基础是用于表示输入流的istream类型和用于表示输出流的ostream类型。处理输出时使用ostream类型的对象cout,处理输入时使用istream类型的对象...

正则表达式之判断用户注册信息是否为汉字、字母和数字

一般在写用户注册模块的时候都在对注册的用户名进行判断,查看一下有没有.!@#$%^&*()等这样的特殊字符,注册信息里一般将这些字符视为非法字符不允许注册。怎么进行判断呢,这里就用到了正则表达式了。 ...

C语言判断用户输入的是字符还是数字

#include #include char check(char a,char b[]); int main() { char reci[20]; char num,re,fla...
  • zjshui
  • zjshui
  • 2015年07月25日 23:01
  • 447

C++判断用户输入路径是否正确(判断盘符是否存在以及“\”与"/")

直接上代码,用了windows.h里的函数获取盘符 #include #include #include #include #include using namespace std; st...

【LeetCode008-009算法/编程练习C++】string转int(atoi),判断数字是否是回文

LeetCode 8-9
  • zmdsjtu
  • zmdsjtu
  • 2016年12月23日 12:06
  • 381

DIY一个C++ traits来判断enum是否有用户自定义的operator<<

前段时间发现自己的String库中有个bug: String& operator+=(int); String& operator+=(unsigned); // 所有的整型、浮点型都有一个...

当用户输入的是非数字值时就退出循环,怎么实现?

看c primer plus 时第五章的编程练习题 都很简单就是最后第8道题最后要求输入非数字时循环结束 经过搜索找到一种简单的方法 原文http://bbs.51cto.com/thread-...

c编程:提示用户输入一个0—9的数字进行猜测电脑产生的随机数。一共有三次机会。

// //  main.c //  使用c语言进行编程: 题目:由电脑生成一个由0-9之间的随机数,提示用户也输入一个数字进行猜测。当猜测三次仍不中的时候结束程序。 编译环境:Xcode6.3...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++判断用户输入是否为数字?
举报原因:
原因补充:

(最多只允许输入30个字)