I'm struggling with pointers in C. I have to write a program that will make a 3 operations on one number (sqrt, sin, exp) using functions and pointers. I have done it but I have a problem to write a function that takes as parameter a pointer to any of the above functions + a floating point number, returning the result of the corresponding calculation. In main function I attached working code without this function. I don't have any idea how to write this function and I wrote my try in this code. Here I attach code which I have wrote:
#include <stdio.h>
#include <math.h>
double square(double *);
double sinus(double *);
double exponential(double *);
void count(*square, double result);
double number, square_result, sinus_result, exponential_result;
int main()
{
printf("Give number: ");
scanf("%lf", &number);
square_result = square(&number);
sinus_result = sinus(&number);
exponential_result = exponential(&number);
printf("%lf\n", square_result);
printf("%lf\n", sinus_result);
printf("%lf", exponential_result);
}
double square(double *x)
{
double square_result;
square_result = sqrt(*x);
return square_result;
}
double sinus(double *x)
{
double sinus_result;
sinus_result = sin(*x);
return sinus_result;
}
double exponential(double *x)
{
double exponential_result;
exponential_result = exp(*x);
return exponential_result;
}
void count(*square, double result)
{
result = square(&number);
}