我正在做一个问题,它要求输入一个只有四位数字的帐号。这必须通过基本的初学者 C++ 来完成。
我需要找出一种方法将整数的输入限制为四位。用户应该能够输入 0043 或 9023 或 0001,它应该是一个可接受的值....
我想我知道如何用一个字符串完成它.... getline(cin,input) 然后检查 input.length()==4 吗?
但我什至不知道如何使用整数输入来做到这一点。
最佳答案
请注意,如果 0043
旨在区别于 43
,那么输入实际上不是一个数字,而是一个数字串,就像电话“号码”一样。
将该行作为字符串读取 input
.
检查 input
的长度是4
.
检查字符串中的每个字符是否为<= '9'
和 >= '0'
.
类似于:
std::string read4DigitStringFromConsole()
{
bool ok = false;
std::string result;
while (!ok)
{
std::cin >> result;
if (result.length() == 4)
{
bool allDigits = true;
for(unsigned index = 0; index < 4; ++index)
{
allDigits = allDigits && (
(result[index] >= '0') &&
(result[index] <='9')
);
}
ok = allDigits;
}
}
return result;
}
关于c++ - 整数输入仅限于四位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14514412/