#include <iostream>
#include <math.h>
using namespace std;
double func1(double x)
{
cout << "---func1 : 1/x = " << 1/x <<"------" << endl;
return (1/x);
}
double func2(double x)
{
cout << "----func2:x*x = " << x*x << "--------" << endl;
return (x*x);
}
double func3(double x)
{
cout << "---func3: sqrt(x) = " << sqrt(x) << endl;
return sqrt(x);
}
void process(double x,double (*ftp)(double))
{
cout << "---process---------" << endl;
double result = (*ftp)(x);
cout << "result = " << result << endl;
}
int main()
{
double x,res;
double (*fp)(double);
cout << "input number:" << endl;
cin >> x;
fp = func1;
res = (*fp)(x);
cout << "func1 = " << res << endl;
fp = func2;
res = (*fp)(x);
cout << "func2 = " << res << endl;
process(x,func3);
fp = func3;
process(x,fp);
}