switch case文での条件分岐
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
C++のswitch case文は、PHPと全く同じですので、PHPが分かる人は飛ばしてOKです。
基本の形式は以下の通りです。
スポンサーリンク
switch (式) case 定数1: 処理1 ・・・ break; case 定数2: 処理2 ・・・ break; default: 処理3 ・・・ break;
出だしの「switch (式)」の式を評価して、その結果と一致するcase文が選択され、処理が実行されます。
caseの処理文の後には、通常breakを付けますので、一致するものが見つかった場合は、残りのcase文の処理は行われません。
また、caseの定数に一致するものが見つからない場合は、default文の処理が行われます。
break文がない場合は、そこでswitch文の処理がストップすることなく、次のcase文へと進みます。
これをフォールスルーと呼びますが、意図的に狙って書くことは、あまり少ないように思います。
#include <iostream> int result; // 計算結果 char oper_char; // ユーザー指定演算子 int value; // 入力の数字 int main() { // 計算結果の初期化 result = 0; // 無限ループ while (true) { std::cout << "Result: " << result << "\n"; std::cout << "Enter operator and number: "; std::cin >> oper_char >> value; // 中止 if ((oper_char == 'q') || (oper_char =='Q')) break; // 条件分岐 switch (oper_char) { case '+': result += value; break; case '-': result -= value; break; case '*': result *= value; break; case '/': if (value ==0) std::cout << "Error\n"; else result /= value; break; default: std::cout << "Unknown operator " << oper_char << "\n"; break; } } return(0); }
上記コードは、四則演算を行う電卓のプログラムです。
switch (oper_char)で、入力された演算子(+,-,*,/)で、caseに演算子を指定して、条件分岐をさせています。
default文では、+,-,*,/以外の演算子が入力された場合に、エラーメッセージを表示するようにしています。
コマンドプロンプトから、演算子(+,-,*,/)と数字を入力することで、四則演算を行えます。
実行結果。
Result: 0 Enter operator and number: +3 Result: 3 Enter operator and number: *5 Result: 15 Enter operator and number: *6 Result: 90 Enter operator and number: -25 Result: 65 Enter operator and number: /5 Result: 13 Enter operator and number: q
このように、正確な計算を行える電卓を作ることができます。
スポンサーリンク
<< 前の記事 : for文でのループ・繰り返し
スポンサーリンク