Menu
Coddy logo textTech

ネストした if - else

CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 32/74。

if-elif-else 文は、互いに入れ子(ネスト)にすることができます。これにより、階層的な意思決定構造を作成できます。

例えば:

if (age > 18) {
    if (hasLicense) {
    	std::cout << "You can drive";
    } else {
        std::cout << "Get a license first";
    }
} else {
	std::cout << "Too young to drive";
}

無限にネストさせることができます:

if (condition1) {
	if (condition2) {
		if (condition3) {
			// condition1、condition2、およびcondition3が真(true)の場合
		}
	}
}
challenge icon

チャレンジ

初心者

ジェットコースターに乗れるかどうかを判定するプログラムを作成してください。条件は以下の通りです:

  • 12歳以上であること
  • 身長が150cmより高いこと
  • 両方の条件を満たしていても、15歳未満の場合は大人の同伴が必要です

各ケースについて、以下のメッセージを正確に出力してください:

  • 年齢が足りない場合: Sorry, you are too young
  • 身長が足りない場合: Sorry, you are not tall enough
  • 15歳未満で大人の同伴がない場合: Sorry, you need an adult with you
  • 15歳未満で大人の同伴がある場合: You can ride with adult supervision!
  • 15歳以上で身長が足りている場合: You can ride by yourself!

チートシート

if-elif-else 文を互いにネスト(入れ子)にして、階層的な意思決定構造を作成することができます:

if (age > 18) {
    if (hasLicense) {
        std::cout << "You can drive";
    } else {
        std::cout << "Get a license first";
    }
} else {
    std::cout << "Too young to drive";
}

ネストは無限に行うことができます:

if (condition1) {
    if (condition2) {
        if (condition3) {
            // condition1、condition2、および condition3 が真の場合
        }
    }
}

自分で試してみよう

#include <iostream>

int main() {
    int age, height;
    bool hasAdult;
    std::cin >> age >> height >> hasAdult; // この行を変更しないでください

    // 以下にコードを記述してください
    
    return 0;
}
quiz icon腕試し

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

基礎のすべてのレッスン