关于一个C++的简单程序,输入数字判断范围,输入字符返回输入有误····
我自己编写了一个简单的C++程序,是判断输入的数字在哪个范围之内。当时当输入字母时,我希望输出结果为输入有误,但是对这一点我是不懂改怎么做了。希望高人指点·······...
我自己编写了一个简单的C++程序,是判断输入的数字在哪个范围之内。当时当输入字母时,我希望输出结果为输入有误,但是对这一点我是不懂改怎么做了。
希望高人指点······· 展开
希望高人指点······· 展开
5个回答
展开全部
您的中文表达也不太容易懂。字符编码采取ASCII码,在这个码制里,数字0~9是相连的10个码,'0'最小,'9'最大。您要判断输入的字符是否为数字,只需要加如下判断就行了(假设您读入的字符在变量ch中):
if ( ch>='0' && ch<='9' ) {
//这里是输入数字的处理代码
} else {
//这里是提示输入错误的处理代码
}
if ( ch>='0' && ch<='9' ) {
//这里是输入数字的处理代码
} else {
//这里是提示输入错误的处理代码
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第7行是按8进制输出的。
你可能是希望这一行按10进制输出而非8进制,但由于操作符对流格式的控制是通过修改流的标志位来实现的,所以在你源代码的第10行(包括空行)cout<<"i= "<<oct<<i<<endl; 中,流对象cout中的标志位已经被修改,所以它在下一次输出的时候使用的就是已经被修改后的标志位来进行格式输出,也就是八进制进行输出了。
你可以参考下《C++程序设计语言(特别版)》的第21章。
你可能是希望这一行按10进制输出而非8进制,但由于操作符对流格式的控制是通过修改流的标志位来实现的,所以在你源代码的第10行(包括空行)cout<<"i= "<<oct<<i<<endl; 中,流对象cout中的标志位已经被修改,所以它在下一次输出的时候使用的就是已经被修改后的标志位来进行格式输出,也就是八进制进行输出了。
你可以参考下《C++程序设计语言(特别版)》的第21章。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
#include<string>
using namespace std;
int main(){
string InChar; //输入字符
cout<<"请输入一串数字"<<endl;
cin>>InChar;
int len=InChar.length(),InNum=0;
bool IsLetter=false;
int* num=new int[len];
for(int i=0;i<len;i++)
{
int a=(InChar[i]-'0'); //ASICC码与数字的差值
if(a<0||a>9)
{
IsLetter=true;
break;
}
else
num[i]=InChar[i]-'0';
}
if(IsLetter)
cout<<"您输入的是字母(或其他字符)!"<<endl;
else
{
for(int i=0;i<len;i++)
{
int temp=num[i];
for(int j=len-i;j>1;j--)
temp*=10;
InNum+=temp;
}
cout<<"您输入的数字是:(在此处添加您想要的判断数字范围)"<<InNum<<endl;
}
return 0;
}
#include<string>
using namespace std;
int main(){
string InChar; //输入字符
cout<<"请输入一串数字"<<endl;
cin>>InChar;
int len=InChar.length(),InNum=0;
bool IsLetter=false;
int* num=new int[len];
for(int i=0;i<len;i++)
{
int a=(InChar[i]-'0'); //ASICC码与数字的差值
if(a<0||a>9)
{
IsLetter=true;
break;
}
else
num[i]=InChar[i]-'0';
}
if(IsLetter)
cout<<"您输入的是字母(或其他字符)!"<<endl;
else
{
for(int i=0;i<len;i++)
{
int temp=num[i];
for(int j=len-i;j>1;j--)
temp*=10;
InNum+=temp;
}
cout<<"您输入的数字是:(在此处添加您想要的判断数字范围)"<<InNum<<endl;
}
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
范围是什么意思?负无穷到正无穷也是范围。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把你的源程序贴出来看看吧....
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询