segunda-feira, 5 de março de 2012

Funções em C              ----------->                    Parte.2

Fala galera, na parte.1 do Post "Funções", vimos como é que fazemos para montar funções que não possuim retorno, ou as chamadas funções VOID. Agora vamos aprender como montar uma função que retorna algo para quem a chama. Por exemplo, poderiamos ter o seguinte código para calcular a média aritmética de um aluno da sala de ADS:
#include <stdio.h> 
int main() {
     
    float nota1, nota2, nota3, media;
    printf("Informe as notas do aluno Xis\n:");    
    scanf("%f%f%f", &nota1, &nota2, &nota3);
    media = (nota1 + nota2 + nota3) / 3;
    printf("\n\nMédia do aluno: %f", media);
        /*           * Acho que vc deve estar de perguntando, cade o system("PAUSE");?      * Eu estou programando no sistema Operacional Linux na ferramenta Geany          * A tela trava sozinha, mais vc que está com o Windows e usando o Dev C++          * Lembre-se do #include <stdlib.h> e system("pause"); =D      */          return 0; }

Mas e se eu quiser montar uma função para calcular essa média? Sabemos que com funções o código fica mais elegante e bem mais legível. Vamos ilustrar uma possível aplicação para essse problema:
#include <stdio.h> 

//tipo da função deve ser o mesmo que ela retorna por exemplo: 
//se a função retornar 1 então teremos: 
//int calculaMedia(float n1, float n2, float n3) 

float calculaMedia(float n1, float n2, float n3) {     
    float pokemon;     
    pokemon = (n1 + n2 + n3) / 3;        
    return pokemon; 

} 

int main() {  
   
    float nota1, nota2, nota3, media;     

    printf("Informe as notas do aluno Xis\n:");     
    scanf("%f%f%f", &nota1, &nota2, &nota3);     

    media = calculaMedia(nota1, nota2, nota3);

    //chamada da função, passando os valores solicitados por ela
    //variavel media armazena o resultado que a função retorna     
    
    printf("\n\nMédia do aluno: %f", media);     

    /*
     * Acho que vc deve estar de perguntando, cade o system("PAUSE");?      
     * Eu estou programando no sistema Operacional Linux na ferramenta Geany      
     * A tela trava sozinha, mais vc que está com o Windows e usando o Dev C++      
     * Lembre-se do #include <stdlib.h> e system("pause"); =D */   

     return 0; 
}  

No começo não faz muito sentindo o uso da função, já que o código pode ser todo escrito no corpo do MAIN e podemos escrever blocos de códigos utilizando a programação PORCEDURAL (goto e labels). Mais com o tempo você perceberá a vantagem de se dividir o código em pedaços distintos.  Bom pessoal, aula de funções parte.2 já era. Resta a parte.3 para fecharmos com chave de ouro. A parte três detalhará melhor a passagem de valores entre as funções (parâmetros / argumentos), vamos fazer também funções chamarem outras funções.
Até a próxima. Vlw =D

2 comentários:

  1. Teu blog tá muito fera, cara ^^ parabéns!

    ResponderExcluir
  2. Obrigado Leonardo, a nossa intenção é deixar o Blog cada vez mais completo e abrangente contendo não só linguagens de programação como também: Banco de dados, UML, análise de e requisitos de sistemas, ou seja, um fórum completo para todos os programadores. Para isso conto com sua ajuda e do resto da galera !!!! vlw

    ResponderExcluir

Novidade!!! Agora vamos ter canal no Youtube =D

Fala pessoal tudo beleza, estou sumido a correria está forte por aqui. Estou querendo dar um start em um projeto antigo que vem desde o temp...