文章目录
- 概要
- 整体架构流程
- 代码实现
- 小结
概要
我们以加,减,乘,除为例来示范
整体架构流程
首先我们先实现一个菜单功能来进行选择:把他封装成一个menu函数
然后把加减乘除分别用不同的函数实现
为了选择我们选择使用switch来实现选择
因为不可能实现一次启动一次
所以我们要设置一个循环这里选do——while,因为它有至少执行一次的特性
这里的oper函数是自制的一个函数
()里的就是函数指针类型这里指向之前的加减乘除函数的地址为了调用而已
代码实现
#include <stdio.h>
int add(int a,int b)//加法
{
return a + b;
}
int sub(int a,int b)//减法
{
return a - b;
}
int mul(int a,int b)//乘法
{
return a * b;
}
int div(int a,int b)//除法
{
return a / b;
}
int oper(int (*op)(int,int))
{
int a,b;
printf("请输入两个整数:");
scanf("%d %d",&a,&b);
int c = op(a,b);
printf("%d\n",c);
return 0;
}
void menu()
{
printf("***********************\n");
printf("****** 1.add ******\n");
printf("****** 2.sub ******\n");
printf("****** 3.mul ******\n");
printf("****** 4.div ******\n");
printf("****** 0.exit ******\n");
printf("***********************\n");
}
int main()
{
int input;
do
{
menu();
scanf("%d",&input);
switch (input)
{
case 1:
oper(add);
break;
case 2:
oper(sub);
break;
case 3:
oper(mul);
break;
case 4:
oper(div);
break;
case 0:
printf("退出成功\n");
break;
default:
printf("选择错误,请重新选择\n");
break;
}
}while(input);
return 0;
}
小结
这个小项目是为了更好的了解函数指针类型的使用