C言語で簡単な電卓プログラムを作成する方法|switch文を使った実装手順を徹底解説
C言語を使えば、足し算・引き算・掛け算・割り算といった四則演算に対応したシンプルな電卓プログラムを、短いコードで実装できます。本記事では、switch文(switch case)を活用した電卓プログラムの基本アルゴリズム、実際に動作するサンプルコード、実行結果までを初心者向けにわかりやすく解説します。
電卓プログラムのアルゴリズム
まずは、プログラム全体の流れを以下の手順で確認しておきましょう。
ステップ1:変数を宣言する
ステップ2:実行時に演算子(+、-、*、/ のいずれか)を入力する
ステップ3:実行時に2つの数値(num1、num2)を入力する
ステップ4:switch文で演算子を判定し、対応する計算を実行する
case '+' : result = num1 + num2;
case '-' : result = num1 - num2;
case '*' : result = num1 * num2;
case '/' : result = num1 / num2;
default : 「無効な演算子です」というメッセージを表示
ステップ5:計算結果を出力する
switch文を使った電卓プログラムのサンプルコード
以下が、switch caseを利用して作成したC言語の電卓プログラムです。表示メッセージは日本語に書き換えています。
#include <stdio.h>
int main(){
char Operator;
float num1, num2, result = 0;
printf("演算子を入力してください(+ - * /): ");
scanf("%c", &Operator);
printf("num1 と num2 の値を入力してください: ");
scanf("%f%f", &num1, &num2);
switch(Operator){
case '+': result = num1 + num2;
break;
case '-': result = num1 - num2;
break;
case '*': result = num1 * num2;
break;
case '/': result = num1 / num2;
break;
default : printf("無効な演算子です");
}
printf("計算結果 = %f\n", result);
return 0;
}
コードのポイント
- 変数の宣言: char型のOperatorに演算子を1文字格納し、float型のnum1・num2に計算対象の数値、resultに結果を保存します。float型を採用することで、割り算の結果も小数点以下まで正確に出力できます。
- 入力処理: scanf関数の「%c」で演算子を1文字として読み込み、「%f%f」で2つの数値を続けて読み込みます。
- switch文による分岐: 入力された演算子と一致するcaseラベルの計算処理が実行されます。各caseの末尾にbreak文を記述し、それ以降のcaseに処理が流れないようにしています。
- defaultの処理: +、-、*、/ 以外の文字が入力された場合に「無効な演算子です」と表示し、不正な入力に備えています。
注意点:ゼロ除算への対策
このコードでは、num2に0を入力して「/」を選択するとゼロ除算となり、エラーが発生する可能性があります。実用的なプログラムに仕上げるには、case '/'の中で「if (num2 == 0)」を判定し、0の場合はエラーメッセージを返す処理を追加すると安全です。
実行結果
上記のプログラムをコンパイルして実行すると、以下のように出力されます。
演算子を入力してください(+ - * /): + num1 と num2 の値を入力してください: 23 45 計算結果 = 68.000000
このように、switch文を組み合わせるだけで、演算子ごとの処理をすっきりと分岐できる簡易電卓が完成します。ぜひご自身の開発環境でコンパイルし、さまざまな演算子や数値を入力して動作を確認してみてください。
-
【初心者向け】C言語で二次方程式の根(解)を求めるプログラムの作り方
問題ソフトウェア開発の手法をC言語に適用し、二次方程式の根(解)を求めるプログラムを作成します。解決策二次方程式 ax2 + bx + c = 0 の根を求めます。二次方程式には必ず2つの根が存在します。分析入力:係数 a、b、c の値出力:根 r1、r2 の値手順(解の公式)二次方程式の根は、以下の「解の公式」によって求めることができます。$r_{1}=\frac{-b+\sqrt{b^2-4ac}}{2a}$$r_{2}=\frac{-b-\sqrt{b^2-4ac}}{2a}$ここで、b2 − 4ac を判別式と呼びます。判別式の値によって、根の性質が次のように変わります。判別式 >
-
Pythonのtkinterで簡単なGUI電卓アプリを作る方法【初心者向け】
はじめにPythonでは、tkinterライブラリを使ってGUIコンポーネントを作成し、より使いやすいユーザーインターフェースを構築することができます。この記事では、tkinterとPillow(PIL)を組み合わせて、アイコン付きのシンプルなGUI電卓アプリケーションを作成する方法を、初心者向けに丁寧に解説していきます。事前準備開発を始める前に、いくつか準備しておくべきことがあります。まず、ローカルシステムから画像ファイルを読み込むために使用するPythonの画像処理ライブラリをインストールしましょう。PIL(Pillow)をインストールするには、ターミナルを起動して以下のコマンドを実行して