Vamos lá ver se consigo explicar. O int main(), por exemplo, é uma função. Só que é a função principal do programa que estás a executar...
De qualquer forma, num programa podes ter várias funções. O printf() é uma função, o scanf() é uma função, só que essas funções estão definidas no stdio.h ou no stdlib.h cujo "include" tu fazes antes do código.
Aquilo que o exercício pede é para tu fazeres a tua própria função...
Isso significa que no teu código tens o main(), e tens ainda outra função, chamada fibo.
Uma função é declarada/feita de seguinte forma. Antes do main(), escreves:
[tipo de retorno] [nome da função]([argumento1], [argumento2], ...){
/*codigo da função*/
}
Tipo de retorno é aquilo que a função retorna, se é um inteiro, um float, ou pode até nem retornar nada (void)... Na prática uma função pode retornar uma infinidade de tipos diferentes, depende apenas da utilização.
argumentos é o que a função recebe para processar.
Por exemplo, "faça uma função que diga se o numero x é maior que o número y, e retorna 1 caso afirmativo ou zero caso negativo".
O código disto ficava assim:
Código:
int numero_maior(int x, int y){
if(x > y) return 1;
else return 0;
}
Outro exemplo, "Faça uma função que imprime hello world no ecrã". Repara que esta função só imprime, não retorna nada, logo:
Código:
void imprime(){
printf("Hello World\n");
}
portanto, eles pedem uma função que receba a ordem do termo de fibonacci que procuras, e retorne o seu valor.
Logo:
Código:
int fibo(int ordem){
/*codigo*/
}
Tu fazes esta função, e depois no main chamas a função, e fazes da seguinte maneira:
Código:
int fibo(int ordem){
/*codigo*/
}
int main(){
int valor, retorno;
printf("Indique a ordem do termo de fibonacci: ");
scanf("%d\n", &valor);
retorno = fibo(valor);
printf("O Termo de fibonacci pedido é %d\n", retorno);
exit(0);
}
Espero que ajude a perceber como funcionam as funções.
Cumps