Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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文を組み合わせるだけで、演算子ごとの処理をすっきりと分岐できる簡易電卓が完成します。ぜひご自身の開発環境でコンパイルし、さまざまな演算子や数値を入力して動作を確認してみてください。

  1. 【初心者向け】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 を判別式と呼びます。判別式の値によって、根の性質が次のように変わります。判別式 >

  2. Pythonのtkinterで簡単なGUI電卓アプリを作る方法【初心者向け】

    はじめにPythonでは、tkinterライブラリを使ってGUIコンポーネントを作成し、より使いやすいユーザーインターフェースを構築することができます。この記事では、tkinterとPillow(PIL)を組み合わせて、アイコン付きのシンプルなGUI電卓アプリケーションを作成する方法を、初心者向けに丁寧に解説していきます。事前準備開発を始める前に、いくつか準備しておくべきことがあります。まず、ローカルシステムから画像ファイルを読み込むために使用するPythonの画像処理ライブラリをインストールしましょう。PIL(Pillow)をインストールするには、ターミナルを起動して以下のコマンドを実行して