今回は、C++で書かれた「簡単な電卓プログラム」を例に、コードの内容を丁寧に解説していきます。これからC++を学ぶ方や、競技プログラミングを始めたばかりの方にぴったりの内容です!
コード全体
#include <bits/stdc++.h>
using namespace std;
int main() {
int a;
string ope;
int b;
cin >> a >> ope >> b;
if (ope == "+") {
cout << a + b << endl;
}
else if (ope == "-") {
cout << a - b << endl;
}
else if (ope == "*") {
cout << a * b << endl;
}
else if (ope == "/") {
if (b == 0) {
cout << "error" << endl;
}
else {
cout << a / b << endl;
}
}
else {
cout << "error" << endl;
}
}
何をするプログラム?
このコードは、次のような簡易電卓の機能を実装しています:
- 整数の 足し算 (
+
) - 整数の 引き算 (
-
) - 整数の 掛け算 (
*
) - 整数の 割り算 (
/
) - それ以外の演算子や、ゼロでの除算に対しては
"error"
を出力
詳細な解説
#include <bits/stdc++.h>
この1行はC++のヘッダファイルを一括でインクルードするおまじないのようなものです。競技プログラミングなどでよく使われます。
using namespace std;
std::cout
や std::cin
を cout
や cin
として使えるようにする記述です。
int main() { ... }
C++のプログラムのエントリーポイントです。
変数の宣言と入力
int a;
string ope;
int b;
cin >> a >> ope >> b;
a
:最初の整数ope
:演算子(例:+
,-
,*
,/
)b
:2つ目の整数
の順で入力されます。
例:
入力: 5 + 3
// → a = 5, ope = "+", b = 3
演算処理
演算子 ope
の値によって処理が分岐します:
足し算:
if (ope == "+") {
cout << a + b << endl;
}
引き算:
else if (ope == "-") {
cout << a - b << endl;
}
掛け算:
else if (ope == "*") {
cout << a * b << endl;
}
割り算:
else if (ope == "/") {
if (b == 0) {
cout << "error" << endl;
}
else {
cout << a / b << endl;
}
}
割り算の場合、0で割るとエラーになるため、明示的にチェックしています。
不正な演算子:
else {
cout << "error" << endl;
}
+
, -
, *
, /
以外の文字列が入力された場合も error
を出力します。
実行例
入力:
8 * 7
出力:
56
入力:
10 / 0
出力:
error
まとめ
このプログラムは、C++の基本構文(変数、条件分岐、標準入力・出力)を使って、シンプルな電卓を実装しています。初心者の方が学ぶにはとても良い題材です!
このようなプログラムを少しずつ改造して、浮動小数点の計算に対応したり、複数の演算を連続でできるようにするなど、応用力もつけていきましょう!