【C#】入れ子if文のシンプルな例:成績判定プログラム

具体例として、学校の成績に基づいて「合格」か「不合格」を判定するプログラムを示します。

次の仕様を元にコーディングすることを考えてみます

作るアプリ

成績判定プログラムの仕様(GradeChecker)

概要

このプログラムは、学生の成績(得点)に基づいて「合格」または「不合格」を判定し、さらに優秀な成績を持つ学生には特別なメッセージを表示します。

入力

  • 固定の整数値 score(例: 75)

処理

  1. 成績 (score) が60以上かをチェックします。
  2. 60以上の場合:
    • さらに、成績が90以上かをチェックします。
    • 90以上の場合、「優秀です!」と表示します。
    • 90未満の場合、「合格です。」と表示します。
  3. 60未満の場合、「不合格です。」と表示します。

出力

  • 成績に応じた以下のメッセージのいずれかを表示します。
    • 「優秀です!」
    • 「合格です。」
    • 「不合格です。」

サンプル

int score = 75;

if (score >= 60)
{
    if (score >= 90)
    {
        Console.WriteLine("優秀です!");
    }
    else
    {
        Console.WriteLine("合格です。");
    }
}
else
{
    Console.WriteLine("不合格です。");
}

このプログラムの説明:

  1. score という整数変数に成績を代入します。
  2. 最初の if 文で score が60以上かどうかをチェックします。
  3. もし score が60以上であれば、次の if 文で score が90以上かどうかをチェックします。
  4. score が90以上であれば、「優秀です!」と表示します。
  5. そうでなければ、「合格です。」と表示します。
  6. 最初の if 文で score が60未満の場合、「不合格です。」と表示します。

このように、短くてシンプルな入れ子のif文の例で、成績に基づいた判定を行っています。

別解答

入れ子を無しで

int score = 75;

if (score >= 90)
{
    Console.WriteLine("優秀です!");
}
else if (score >= 60)
{
    Console.WriteLine("合格です。");
}
else
{
    Console.WriteLine("不合格です。");
}

論理演算子を使用

int score = 75;

if (score >= 90)
{
    Console.WriteLine("優秀です!");
}
else if (60 <= score && score < 90)
{
    Console.WriteLine("合格です。");
}
else
{
    Console.WriteLine("不合格です。");
}

C#

Posted by hidepon