【C++入門】switch文を使った簡単な電卓(計算機)プログラムの作り方
簡単な電卓(計算機)とは、「+(足し算)」「-(引き算)」「*(掛け算)」「/(割り算)」といった基本的な四則演算を実行するプログラムのことです。C++ではswitch文を使うことで、演算子ごとに処理を分岐させたシンプルな電卓を短いコードで実装できます。
この記事では、switch文を活用した簡単な電卓プログラムのサンプルコードと実行結果をわかりやすく解説します。
動作イメージ
プログラムは、指定された演算子に応じて次のように計算を行います。
演算子 '+' の場合 → 34 + 324 = 358 演算子 '-' の場合 → 3874 - 324 = 3550 演算子 '*' の場合 → 76 * 24 = 1824 演算子 '/' の場合 → 645 / 5 = 129
サンプルコード
以下は、変数 op に格納された演算子に基づいて、2つの数値 a と b の計算結果を出力するC++プログラムです。
#include <iostream>
using namespace std;
int main() {
char op = '+';
float a = 63, b = 7;
// ユーザーから入力を受け付けたい場合は、下のコメントを外してください
// cout << "演算子を入力してください(+ または - または * または /): ";
// cin >> op;
cout << "使用する演算子: " << op << endl;
// cout << "2つの数値を入力してください: ";
// cin >> a >> b;
cout << "a = " << a << " b = " << b << endl;
switch(op) {
case '+':
cout << a << " と " << b << " の和は " << a + b;
break;
case '-':
cout << a << " と " << b << " の差は " << a - b;
break;
case '*':
cout << a << " と " << b << " の積は " << a * b;
break;
case '/':
cout << a << " を " << b << " で割った商は " << a / b;
break;
default:
// 演算子が +, -, *, / 以外の場合はエラーメッセージを表示
cout << "エラー! 正しい演算子ではありません";
break;
}
return 0;
}実行結果
使用する演算子: + a = 63 b = 7 63 と 7 の和は 70
コードのポイント解説
1. switch文による分岐処理
変数 op の値('+'、'-'、'*'、'/')に応じて、対応する case ブロック内の処理が実行されます。各ケースの末尾にある break; は、それ以降のケースが実行されないようにするために必須です。
2. default句によるエラー処理
どの case にも一致しなかった場合(たとえば '%' などが入力された場合)、default ブロックが実行され、エラーメッセージが表示されます。これにより、不正な入力に対してもプログラムが適切に反応します。
3. 対話型プログラムへの拡張
コメントアウトされている cin の行を有効にすれば、ユーザーがキーボードから演算子と数値を自由に入力できる対話型の電卓になります。
4. 注意点:ゼロ除算への対策
割り算('/')の場合、b が 0 だと実行時エラー(または無限大という不正な値)が発生します。実用的なプログラムにするには、if (b == 0) でチェックしてエラーを表示する処理を追加するとより安全です。
-
C/C++による線形探索プログラムの実装方法を解説
線形探索とは線形探索(リニアサーチ)アルゴリズムでは、目的の要素を配列の各要素と先頭から順番に比較していきます。該当する要素が見つかれば、その位置を出力します。線形探索の最悪計算量は O(n) です。入力: arr[] = { 12, 35, 69, 74, 165, 54} 探索値 = 165 出力: 165 は位置 5 に存在します。アルゴリズムの解説線形探索は、指定された数値が配列内に存在するかどうか、存在する場合にはどの位置にあるのかを調べるための基本的な探索アルゴリズムです。「逐次探索」と呼ばれることもあります。その動作は非常にシンプルで、以下の手順で行われます。配列の先頭要素から順
-
C/C++でn番目のカタラン数を求めるプログラム
カタラン数(Catalan numbers)とは、組み合わせ論におけるさまざまな数え上げ問題に現れる自然数の数列です。特に、再帰的に定義される対象の個数を数える場面で頻繁に登場することで知られています。カタラン数の主な性質ディック語(Dyck word)との関係Cn は、長さ 2n のディック語の総数を表します。ディック語とは、n 個の X と n 個の Y から構成され、文字列のどの先頭部分を見ても Y の数が X の数を超えない文字列のことです。例えば、長さ 6 のディック語は次の通りです。XXXYYY XYXXYY XYXYXY XXYYXY XXYXYY.正しい括弧の対応付けX を開き