在c++中我想只限定使用者只输入int的数字。。。如果不是系统输出错误信息并让其重新输入
在c++中我想只限定使用者只输入int的数字。。。如果不是系统输出错误信息并让其重新输入。。。怎么写代码。。还有写一个不限定位数也能将这个数字逆序的代码怎么写啊。。。我是...
在c++中我想只限定使用者只输入int的数字。。。如果不是系统输出错误信息并让其重新输入。。。怎么写代码。。
还有写一个不限定位数也能将这个数字逆序的代码怎么写啊。。。
我是C++初学者。。。希望代码能够简单点。。。
谢谢啦。。。。 展开
还有写一个不限定位数也能将这个数字逆序的代码怎么写啊。。。
我是C++初学者。。。希望代码能够简单点。。。
谢谢啦。。。。 展开
展开全部
我写了两个方法,第二种不是很符合要求,但是比你想要的结果能好一些。。
你可以参考一下;
呵呵。。。希望对你有用。。。祝:咱们一起进步!
#include <iostream>
#include <algorithm> //这个是通用库头文件;以后你会用到的。
#include <string>
using namespace std;
//你可以删除 while 循环,然后看看注释里边的代码运行的结果,相信你会更感兴趣的。。。
int main()
{
string str;
int flag=1;
while(flag) //方法一:
{
cout<<"input number:"<<endl;
cin>>str;
for(int i=0;i<str.size();i++)
{
if (str[i]>'0' && str[i]<'9')
{}
else
{
cout<<"error number! input again: "<<endl;
break;
}
}
if( i==str.size()) flag=0;
}
/*
cout<<"input number:"<<endl;
cin>>str;
if (str=="0") //如果输入的是 字符 “0”的话,就没必要判断了;
{
cout<<"the number is 0 "<<endl;
return 0;
}
*/
int value=atoi(str.c_str());
//这个函数: atoi,就是你想要的接口,将字符串转换成数字串;呵呵。。。
/*
while(value==0) //atoi 将字符串转换成int型数字串,如果有其他字符,那么转换失败,返回值是 0;
//这就是我为什么要判断输入的字符是否为“0”的原因;
{
cout<<"error number! input again:"<<endl;
cin>>str;
value=atoi(str.c_str());
}
*/
cout<<"the number is "<<value<<endl;
reverse(str.begin(),str.end()); //调用通用库函数,将字符串str反转;
cout<<"the reverse number is "<<str<<endl;
return 0;
}
你可以参考一下;
呵呵。。。希望对你有用。。。祝:咱们一起进步!
#include <iostream>
#include <algorithm> //这个是通用库头文件;以后你会用到的。
#include <string>
using namespace std;
//你可以删除 while 循环,然后看看注释里边的代码运行的结果,相信你会更感兴趣的。。。
int main()
{
string str;
int flag=1;
while(flag) //方法一:
{
cout<<"input number:"<<endl;
cin>>str;
for(int i=0;i<str.size();i++)
{
if (str[i]>'0' && str[i]<'9')
{}
else
{
cout<<"error number! input again: "<<endl;
break;
}
}
if( i==str.size()) flag=0;
}
/*
cout<<"input number:"<<endl;
cin>>str;
if (str=="0") //如果输入的是 字符 “0”的话,就没必要判断了;
{
cout<<"the number is 0 "<<endl;
return 0;
}
*/
int value=atoi(str.c_str());
//这个函数: atoi,就是你想要的接口,将字符串转换成数字串;呵呵。。。
/*
while(value==0) //atoi 将字符串转换成int型数字串,如果有其他字符,那么转换失败,返回值是 0;
//这就是我为什么要判断输入的字符是否为“0”的原因;
{
cout<<"error number! input again:"<<endl;
cin>>str;
value=atoi(str.c_str());
}
*/
cout<<"the number is "<<value<<endl;
reverse(str.begin(),str.end()); //调用通用库函数,将字符串str反转;
cout<<"the reverse number is "<<str<<endl;
return 0;
}
展开全部
如下:
#include <iostream>
#include <string> // string头文件
using namespace std;
void main()
{
string str;
int i, len;
while (1)
{
// 用字符串存储用户输入的数据
cout<<"Please input an integer value:";
cin>>str;
// 判断输入的是否都是int数据
len = str.length();
for (i = 0; i < len; i++)
{
if (str[i] < '0' || str[i] > '9')
break;
}
// 如果不是则重试,是则结束输入
if (i < len)
{
cout<<"input error: try again!"<<endl;
continue;
}
break;
}
// 把字符串反转
for (i = 0; i < (len / 2); i++)
{
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
// 整形数据逆序输出
cout<<"Reversed number is:"<<str<<endl;
}
#include <iostream>
#include <string> // string头文件
using namespace std;
void main()
{
string str;
int i, len;
while (1)
{
// 用字符串存储用户输入的数据
cout<<"Please input an integer value:";
cin>>str;
// 判断输入的是否都是int数据
len = str.length();
for (i = 0; i < len; i++)
{
if (str[i] < '0' || str[i] > '9')
break;
}
// 如果不是则重试,是则结束输入
if (i < len)
{
cout<<"input error: try again!"<<endl;
continue;
}
break;
}
// 把字符串反转
for (i = 0; i < (len / 2); i++)
{
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
// 整形数据逆序输出
cout<<"Reversed number is:"<<str<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
void main()
{
int nData;
for(;;)
{
printf("请输入一个整数:\n");
scanf("%d",&nData);
if((unsigned int)nData > 0xFFFF)
{
fflush(stdin);
continue;
}
else
{
break;
}
}
}
void main()
{
int nData;
for(;;)
{
printf("请输入一个整数:\n");
scanf("%d",&nData);
if((unsigned int)nData > 0xFFFF)
{
fflush(stdin);
continue;
}
else
{
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询