C语言简易计算器的两种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言简易计算器的两种方法相关的知识,希望对你有一定的参考价值。

第一种方法   函数指针数组

#include<stdio.h>
int add(int x,int y)

return x+y;


int sub(int x,int y)

return x-y;


int mul(int x,int y)

return x*y;


int div(int x,int y)

return x/y;


void menu()

printf("*****************\\n");
printf("**1.add 2.sub**\\n");
printf("**3.mul 4.div**\\n");
printf("*****0.exit******\\n");


int main()

int x=0;
int y=0;
int input=0;
int (*pf[5])(int,int)=0,add,sub,mul,div;//数组元素个数可以不写

do

menu();
printf("请输入:>\\n");
scanf("%d",&input);
if(input>=1 && input<=4)

printf("请输入数据:>\\n");
scanf("%d%d",&x,&y);
printf("%d\\n",pf[input](x,y));



else if(input==0)

printf("退出\\n");
break;


else

printf("输入错误\\n");
break;

while(input);
return 0;

第二种方法   switch case语句

#include<stdio.h>
int add(int x,int y)

return x+y;


int sub(int x,int y)

return x-y;


int mul(int x,int y)

return x*y;


int div(int x,int y)

return x/y;


void menu()

printf("*****************\\n");
printf("**1.add 2.sub**\\n");
printf("**3.mul 4.div**\\n");
printf("*****0.exit******\\n");


void calc(int (*pf)(int,int))

int x=0;
int y=0;
printf("请输入:>");
scanf("%d%d",&x,&y);
printf("%d\\n",pf(x,y));


int main()

int x=0;
int y=0;
int input=0;
do

menu();
printf("请输入:>");
scanf("%d",&input);
switch(input)

case 1:
calc(add);
break;
case 2:
calc(sub);
break;
case 3:
calc(mul);
break;
case 4:
calc(div);
break;
case 0:
printf("退出\\n");
break;
default:
printf("输入错误,请重新输入\\n");
break;

while(input);


以上是关于C语言简易计算器的两种方法的主要内容,如果未能解决你的问题,请参考以下文章

busybox的实现原理分析(C语言实现简易版的busybox)

【实例】用PowerQuery计算字符串中指定字符个数的两种方法

栈的两种实现方式(C语言)

栈的两种实现方式(C语言)

栈的两种实现方式(C语言)

栈的两种实现方式(C语言)