求指教哪里错了?
#include<iostream>
#include<string>
#include<bits/stdc++.h>
using namespace std;
int cha(char *str)
{
int sum=0;
for(int i=0; str[i]!='\0'; i++)
{
if(str[i]>='0'&&str[i]<='9')
{
sum=sum*10+str[i]-'0';
}
else
return -1;
}
if(sum>=1&&sum<=1000)
return sum;
else
return -1;
}
int main()
{
char a[10001],b[10001];
cin>>a;
cin>>b;
int n=cha(a);
int m=cha(b);
if(n==-1)
printf("? + ");
else
printf("%d + ",n);
if(m==-1)
printf("? = ");
else
printf("%d = ",m);
if(n==-1||m==-1)
cout<<"?";
else
printf("%d",n+m);
return 0;
}