まず、C言語ではscanf()
関数を使用してユーザーからの入力を受け取ることができます。整数の場合は%d
フォーマット指定子を使用します。以下に、ユーザーから整数を受け取るための基本的なコード例を示します。
#include <stdio.h>
int main() {
int number;
printf("整数を入力してください: ");
scanf("%d", &number);
printf("入力された整数: %d\n", number);
return 0;
}
上記のコードでは、ユーザーに対して「整数を入力してください」というメッセージを表示し、scanf()
関数を使用して整数を受け取ります。受け取った整数はnumber
変数に格納され、その後に表示されます。
次に、ユーザーが負の整数を入力した場合にエラーチェックを行い、適切な処理を行う方法について説明します。以下に、エラーチェックを含んだコード例を示します。
#include <stdio.h>
int main() {
int number;
printf("整数を入力してください: ");
scanf("%d", &number);
if (number < 0) {
printf("負の整数が入力されました。正の整数を入力してください。\n");
return 1; // エラーコード1を返してプログラムを終了
}
printf("入力された整数: %d\n", number);
return 0;
}
上記のコードでは、if
文を使用してnumber
が負の場合にエラーメッセージを表示し、プログラムを終了させています。エラーメッセージの後にreturn 1;
があるため、エラーコード1を返してプログラムを終了させることができます。
さらに、ユーザーが負の整数を入力した場合に再入力を求めるようなエラーハンドリングを行う方法も考えられます。以下に、そのようなコード例を示します。
#include <stdio.h>
int main() {
int number;
do {
printf("正の整数を入力してください: ");
scanf("%d", &number);
if (number < 0) {
printf("負の整数が入力されました。もう一度入力してください。\n");
}
} while (number < 0);
printf("入力された整数: %d\n", number);
return 0;
}
上記のコードでは、do-while
ループを使用して、ユーザーが負の整数を入力した場合に再度入力を促す動作を繰り返します。number
が負の場合には、エラーメッセージを表示し、もう一度入力を求めます。正の整数が入力されるまでループが続きます。
これらのコード例を参考にしながら、C言語で整数の入力とエラーハンドリングを行うプログラムを作成することができます。適切なエラーチェックとハンドリングを実装することで、ユーザーが正しい入力を行うように促すことができます。