Menu
Coddy logo textTech

入力バリデーション

CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 35/63。

ユーザーからの入力を受け取るとき、プログラムで使用する前に、その入力が有効であることを検証することが重要です。

整数の入力バリデーションを行うには、scanfの戻り値を確認します:

int number;
int result = scanf("%d", &number);

scanf 関数は、正常に読み取られた項目の数を返します:

if (result == 1) {
    // 入力は正常に読み取られました
    printf("Valid input: %d\n", number);
} else {
    // 入力は無効でした
    printf("Invalid input!\n");
}

範囲の検証には、入力を読み取った後に条件文を使用します:

if (number >= 1 && number <= 100) {
    printf("Number is within valid range (1-100)\n");
} else {
    printf("Number is outside valid range!\n");
}
challenge icon

チャレンジ

簡単

ユーザーから整数を読み取り、2つの方法で検証するプログラムを作成してください:

  1. 入力が実際に整数であるかどうかを確認する(scanf の戻り値を使用)
  2. 整数が 10 から 50(両端を含む)の間にあるかどうかを確認する

プログラムは以下を出力する必要があります:

  • 入力が 10 から 50 の間の有効な整数である場合は "Valid input!"。
  • 入力が整数ではない場合は "Invalid input type!"。
  • 入力は整数だが 10 から 50 の間ではない場合は "Out of range!"。

チートシート

整数の入力を検証するには、scanfの戻り値を確認します:

int number;
int result = scanf("%d", &number);

if (result == 1) {
    // 入力は正常に読み取られました
    printf("Valid input: %d\n", number);
} else {
    // 入力は無効でした
    printf("Invalid input!\n");
}

範囲の検証には、条件文を使用します:

if (number >= 1 && number <= 100) {
    printf("Number is within valid range (1-100)\n");
} else {
    printf("Number is outside valid range!\n");
}

自分で試してみよう

#include <stdio.h>

int main() {
    // ここにコードを記述してください
    
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン