今回は、「簡易電卓プログラム」をご紹介しよう。
数値を入力すると四則演算をして、計算結果を表示する。
そして、計算結果をクリアすると、また新しい四則演算を行うプログラムである。
なお、本プログラムは、
Windows 11 Home(23H2)上で、Visual Studio Code(1.94.0)を使用して作成し、gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0でコンパイルしている。
//簡易電卓プログラム(第1版)
#include <stdio.h>
#include <string.h>
double result = 0.0;
char str[2];
//計算関数
double keisan(void){
double num;
printf("簡易電卓プログラム\n");
printf("四則演算ができます。(+,-,*,/)入力例-> 3+5,続けて入力する-> *8,計算結果のクリア->c,終了->q;\n");
printf(">");
if (scanf("%lf", &result) != 1)
{
printf("計算できません\n");
return 0;
}
do
{
//演算子の入力
if (scanf("%1s", str) != 1)
{
break; // 入力が正常でなければループを終了
}
if (strcmp(str, "c") == 0)
{
printf("クリアします!\n");
result = 0.0; // "c" が入力された場合クリア
keisan();
}
else if (strcmp(str, "q") == 0)
{
printf("終了します!\n");
return 0; // "q" が入力された場合、計算を終了
}
// 数値の入力
if (scanf("%lf", &num) != 1)
{
break; // 入力が正常でなければループを終了
}
switch (str[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);
} while (1);
return 0;
}
int main()
{
keisan();
return 0;
}
実行結果
簡易電卓プログラム
四則演算ができます。(+,-,*,/)入力例-> 3+5,続けて入力する-> *8,計算結果のクリア->c,終了->q;
>3+9
計算結果:12
c
クリアします!
簡易電卓プログラム
四則演算ができます。(+,-,*,/)入力例-> 3+5,続けて入力する-> *8,計算結果のクリア->c,終了->q;
>2+9
計算結果:11
q;
終了します!
本プログラムは、これまで当ブログで紹介してきた、if文、do while文、switch文など基本的な機能で作成してある。
ただし、まだ改良の余地はあるので、今後も随時改訂版をご紹介していこうと考えている。
コメント