C語言實(shí)現(xiàn)簡單的計(jì)算器
更新時(shí)間:2021年02月23日 17:12:23 作者:yuelinghou
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了C語言實(shí)現(xiàn)簡單計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下
描述:簡單的實(shí)現(xiàn)四則運(yùn)算
1.switch法
#include<stdio.h>
void menu()//菜單函數(shù)
{
printf("************************************\n");
printf("***** 1.add 2.sub *****\n");
printf("***** 3.mul 4.div *****\n");
printf("*********** 0.exit ***********\n");
printf("************************************\n");
}
double Add(double x, double y)//加法函數(shù)
{
return x + y;
}
double Sub(double x, double y)//減法函數(shù)
{
return x - y;
}
double Mul(double x, double y)//乘法函數(shù)
{
return x * y;
}
double Div(double x, double y)//除法函數(shù)
{
return x / y;
}
int main()
{
int input = 0;//運(yùn)算符
double x = 0.0;//第一個(gè)運(yùn)算數(shù)
double y = 0.0;//第二個(gè)運(yùn)算數(shù)
do
{
menu();
printf("請選擇:>");
scanf("%d", &input);
if (input >= 1 && input <= 4)
{
printf("請輸入兩個(gè)操作數(shù)(用空格分隔):>");
scanf("%lf%lf", &x, &y);
}
switch (input)
{
case 1:
printf("%lf\n", Add(x, y));
break;
case 2:
printf("%lf\n", Sub(x, y));
break;
case 3:
printf("%lf\n", Mul(x, y));
break;
case 4:
printf("%lf\n", Div(x, y));
break;
case 0:
printf("退出\n");
break;
default:
printf("輸入錯(cuò)誤,請重新輸入\n");
break;
}
} while (input);
return 0;
}
2.函數(shù)指針數(shù)組法
#include<stdio.h>
void menu()//菜單函數(shù)
{
printf("************************************\n");
printf("***** 1.add 2.sub *****\n");
printf("***** 3.mul 4.div *****\n");
printf("*********** 0.exit ***********\n");
printf("************************************\n");
}
double Add(double x, double y)//加法函數(shù)
{
return x + y;
}
double Sub(double x, double y)//減法函數(shù)
{
return x - y;
}
double Mul(double x, double y)//乘法函數(shù)
{
return x * y;
}
double Div(double x, double y)//除法函數(shù)
{
return x / y;
}
int main()
{
int input = 0;//運(yùn)算符類型
double x = 0.0;//第一個(gè)操作數(shù)
double y = 0.0;//第二個(gè)操作數(shù)
double(*p[5])(double, double) = {NULL,Add,Sub,Mul,Div};//把相應(yīng)的函數(shù)指針放入一個(gè)數(shù)組里
do
{
menu();
printf("請選擇:>");
scanf("%d", &input);
if (input >= 1 && input <= 4)
{
printf("請輸入兩個(gè)操作數(shù)(用空格分隔):>");
scanf("%lf%lf", &x, &y);
printf("%lf\n", p[input](x, y));
}
else if (0 == input)
printf("退出\n");
else
printf("輸入錯(cuò)誤,請重新輸入\n");
} while (input);
return 0;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Matlab實(shí)現(xiàn)極坐標(biāo)堆疊柱狀圖的繪制
極坐標(biāo)堆疊圖也是風(fēng)玫瑰圖的常用形式,MATLAB的bar繪制的條形圖可以繪制成堆疊形式,但是并沒有一個(gè)自帶函數(shù)可以繪制極坐標(biāo)堆疊圖。本文將為大家提供Matlab繪制極坐標(biāo)堆疊柱狀圖的示例代碼,需要的可以參考一下2022-08-08
C++使用遞歸和非遞歸算法實(shí)現(xiàn)的二叉樹葉子節(jié)點(diǎn)個(gè)數(shù)計(jì)算方法
這篇文章主要介紹了C++使用遞歸和非遞歸算法實(shí)現(xiàn)的二叉樹葉子節(jié)點(diǎn)個(gè)數(shù)計(jì)算方法,涉及C++二叉樹的定義、遍歷、統(tǒng)計(jì)相關(guān)操作技巧,需要的朋友可以參考下2017-05-05

