typedef double calcFunction(double,double);
double add(double a,double b)
{ return a+b; }
double calculate(double a, double b, calcFunction f)
{ return f(a,b); }
void main()
{
double a=2.5, b=10.4;
printf("%2.2f+%2.2f=%2.2f\n",a,b,calculate(2.5,10.4,add));
getchar();
}
Помогите решить задачку на функции языка c++
Разработайте функцию calculate(), принимающую два значения типа double и указатель на функцию, которая принимает в качестве аргументов два значения типа double и возвращает значение типа double. Функция calculate() также должна иметь тип double. Она должна возвращать значение, вычисляемое функцией, на которую указывает указатель. При этом используются значения типа double , являющиеся аргументами функции calculate(). Предположим, что у нас имеется следующие определение функции add() :
double add(double x, double y)
{
return x + y;
}
Затем вызов функции
double q = calculate(2.5, 10.4, add);
заставит функцию calculate() передать значения 2.5 и 10.4 функции add(), а затем вернуть значение (12.9), возвращаемое функцией add().
Примените эти функции, а также, по меньшей мере, ещё одну дополнительную функцию, определённую в теле функции add(), для работы программы. Программа должна использовать цикл, в котором пользователь вводит пары чисел. Для ввода каждой пары значений используйте функцию calculate(), чтобы обратиться к функции add(), а также, по меньшей мере, ещё к одной функции.
Надо использовать тип-функцию. Думай в эту сторону: