はじめに
初めて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年以上のベテランエンジニアにおすすめされた為
・連続で計算できないか挑戦したかった為
参考