一、運(yùn)算結(jié)果;
文章來源:http://www.zghlxwxcb.cn/news/detail-802942.html
二、源代碼;文章來源地址http://www.zghlxwxcb.cn/news/detail-802942.html
# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>
//實(shí)現(xiàn)目錄函數(shù);
void menum()
{
//打印目錄;
printf("***********************************************\n");
printf("************* 1.Add 2.Sub ***************\n");
printf("************* 3.Mul 4.Div ***************\n");
printf("****************** 0.exit ******************\n");
printf("***********************************************\n");
}
//實(shí)現(xiàn)加法函數(shù);
int Add(int x, int y)
{
//計(jì)算并返回值;
return x + y;
}
//實(shí)現(xiàn)減法函數(shù);
int Sub(int x, int y)
{
//計(jì)算并返回值;
return x - y;
}
//實(shí)現(xiàn)乘法函數(shù);
int Mul(int x, int y)
{
//計(jì)算并返回值;
return x * y;
}
//實(shí)現(xiàn)除法函數(shù);
int Div(int x, int y)
{
//計(jì)算并返回值;
return x / y;
}
//實(shí)現(xiàn)計(jì)算器函數(shù);
void Calc(int (*pf) (int, int))
{
//初始化變量值;
int x = 0;
int y = 0;
int ret = 0;
//提示用戶輸入操作數(shù);
printf("請(qǐng)輸入2個(gè)操作數(shù):--->");
//獲取用戶輸入的操作數(shù);
scanf("%d %d", &x, &y);
//根據(jù)用戶計(jì)算要求不同,選用不同的計(jì)算函數(shù);
ret = pf(x, y);
//打印結(jié)果;
printf("%d\n", ret);
}
int main()
{
//初始化變量值;
int input = 0;
int x = 0;
int y = 0;
int ret = 0;
//創(chuàng)建函數(shù)指針數(shù)組;
int (*pfarr[5]) (int, int) = { 0, Add, Sub, Mul, Div };
//用do....while實(shí)現(xiàn)計(jì)算機(jī)判斷計(jì)算;
do
{
//調(diào)用目錄函數(shù);
menum();
//提示用戶做出選擇;
printf("請(qǐng)做出選擇:---->");
//獲取用戶輸入的數(shù)據(jù);
scanf("%d", &input);
//用if實(shí)現(xiàn)計(jì)算機(jī)判斷;
//當(dāng)input==0時(shí),退出運(yùn)算;
if (input == 0)
{
//提示用戶退出運(yùn)算;
printf("提出計(jì)算器?。。。?);
}
//根據(jù)input不同的值,做出相應(yīng)的判斷;
else if (input >= 1 && input <= 4)
{
//提示用戶輸入要計(jì)算的數(shù);
printf("請(qǐng)輸入兩個(gè)要執(zhí)行運(yùn)算的操作數(shù):---->");
//獲取用戶輸入的操作數(shù);
scanf("%d %d", &x, &y);
//根據(jù)不同的input值用函數(shù)指針數(shù)組做出不同的判斷運(yùn)算;
ret = pfarr[input](x, y);
//打印結(jié)果;
printf("%d\n", ret);
}
} while (input);
return 0;
}
到了這里,關(guān)于(C語言)用函數(shù)指針數(shù)組實(shí)現(xiàn)計(jì)算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!