Функция имеет один параметр.
int timeToWork(int input);
Так как вы собираетесь вызывать ее без передачи аргумента функции?
int result = timeToWork;
Даже если функция не принимаетаргумент, который необходимо указывать в скобках после функции deisgnator.
В объявлении выше указатель функции просто преобразуется в указатель на функцию
, он выглядит как
int( *fp )( int ) = timeToWork;
int result = fp;
Чтобы вызвать функцию, вы должны написать
int result = timeToWork( key );
И вместо
printf("Time = %d \n",timeToWork);
очевидно, что вы имеете в виду
printf("Time = %d \n", result);
Хотя функция определена неправильно, потому чтоон всегда возвращает 0.
Я думаю, что функция должна быть объявлена и определена следующим образом
int timeToWork( int input )
{
int time = 0;
if(input == 1)
{
printf("It will take you 25 minutes to get to your destination by car \n");
time = 25;
}
else if(input == 2)
{
printf("It will take you 20 minutes to get to your destination by bike\n");
time = 20;
}
else if(input == 3)
{
printf("It will take you 35 minutes to get to your destination by bus \n");
time = 35;
}
else if(input == 4)
{
printf("It will take you 30 minutes to get to your destination by train \n");
time = 30;
}
else
{
printf("ERROR: please, enter a number from 1 to 4 \n");
}
return time;
}