0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[C言語] 簡易電卓の作成

Posted at

はじめに

初めてC言語で電卓プログラムを作成しました。
サンプルを元に自分なりに改良しました。

最終コード

#include <stdio.h>
#include <string.h>

int main()
{
    double result = 0.0;
    double num;
    char op[2];

    printf("加減乗除(+,-,*,/)ができます。例,2+5 終了時はq\n");

    if (scanf("%lf", &result) != 1)
    {
        printf("計算できません\n");
        return 0;
    }
    
    while (1)
    {
        // 演算子の入力
        if (scanf("%1s", op) != 1)
        {
            break;  // 入力が正常でなければループを終了
        }

        if (strcmp(op, "q") == 0)
        {
            break;  // "q" が入力された場合、計算を終了
        }

        // 数値の入力
        if (scanf("%lf", &num) != 1)
        {
            break;  // 入力が正常でなければループを終了
        }

        switch (op[0])
        {
        case '+':
            result += num;
            break;
        case '-':
            result -= num;
            break;
        case '*':
            result *= num;
            break;
        case '/':
            if (num == 0.0)
            {
                printf( "ゼロでの割算はできません\n" );
                return 0;
            }
            result /= num;
            break;
        default:
            printf("演算記号の指定が違います\n");
            return 0;
        }

        printf("結果:%g\n", result);
    }

    printf("最終結果:%g\n", result);

    return 0;
}

解説

①「2+5」と入力後、Enterキーを押下
②「結果:7」と表示
③「-3」と入力後、Enterキーを押下
④「結果:4」と表示
⑤「q」を入力とEnterキー押下し、最終結果の表示とプログラムの終了

プログラムを作成した理由

・C言語を勉強すれば、他のプログラム言語に苦労しないと20年以上のベテランエンジニアにおすすめされた為
・連続で計算できないか挑戦したかった為

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?