怎么判断输入一个int型整数php int 超出上限int的最大范围

&&/&&&&/&&&&/&&
要判断某种特定类型可以容纳的最大值或最小值,一种简便的方法是使用ANSI标准头文件limits.h中的预定义值。该文件包含一些很有用的常量,它们定义了各种类型所能容纳的值,下表列出了这些常量:
----------------------------------------------------------------
&&& 常& 量&&&&&&&&&&&&&&&&&&&&&&&&& 描&&& 述
----------------------------------------------------------------
& CHAR&BIT&&&&&& char的位数(bit)&&&
& CHAR&MAX&&&&&& char的十进制整数最大值
& CHAR&MIN&&&&&& char的十进制整数最小值
& MB&LEN&MAX&&& 多字节字符的最大字节(byte)数
& INT&MAX&&&&&&& int的十进制最大值&&&
& INT&MIN&&&&&&& int的十进制最小值&
& LONG&MAX&&&&&& long的十进制最大值
& LONG&MIN&&&&&& long的十进制最小值
& SCHAR&MAX&&&&& signedchar的十进制整数最大值
& SCHAR&MIN&&&&& signedchar的十进制整数最小值
& SHRT&MIN&&&&&& short的十进制最小值
& SHRT&MAX&&&&&& short的十进制最大值
& UCHAR&MAX&&&&& unsignedchar的十进制整数最大值
& UINT&MAX&&&&&& unsignedint的十进制最大值
& ULONG&MAX&&&&& unsignedlongint的十进制最大值
& USHRT&MAX&&&&& unsignedshortint的十进制最大值
-----------------------------------------------------------------
&&& 对于整数类型,在使用2的补码运算的机器(你将使用的机器几乎都属此类)上,一个有符号类型可以容纳的数字范围为-2位数-1到(+2位数-1-1),一个无符号类型可以容纳的数字范围为0到(+2位数-1)。例如,一个16位有符号整数可以容纳的数字范围为--215(即-32768)到(+215-1)(即+32767)。
推荐文章 TOP10只需一步,快速开始
后使用快捷导航没有帐号?
查看: 3084|回复: 6
怎么判断输入的值是不是一个整数??
签到天数: 34 天[LV.5]常住居民I
马上注册加入鱼C,享用更多服务吧^_^
才可以下载或查看,没有帐号?
#include&iostream&
#include&fstream&
#include&string&
#include&windows.h&
class System {
public:
& & & & std::
& & & & std::string ID;
& & & & std::
& & & &
& & & & void InitData();//初始化数据
& & & & bool PrintData();//打印数据& & & &
& & & & void RecordData();//录入数据
};
int main()
{& & & &
& & & & S
& & & & system.InitData();
& & & & while(1)
& & & & {
& & & & & & & & std::cout&&&\n\n& & & & & & & & & & & & & & & & 数据库管理系统&&&&\n\n&;
& & & & & & & & std::cout&&&& & & & & & & & 1.打印数据库&;
& & & & & & & & std::cout&&&& & & & & & & & 2.添加新用户&&&&\n&;
& & & & & & & & std::cout&&&& & & & & & & & 3.退出管理系统&&&&\n&;
& & & & & & & & int A
& & & & & & & & std::cin&&A
& & & & & & & & if(sizeof(Action)!=sizeof(int))//输入安全性检查
& & & & & & & & & & & & std::cout&&&请输入一个整数!!!\n&;
& & & & & & & & else if(Action&3||Action&0)//这里我是想检验一下输入的是否是1/2/3种的一个,但是不知道该怎么限制
& & & & & & & & & & & & std::cout&&&输入不正确!请重新输入!!\n&;
& & & & & & & & else
& & & & & & & & {
& & & & & & & & & & & & switch(Action)
& & & & & & & & & & & & {
& & & & & & & & & & & & case 1://若用户输入1,打印数据库
& & & & & & & & & & & & & & & & if(system.PrintData())
& & & & & & & & & & & & & & & & & & & & std::cout&&&成功读取文件!\n&;
& & & & & & & & & & & & & & & & else
& & & & & & & & & & & & & & & & & & & & std::cout&&&读取文件失败!\n&;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & case 2://若用户输入2,添加新用户
& & & & & & & & & & & & & & & & system.RecordData();
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & case 3://退出管理系统
& & & & & & & & & & & & & & & & std::cout&&&已退出管理系统!&&&&\n&;
& & & & & & & & & & & & & & & & return 0;
& & & & & & & & & & & & }
& & & & & & & & }
& & & & }
& & & & std::cout&&&程序异常退出。。\n&;
& & & & return 0;
}
void System::InitData()//创建一个文档来存储输入数据
{
& & & & std::
& & & & file.open(&DataBase.txt&,std::ios::app);
& & & & if(!file)
& & & & {
& & & & & & & & std::cout&&&初始化文件失败!\n&;
& & & & & & & & exit(1);
& & & & }
//& & & & else
& & & & //& & & & std::cout&&&数据库初始化成功。。。\n&;
}
bool System::PrintData()
{
& & & & std::ifstream pfile(&DataBase.txt&);
& & & & std::
& & & & if(pfile.is_open())
& & & & {& & & &
& & & & & & & & std::cout&&&正在输出记录:。。。。&;
& & & & & & & & for( int i=0; i &= 100; i++ )& && &// 打印百分比
& & & & & & & & {
& & & & & & & & & & & & std::cout.width(3);
& & & & & & & & & & & & std::cout && i && &%&;
& & & & & & & & & & & & Sleep(10);
& & & & & & & & & & & & std::cout && &\b\b\b\b&;
& & & & & & & & }
& & & & & & & & std::cout && &\n\n&;
& & & & & & & & std::cout&&&姓名&&&&&&ID号&&&&&&性别\n&;
& & & & & & & & while(std::getline(pfile,temp))
& & & & & & & & {
& & & & & & & & & & & & std::cout&&temp&&&& &&;
& & & & & & & & & & & & std::cout&&&\n&;
& & & & & & & & }
& & & & & & & &
& & & & }
& & & & else
& & & & & & & &
}
void System::RecordData()
{
& & & & char goon,
& & & & goon='y';
& & & & while(goon=='y'||goon=='Y')
& & & & {
& & & & & & & & std::cout&&&请输入姓名:&;
& & & & & & & & std::cin&&this-&
& & & & & & & & std::cout&&&请输入ID:&;
& & & & & & & & std::cin&&this-&ID;
& & & & & & & & std::cout&&&请输入性别:&;
& & & & & & & & std::cin&&this-&
& & & & & & & &
& & & & & & & & std::cout&&&录入成功,需要保存么?【Y/N】:&;
& & & & & & & & std::cin&&
& & & & & & & & if(save=='y'||save=='Y')
& & & & & & & & {
& & & & & & & & & & & & std::
& & & & & & & & & & & & wfile.open(&DataBase.txt&,std::ios::app);
& & & & & & & & & & & & if(wfile.is_open())
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & wfile&&this-&name&&&&&&;
& & & & & & & & & & & & & & & & wfile&&this-&ID&&&&&&;
& & & & & & & & & & & & & & & & wfile&&this-&sex&&&&&\n&;
& & & & & & & & & & & & & & & & wfile.close();
& & & & & & & & & & & & & & & & std::cout&&&数据成功保存到文件中!\n&;
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & else
& & & & & & & & & & & & std::cout&&&数据放弃保存!\n&;
& & & & & & & & std::cout&&&\n请问要再次输入数据么?【Y/N】&;
& & & & & & & & std::cin&&
& & & & }
}
复制代码30行开始的地方,我想验证一下输入的数是不是一个整数,但是不知道该怎么验证,求教大家,谢谢。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 991 天[LV.10]以坛为家III
std::cin&&A
if( !std::cin || Action!=1 || Action != 2 || Action != 3 ) {
& &//处理错误
&&//正常流程
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 34 天[LV.5]常住居民I
仰望天上的光 发表于
std::cin&&A
if( !std::cin || Action!=1 || Action != 2 || Action != 3 ) {
& &//处理错误
先谢谢回答,这个方法我也想到过,但是如果输入10个数呢100个数呢?有没有什么方法可以判断输入的是不是一个整数的?谢谢啊
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 34 天[LV.5]常住居民I
仰望天上的光 发表于
std::cin&&A
if( !std::cin || Action!=1 || Action != 2 || Action != 3 ) {
& &//处理错误
刚才我试了一下这个方法。。。好像还是不行,输入a的话就会出错。。。并且这里Action为int型,如果我输入1.23的话Action还是等于1吧= =。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 34 天[LV.5]常住居民I
大家帮帮忙= =
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 34 天[LV.5]常住居民I
#include&iostream&
#include&fstream&
#include&string&
#include&windows.h&
class System {
public:
& & & & std::
& & & & std::string ID;
& & & & std::
& & & &
& & & & void InitData();//初始化数据
& & & & bool PrintData();//打印数据& & & &
& & & & void RecordData();//录入数据
};
int main()
{& & & &
& & & & system(&color F0&);//显示白底黑字
& & & & System system1;
& & & & system1.InitData();
& & & &
& & & & int A
& & & & while(1)
& & & & {
& & & & & & & & std::cout&&&\n\n& & & & & & & & & & & & & & & & 数据库管理系统&&&&\n\n&;
& & & & & & & & std::cout&&&& & & & & & & & 1.打印数据库&;
& & & & & & & & std::cout&&&& & & & & & & & 2.添加新用户&&&&\n&;
& & & & & & & & std::cout&&&& & & & & & & & 3.退出管理系统&&&&\n&;
& & & & & & & &
& & & & & & & & std::cin&&A
& & & & & & & & if(std::cin.rdstate()==std::ios::goodbit)//判断输入是否为一个整数
& & & & & & & & {
& & & & & & & & & & & & switch(Action)
& & & & & & & & & & & & {
& & & & & & & & & & & & case 1://若用户输入1,打印数据库
& & & & & & & & & & & & & & & & if(system1.PrintData())
& & & & & & & & & & & & & & & & & & & & std::cout&&&成功读取文件!\n&;
& & & & & & & & & & & & & & & & else
& & & & & & & & & & & & & & & & & & & & std::cout&&&读取文件失败!\n&;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & case 2://若用户输入2,添加新用户
& & & & & & & & & & & & & & & & system1.RecordData();
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & case 3://退出管理系统
& & & & & & & & & & & & & & & & std::cout&&&已退出管理系统!&&&&\n&;
& & & & & & & & & & & & & & & & return 0;
& & & & & & & & & & & & default:
& & & & & & & & & & & & & & & & std::cout&&&输入错误,请重新输入。。\n&;
& & & & & & & & & & & & & & & &
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & else
& & & & & & & & & & & & std::cout&&&请输入一个合法值。。。\n&;//输入错误的话,提示并在下面刷新输入流
& & & & & & & & std::cin.clear();//清除错误标志
& & & & & & & & fflush(stdin);//刷新输入流
& & & & }
& & & & std::cout&&&程序异常退出。。\n&;
& & & & return 0;
}
void System::InitData()//创建一个文档来存储输入数据
{
& & & & std::
& & & & file.open(&DataBase.txt&,std::ios::app);
& & & & if(!file)
& & & & {
& & & & & & & & std::cout&&&初始化文件失败!\n&;
& & & & & & & & exit(1);
& & & & }
}
bool System::PrintData()
{
& & & & std::ifstream pfile(&DataBase.txt&);
& & & & std::
& & & & if(pfile.is_open())
& & & & {& & & &
& & & & & & & & std::cout&&&正在输出记录:。。。。&;
& & & & & & & & for( int i=0; i &= 100; i++ )& && &// 打印百分比
& & & & & & & & {
& & & & & & & & & & & & std::cout.width(3);
& & & & & & & & & & & & std::cout && i && &%&;
& & & & & & & & & & & & Sleep(10);
& & & & & & & & & & & & std::cout && &\b\b\b\b&;
& & & & & & & & }
& & & & & & & & std::cout && &\n\n&;
& & & & & & & & std::cout&&&姓名&&&&&&ID号&&&&&&性别\n&;
& & & & & & & & while(std::getline(pfile,temp))
& & & & & & & & {
& & & & & & & & & & & & std::cout&&temp&&&& &&;
& & & & & & & & & & & & std::cout&&&\n&;
& & & & & & & & }
& & & & & & & &
& & & & }
& & & & else
& & & & & & & &
}
void System::RecordData()
{
& & & & char goon,
& & & & goon='y';
& & & & while(goon=='y'||goon=='Y')
& & & & {
& & & & & & & & std::cout&&&请输入姓名:&;
& & & & & & & & std::cin&&this-&
& & & & & & & & std::cout&&&请输入ID:&;
& & & & & & & & std::cin&&this-&ID;
& & & & & & & & std::cout&&&请输入性别:&;
& & & & & & & & std::cin&&this-&
& & & & & & & &
& & & & & & & & std::cout&&&录入成功,需要保存么?【Y/N】:&;
& & & & & & & & std::cin&&
& & & & & & & & if(save=='y'||save=='Y')
& & & & & & & & {
& & & & & & & & & & & & std::
& & & & & & & & & & & & wfile.open(&DataBase.txt&,std::ios::app);
& & & & & & & & & & & & if(wfile.is_open())
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & wfile&&this-&name&&&&&&;
& & & & & & & & & & & & & & & & wfile&&this-&ID&&&&&&;
& & & & & & & & & & & & & & & & wfile&&this-&sex&&&&&\n&;
& & & & & & & & & & & & & & & & wfile.close();
& & & & & & & & & & & & & & & & std::cout&&&数据成功保存到文件中!\n&;
& & & & & & & & & & & & }
& & & & & & & & }
& & & & & & & & else
& & & & & & & & & & & & std::cout&&&数据放弃保存!\n&;
& & & & & & & & std::cout&&&\n请问要再次输入数据么?【Y/N】&;
& & & & & & & & std::cin&&
& & & & }
}
复制代码问题已经解决了
使用cin.rdstate()函数可以。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 19 天[LV.4]偶尔看看III
对, 有函数可以直接拿来用的。
查字典就知道了。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
•••(
Powered byC语言开发(5)
判断输入任意一个整数,其范围之内包含多少个素数,源代码如下:
#include&stdio.h&
#include&stdlib.h&
#include&math.h&
int Sushu(int num){
int sum=0;
for(i=2;i&=i++){
int flag=1;
//判断i是否为素数/质数
for(j=2;j&i;j++){
if(i%j==0){
printf(&%d是素数\n&,i);
printf(&%d之内共有%d个素数&,num,sum);
int main(){
scanf(&%d&,&a);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:873次
排名:千里之外
原创:13篇}

我要回帖

更多关于 js 超出int范围 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信