我想检查一下这个数组中的类型长度。这里必须键入八个数字。这是我的代码:
#include <iostream.h>
#include <iomanip.h>
void main ()
{
int n, i;
cout << "1. Vyvedi fakulteten nomer" << endl;
cin >> n;
switch(n) {
case 1:
int F[30];
for (i=1; i<=30; i++) {
cout << i << ". Fak. nomer: ";
cin >> F[i];
}
}
}
答案 0 :(得分:0)
如果您需要8位数字,那么您知道输入必须介于10000000和9999999之间。所以只需检查:
cin >> n;
if (n < 10000000 or n > 99999999) {
// Error: need 8 digits.
}
这适用于正数。如果您还需要处理负数,请相应地调整条件。
如果您还需要从数字中提取每个数字,那么现在已经多次回答了这个问题。例如:How to get the Nth digit of an integer with bit-wise operations?
答案 1 :(得分:0)
输入正确性检查的常用例程使用do while循环
int input;
do
{
std::cin >> input;
}
while(input < 10000000 || input > 99999999);
这样,程序将等待有效输入,直到它被提供。这里不需要数组。如果程序需要处理不适合任何整数类型的非常大的数字,那么你可以将它作为字符串读出
std::string input;
do
{
std::cin >> input;
}while(input.length() != my_desired_length);