Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.tiexpert.net Pág. 1 de 2 Funções Funções são usadas para criar pequenos pedaços de códigos separados do programa principal. Em C/C++, tudo, na verdade, é uma função. INT MAIN (VOID) é uma função, por exemplo. Exceto a função MAIN, todas as outras funções são secundárias, o que significa que elas podem existir ou não. Então, qual a vantagem de fazermos uma função? Funções são importantes porque elas retornam valores, ajudam a fragmentar o código em partes menores - mais fáceis de lidar - e ainda por cima podem ser utilizadas mais de uma vez no mesmo programa, poupando preciosos minutos de programação e inúmeras linhas de código. Criando funções sem argumentos Em C/C++ as funções podem ter ou não argumentos. Primeiramente, veremos as funções sem argumentos. Funções são como variáveis que guardam inúmeras linhas de código. Se não prototipadas*, elas devem ser escritas antes da função MAIN, afim de serem compiladas primeiro para poderem ser utilizadas pela função main. É quase o mesmo que querer comer uma maçã do pomar e quando chegar lá não tem nenhuma, você continuará com fome. Porque não tem maçãs produzidas no pomar. Seria o mesmo que querer utilizar uma função no MAIN e não tem nenhuma função produzida anteriormente. *Veremos prototipagem mais adiante! Como haviamos dito, funções são como variáveis. Então, criamos uma função indicando o tipo de retorno (saída) que será int, float, etc...Nomeamos a função (valem as mesma regras das variáveis, ex.: Não começa nomes de funções com número) e terminamos colocando entre parênteses os argumentos. Como nossas primeiras funções não terão argumentos entre parênteses usaremos VOID (do inglês VAZIO). Todo o código da função deve estar dentro de um bloco de instrução ( { } ), mesmo que haja apenas uma linha. Obs.: Não se usa ponto-e-vírgula no final da criação da função. TIPO DE RETORNO NOME DA FUNÇÃO ARGUMENTOS void mensagem (void) Como a na função que usaremos não retornará nenhum valor porque a única coisa que ela faz é mostrar uma mensagem na tela. Ela terá o tipo de retorno vazio também - void. Após a função ser criada, basta chamarmos a função dentro da função principal MAIN. Para chamá-la, apenas digitamos o nome da função e entre parênteses colocamos seus argumentos. Como esta função não tem argumentos, simplesmente colocamos nada entre os parênteses #include <iostream> #include <cstdlib> using namespace std; void mensagem (void) //perceba que não há ponto-e-vírgula aqui! { cout <<"Ola! Eu sou uma funcao.\n"; } int main (void){ mensagem (); //chamando uma função sem argumentos system ("pause"); return 0; } http://www.tiexpert.net/programacao/c/funcoes.php www.tiexpert.net Pág. 2 de 2 Funções que retornam valores Como já foi dito uma função pode retornar um valor, e esse valor pode ou não ser guardado em uma variável, isso depende de como queremos lidar com isso. Para retornarmos um valor usamos o comando RETURN. Toda vez que retornamos um valor é porque terminamos a função. Por isso, todo programa utilizado até agora termina em RETURN 0;. Mas em projetos maiores tem por convenção utilizar uma constante - EXIT_SUCCESS - para deixar o programa com mais legibilidade. No código abaixo, usaremos uma função que chamaremos de somar que retornará um inteiro resultante da soma de duas variáveis. No programa (função MAIN) guardaremos o retorno da função em uma variável chamada resultadoDaFuncao. No final imprimiremos na tela o resultado. #include <iostream> #include <cstdlib> using namespace std; int somar (void){ int a, b, resultado; cout <<"Digite um numero:\n"; cin >> a; cin.ignore (); cout <<"Digite mais um numero:\n"; cin >> b; cin.ignore (); resultado=a+b; return resultado; //valor que será retornado } int main (void){ int resultadoDaFuncao; resultadoDaFuncao= somar(); //gravando o resultado da função em uma variável cout <<"\nO resultado da funcao e "<<resultadoDaFuncao<<"\n"; system ("pause"); return EXIT_SUCCESS; } Autor: Denys William Xavier Este artigo está sob Licença Creative Commons Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. http://www.tiexpert.net/programacao/c/funcoes.php
Compartilhar