![]() |
#2
lomey2011-05-21 04:57
|

调用方法:
int a;
a=input_sum(t); //t 是你要处理的长度
其中t为你要输入的int 数据的长度;*/
#include <iostream>
#include <string>
using namespace std;
int main()
{
int return_sum;
int input_sum(int a);
while(true){return_sum=input_sum(5);
cout<<"return_sum="<<return_sum<<endl<<endl;}
//655=10*10*6+5*10+5*1
return 0;
}
//******字符串处理为数字串(int型)的函数,t为int 型位数
******//
int input_sum(int t) //例如输入任意字符串,需要返回
一个5位数的int值,调用方法为input_sum(5)
{
int pow(int); //声明要调用的幂函数
int i,return_sum;
string str;
loop:
getline(cin,str);
if(str.length()>100)
{
cout<<"\n大哥,你输入的字符长度太大了,有必要吗?还不快重
新输入:";
goto loop;
}
else ;
for(i=1;i<str.length();i++)
{
if(str[i]<0)
{cout<<"\n不要输入中文,请重新输入:";goto loop;}
else if((str[i]>0&&str[i]<32)||(str[i]>32&&str[i]
<48)||str[i]>57)
{cout<<"\n请输入"<<t<<" 位"<<"0-9的数字组合,明
白:";goto loop;}
else if(str[i]==32)
{cout<<"\n不要输入空格,请输入"<<t<<" 位"<<"0-9的数字组
合:";goto loop;}
else ;
}
if(str.length()!=t)
{cout<<"\n字段长度不对,"<<"请输入"<<t<<" 位"<<"0-9的数字
组合:"; goto loop;}
else ;
int temp=0;
for(i=0;i<t;i++){temp=temp+(str[i]-48)*pow(t-i-1);}
return_sum=temp;
//cout<<"字符串长度为:"<<str.length()<<endl<<endl;
//测试时用到
return return_sum; //函数返回int 型的值
}
//******以10为底的幂函数100=10*10,t=2 把字符串处理为数字
串(int)时用到******//
int pow(int t)
{
int i,temp=1;
for(i=0;i<=t-1;i++)
{
temp=10*temp;
}
return temp;
}
只有本站会员才能查看附件,请 登录
[ 本帖最后由 ishagua 于 2011-6-5 16:33 编辑 ]