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文でのループ・繰り返し
スポンサーリンク