switch 文
CoddyのC++ジャーニー「基礎」セクションの一部。レッスン 29/74。
switch文は、多方向のif文のようなものです。単一の条件を評価する代わりに、variableの値を複数のcaseと照合し、一致するcaseに関連付けられたコードを実行します。
switch文の基本構造は次のとおりです。
switch (variable) {
case value1:
// variable が value1 と等しい場合に実行するコード
break;
case value2:
// variable が value2 と等しい場合に実行するコード
break;
// ... その他のケース
default:
// どのケースにも一致しない場合に実行するコード
}switchキーワードの後のかっこ内には、テストしたい変数を指定します。- 各
caseは、変数が取り得る値を表します。 - 変数がその
caseの値と一致すると、そのcase内のコードが実行されます。
break文は重要です。case が実行された後にswitchを終了します。これがないと、実行は次の case へ「フォールスルー」します。defaultcase は省略可能で、他の case が一致しない場合に実行されます。
例を見てみましょう:
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;
// ... 他の日のケース
default:
dayName = "Invalid day";
}チャレンジ
初心者月番号(1はJanuary、2はFebruaryなど)を受け取り、その月が属するseasonを出力するプログラムを作成してください。ロジックにはswitch文を使用してください。
seasonと対応する月は次のとおりです:
- Winter:December (12)、January (1)、February (2)
- Spring:March (3)、April (4)、May (5)
- Summer:June (6)、July (7)、August (8)
- Autumn:September (9)、October (10)、November (11)
- Invalid month:その他の選択肢の場合
自分で試してみよう
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// 以下にコードを書いてください
std::cout << season << std::endl;
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C++オンラインコンパイラ