如何在数组中设置键入的信息长度

时间:2012-11-11 16:21:39

标签: c++

我想检查一下这个数组中的类型长度。这里必须键入八个数字。这是我的代码:

#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];
        }
    }
}

2 个答案:

答案 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);