Menu
CoddyTech

switch 文

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

switch文は、複数の分岐を持つif文のようなものです。単一の条件を評価する代わりに、変数の値を複数のケースと照合し、一致するケースに関連付けられたコードを実行します。

switch文の基本的な構造は次のとおりです。

switch (variable) {
    case value1:
        // variable が value1 と等しい場合に実行するコード
        break;
    case value2:
        // variable が value2 と等しい場合に実行するコード
        break;
    // ... さらに多くのケース
    default:
        // どの case にも一致しない場合に実行するコード
}
  • switchキーワードの後には、テストしたい変数を括弧で囲んで指定します。
  • 各caseは、変数が取りうる値を表します。
  • 各case内のコードは、変数の値がそのケースの値と一致した場合に実行されます。
  • break文は重要です。ケースが実行された後、switchを終了します。これがないと、実行が次のケースへ「フォールスルー」します。
  • defaultケースは省略可能で、ほかのケースがどれも一致しない場合に実行されます。

例を見てみましょう:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... 他の曜日のケース
    default:
        dayName = "Invalid day";
}

複数のケースを1つにまとめることもできます:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... 他の曜日のcase
    default:
        dayName = "Invalid day";
}
challenge icon

チャレンジ

初心者

月番号(1は1月、2は2月など)を受け取り、その月が属する季節を出力するプログラムを作成してください。ロジックにはswitch文を使用してください。

季節と対応する月は次のとおりです。

  • 冬: 12月(12)、1月(1)、2月(2)
  • 春: 3月(3)、4月(4)、5月(5)
  • 夏: 6月(6)、7月(7)、8月(8)
  • 秋: 9月(9)、10月(10)、11月(11)
  • Invalid month: その他の選択肢の場合

自分で試してみよう

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // 以下にコードを書いてください
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: C++オンラインコンパイラ