Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ switch文 | プログラムフローの導入
C++入門

bookswitch文

メニューを表示するにはスワイプしてください

switch文は、プログラミングにおける制御フロー構造であり、単一の変数や式の値に基づいて、複数の選択肢の中から1つのコードブロックを実行するために使用されます。同じ値を複数の選択肢と比較する場合、複数のif-else文を使うよりも、より構造化され読みやすい方法です。

main.cpp

main.cpp

switch.h

switch.h

copy
1234567891011121314151617181920212223242526272829
#include <iostream> int main() { int userOption = 1; // 1: Check, 2: Deposit, 3: Withdraw, 4: Exit switch (userOption) { case 1: std::cout << "Checking balance...\n"; break; case 2: std::cout << "Depositing money...\n"; break; case 3: std::cout << "Withdrawing money...\n"; break; case 4: std::cout << "Exiting. Thank you!\n"; break; default: std::cout << "Invalid option.\n"; break; } }

userOption変数がチェックされ、その値が1の場合、プログラムは口座残高を確認するメッセージを表示します。その後、break文によってswitch-caseブロック内でのさらなる実行が停止され、他のケースが実行されるのを防ぎます。

  • break - ブロックからの退出を意味する文;

  • default - オプションですが有用な部分。この部分は、いずれのケースにも該当しない場合に実行されます。

break キーワード

しかし、switch 文には重要な側面があります。break 文が意図的に case から削除されている場合、プログラムは条件が一致しなくても後続の case を実行し続けます。この動作は**フォールスルー(fall-through)**と呼ばれ、特定の状況では有用ですが、注意して使用しないと予期しない結果を招く可能性があります

main.cpp

main.cpp

copy
1234567891011121314151617181920212223242526
#include <iostream> int main() { // Example user choice: 1 for Check Balance, 2 for Deposit, etc. int userOption = 1; // Simulating a banking system menu using a switch statement switch (userOption) { case 1: // Check account balance std::cout << "Checking account balance..." << std::endl; case 2: // Deposit money std::cout << "Depositing money into your account..." << std::endl; case 3: // Withdraw money std::cout << "Withdrawing money from your account..." << std::endl; case 4: // Exit std::cout << "Exiting the system. Thank you for banking with us!" << std::endl; default: // Invalid option std::cout << "Invalid option. Please choose a valid menu option." << std::endl; } }

break コマンドがない場合、プログラムの流れはすべての後続の判定を無視し、break 文または switch ブロックの終わりに到達するまで、後続の case のコマンドを順に実行します。

question mark

break ブロック内の switch 文の目的は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 4.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 4.  3
some-alt