Cを使って簡易電卓を作る。
Pochi
2023-07-11
2023-07-25
Tags:

はじめに

こんにちは。Liberlunaの管理人をしてる人です。
今回はC言語で挫折した経験がある人・これからC言語を始めようと思っている人に向けて0からC言語を教えていこうと思います。
今回の目標は、C言語を使い簡単な電卓を作ることを目標としましょう。
尚、今回は環境構築の説明は省きます。自分で調べてやってみると良いでしょう。案外簡単ですよ。オススメのIDE(統合開発環境)はMicrosoft社が提供するVisualStudioです。

実演

さて、ある程度の説明ができたので実際に始めていきましょう。まずはプログラミングをはじめ1番始めにする事、Hello World!の出力です。下記のコードをエディタ(IDE)に打ち込んでください。

#include<stdio.h>

int main(void){
    printf("Hello World!¥n");
    return 0;
}

プログラムの解説やC言語の特徴を教えます。
まず、#include<(ヘッダーファイル)>で他のプログラムの機能などを呼び出すコマンドを書きます。1番最初に使うヘッダーファイルは"stdio.h"です。
ヘッダーファイルは色々あり、それぞれのヘッダーファイルで使用できる関数が決められています。電卓を作る際に使うprintfやscanf関数は標準の"stdio.h"を使います。
stdioはStandardI/O(input/output)の意です。
次はmain関数です。main関数はプログラムの始まりを意味します。ただHello World!を出力するだけなら
int main(void)

ではなく

main()

だけでよいです。C言語には文の最後にセミコロン(;)を入れないといけないルールがあります。
では次に、scanf関数を使用していきましょう。scanfは以下のように記述します。

int main(void){
char a;
    printf("何か入力してください。=>");
    scanf("%s",&a);
}

まず、

char a;

で変数aを作成し、

printf("何か入力してください。=>");
scanf("%s",&a);

で「何か入力してください。=>」と表示した後に、キー入力を受け取ります。
%sは変換指定子であり、char型のデータを入力できます。char型のデータはA B C Dなどの文字列です。数字を入力する際には、int型を使うので変換指定子は%dになります。
「C言語 変換指定子」と調べたら変換指定子一覧が出てくるでしょう。
では、今やったことを踏まえて四則演算を行い計算結果を表示させるプログラムを作成しましょう。

#include<stdio.h>

int main(void){
    float sahen, uhen, answer;
    char enzan;

    printf("数値1(左辺)を入力してください。=>");
    scanf("%f",&sahen);

    getchar();

    printf("¥n");

    printf("演算子を入力してください。=>");
    scanf("%c", &enzan);

    printf("¥n");

    printf("数値2を入力してください。=>");
    scanf("%f", &uhen);

    if (enzan == '+') {
        answer = sahen + uhen;
    }
    else if (enzan == '-') {
        answer = sahen - uhen;
    }
    else if (enzan == '*') {
        answer = sahen * uhen;
    }
    else if (enzan == '/') {
        if (uhen != 0) {
            answer = sahen / uhen;
        }
        else {
            printf("0では割り算ができません。¥n");
            return 0;
        }
    }
    else {
        printf("無効な演算子です。¥n");
        return 0;
    }

    printf("計算結果:%.2f¥n", answer); //少数第二位まで表示

    return 0;
}

これで、左辺を入力し、演算子(+,-,*(×),/(÷))を入力後に右辺を入力し計算結果を表示するプログラムを書きました。今回はif~else文の説明をしませんでしたが次回はしようと思います。