C++怎么从输入流里面提取目标类型的字符
是用string对象么,stringstring1;cin>>string1;我想判断输入的是数字还是字母或者是其他符号,然后再进行判断,怎么写呢...
是用string对象么,string string1; cin >> string1;我想判断输入的是数字还是字母或者是其他符号,然后再进行判断,怎么写呢
展开
展开全部
计算机内部存储不管是数字还是字母都是用的整数。
就可以通过每个元素相加的和,比如输入一个三位数,那么他每个元素的和肯定是<=27的,就可以断定它为一个数字的字符串。
然后其他符号在计算机内部存储的数字代码比124(z)大。所以3个字符的string每个元素的相加<=372;
就这样判断。
int sum = 0;
string string 1;
cin>>string1;
char* p = string1;
while(p)
sum+=*p++;
if(sum<=27) cout<<为数字;
else if(sum>27&& sum<=372) cout<<为字母;
else if(sum>372) cout<<为其他符号;
如果要知道输入的是几个字符的字符串,就用指针计算一下,然后得到相应的每个元素的和作为判断条件
就可以通过每个元素相加的和,比如输入一个三位数,那么他每个元素的和肯定是<=27的,就可以断定它为一个数字的字符串。
然后其他符号在计算机内部存储的数字代码比124(z)大。所以3个字符的string每个元素的相加<=372;
就这样判断。
int sum = 0;
string string 1;
cin>>string1;
char* p = string1;
while(p)
sum+=*p++;
if(sum<=27) cout<<为数字;
else if(sum>27&& sum<=372) cout<<为字母;
else if(sum>372) cout<<为其他符号;
如果要知道输入的是几个字符的字符串,就用指针计算一下,然后得到相应的每个元素的和作为判断条件
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询