メインコンテンツにスキップ
モジュール 2 · レッスン 3 / 3コース内の 6/18~8 min
モジュールのレッスン (3/3)

switch ステートメント

switch ステートメントを使用すると、変数を複数の定数値と比較するときに、if-else if-else ステートメントの長いチェーンを置き換えることができます。

switch 構文

switch ステートメントは、式を複数の case ラベルと比較します。

C++
char grade = 'B';

switch (grade) {
    case 'A':
        std::cout << "Excellent!" << std::endl;
        break;
    case 'B':
        std::cout << "Very well!" << std::endl;
        break;
    case 'C':
        std::cout << "Sufficient." << std::endl;
        break;
    default:
        std::cout << "Invalid grade." << std::endl;
        break;
}
  • break: 基本です。省略した場合、実行は次のケースにフォールスルーします (fall-through と呼ばれる動作)。
  • default: 前のケースのいずれもテストされた値と一致しない場合に実行されるオプションのブロック。

自分で試してみてください

運動#cpp.m2.l3.e1
試行回数: 0読み込み中…

std::cin から読み取られた整数の日を指定すると、switch を使用して、日が 1 の場合は 'lunedi'、2 の場合は 'martedi'、その他の値の場合は 'altro' を出力します。

エディターを読み込み中…
ヒントを表示

「case 1:」、「case 2:」、および「default:」を挿入して、「day」のスイッチを構造化します。各分岐の末尾にある「break」ステートメントを覚えておいてください。

3 回の試行後に解決策が利用可能になります

運動#cpp.m2.l3.e2
試行回数: 0読み込み中…

std::cin から読み取られた可変グレードを指定すると、スイッチを使用して、「A」の場合は「ottimo」、「B」の場合は「buono」、その他すべての場合は「insufficiente」を出力します。

エディターを読み込み中…
ヒントを表示

文字には一重引用符を使用します。 `ケース 'A':`。

3 回の試行後に解決策が利用可能になります