设计一个函数caic()两个double参数,一个函数指针参数,主程序中支持用户循环输入,每次输入两个double参数,输出加减乘除的结果,引用iostream头文件
时间: 2024-03-03 22:47:50 浏览: 52
程序设计-一级指针作为函数参数的实例.pptx
好的,以下是设计的函数caic()和相应的主程序:
```c++
#include <iostream>
// 定义函数指针类型
typedef double (*Func)(double, double);
// 四则运算函数
double add(double a, double b) { return a + b; }
double subtract(double a, double b) { return a - b; }
double multiply(double a, double b) { return a * b; }
double divide(double a, double b) { return a / b; }
// 计算函数
void caic(double a, double b, Func f) {
std::cout << "结果:" << f(a, b) << std::endl;
}
int main() {
double a, b;
char operation;
// 循环输入并计算
while (true) {
std::cout << "请输入两个数和运算符(如 1 2 +):";
std::cin >> a >> b >> operation;
switch (operation) {
case '+':
caic(a, b, add);
break;
case '-':
caic(a, b, subtract);
break;
case '*':
caic(a, b, multiply);
break;
case '/':
caic(a, b, divide);
break;
default:
std::cout << "无效的运算符!" << std::endl;
}
}
return 0;
}
```
使用typedef定义函数指针类型,方便声明和使用。四则运算函数分别实现加减乘除,计算函数caic()接收两个double参数和一个函数指针参数,根据函数指针调用相应的运算函数并输出结果。主程序中使用while循环不断接收用户输入,根据输入的运算符选择相应的函数指针传递给caic()函数进行计算。
阅读全文