```c
include
// 函数声明
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int div(int a, int b);
void menu();
int main() {
menu();
return 0;
}
// 加法函数
int add(int a, int b) {
int z = a + b;
return z;
}
// 减法函数
int sub(int a, int b) {
int z = a - b;
return z;
}
// 乘法函数
int mul(int a, int b) {
int z = a * b;
return z;
}
// 除法函数
int div(int a, int b) {
if (b == 0) {
printf("错误:除数不能为零。\n");
return 0; // 返回0表示错误
}
int z = a / b;
return z;
}
// 显示菜单
void menu() {
printf("请选择操作:\n");
printf("1. 加法\n");
printf("2. 减法\n");
printf("3. 乘法\n");
printf("4. 除法\n");
printf("0. 退出\n");
}
// 计算函数
int cacl(int (*p_h)(int, int)) {
int x, y;
printf("请输入两个操作数:");
scanf("%d %d", &x, &y);
return p_h(x, y);
}
```
代码说明:
函数声明:
在`main`函数之前声明了四个基本的数学运算函数:`add`、`sub`、`mul`和`div`。
主函数:
`main`函数调用`menu`函数显示操作菜单,然后根据用户的选择调用相应的计算函数。
加法函数:
`add`函数接受两个整数参数,返回它们的和。
减法函数:
`sub`函数接受两个整数参数,返回它们的差。
乘法函数:
`mul`函数接受两个整数参数,返回它们的积。
除法函数:
`div`函数接受两个整数参数,返回它们的商。如果除数为零,则打印错误信息并返回0。
菜单函数:
`menu`函数显示一个简单的操作菜单,用户可以选择执行加法、减法、乘法或除法,或选择退出程序。
计算函数:
`cacl`函数接受一个函数指针作为参数,并根据用户的选择调用相应的运算函数。
编译和运行:
将上述代码保存为一个`.c`文件(例如`calculator.c`),然后使用C编译器(如GCC)进行编译和运行。例如:
```sh
gcc calculator.c -o calculator
./calculator
```
运行程序后,用户可以输入两个整数,并选择要执行的操作(加法、减法、乘法或除法),程序将输出相应的计算结果。