#include<iostream>
#include<string>
using namespace std;
int strtoint(const string &str)
{
int num = 0;
for (unsigned int i = 0; i < str.length(); i++)
{
if ((str.at(i) >= '0') && (str.at(i) <= '9'))
{
num = num * 10 + str.at(i) - '0';
}
else
{
throw str.at(i);
}
}
return num;
}
int main()
{
string str;
int i_value;
cout << "please input a number string :\n";
cin >> str;
try
{
i_value = strtoint(str);
if (i_value > 10000)
throw i_value;
}
catch (char)
{
cout << "input string include illegal character:" <<char<< endl;
i_value = -1;
}
catch (int)
{
cout << "number is too big:" << i_value << endl;
}
cout << i_value << endl;
return 0;
}
请问各位大佬这个代码char那里报错应该怎么该?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
lemon-l 2021-03-30 21:25关注catch (char c) { cout << "input string include illegal character:" << c << endl; i_value = -1; } catch (int i_value) { cout << "number is too big:" << i_value << endl; }这么改试试
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报