0

この配列の型の長さをチェックしたい。ここには 8 つの数字を入力する必要があります。これが私のコードです:

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

2 に答える 2

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);
于 2012-11-11T17:26:58.777 に答える
0

8 桁が必要な場合は、入力が 10000000 から 99999999 の間でなければならないことがわかっています。したがって、単純にそれを確認してください。

cin >> n;
if (n < 10000000 or n > 99999999) {
    // Error: need 8 digits.
}

これは正の数に対して機能します。負の数も処理する必要がある場合は、それに応じて条件を調整してください。

数値から各桁を抽出する必要がある場合は、ここで何度も回答されています。例:ビット演算で整数の N 桁目を取得する方法は?

于 2012-11-11T16:27:59.290 に答える