Você está na página 1de 2

www.tiexpert.

net

Pg. 1 de 2

Funes
Funes so usadas para criar pequenos pedaos de cdigos separados do programa principal. Em C/C++, tudo, na verdade, uma funo. INT MAIN (VOID) uma funo, por exemplo. Exceto a funo MAIN, todas as outras funes so secundrias, o que significa que elas podem existir ou no. Ento, qual a vantagem de fazermos uma funo? Funes so importantes porque elas retornam valores, ajudam a fragmentar o cdigo em partes menores - mais fceis de lidar - e ainda por cima podem ser utilizadas mais de uma vez no mesmo programa, poupando preciosos minutos de programao e inmeras linhas de cdigo.

Criando funes sem argumentos


Em C/C++ as funes podem ter ou no argumentos. Primeiramente, veremos as funes sem argumentos. Funes so como variveis que guardam inmeras linhas de cdigo. Se no prototipadas*, elas devem ser escritas antes da funo MAIN, afim de serem compiladas primeiro para poderem ser utilizadas pela funo main. quase o mesmo que querer comer uma ma do pomar e quando chegar l no tem nenhuma, voc continuar com fome. Porque no tem mas produzidas no pomar. Seria o mesmo que querer utilizar uma funo no MAIN e no tem nenhuma funo produzida anteriormente. *Veremos prototipagem mais adiante! Como haviamos dito, funes so como variveis. Ento, criamos uma funo indicando o tipo de retorno (sada) que ser int, float, etc...Nomeamos a funo (valem as mesma regras das variveis, ex.: No comea nomes de funes com nmero) e terminamos colocando entre parnteses os argumentos. Como nossas primeiras funes no tero argumentos entre parnteses usaremos VOID (do ingls VAZIO). Todo o cdigo da funo deve estar dentro de um bloco de instruo ( { } ), mesmo que haja apenas uma linha. Obs.: No se usa ponto-e-vrgula no final da criao da funo. TIPO DE RETORNO void NOME DA FUNO mensagem ARGUMENTOS (void)

Como a na funo que usaremos no retornar nenhum valor porque a nica coisa que ela faz mostrar uma mensagem na tela. Ela ter o tipo de retorno vazio tambm - void. Aps a funo ser criada, basta chamarmos a funo dentro da funo principal MAIN. Para cham-la, apenas digitamos o nome da funo e entre parnteses colocamos seus argumentos. Como esta funo no tem argumentos, simplesmente colocamos nada entre os parnteses #include <iostream> #include <cstdlib> using namespace std; void mensagem (void) //perceba que no h ponto-e-vrgula aqui! { cout <<"Ola! Eu sou uma funcao.\n"; } int main (void){ mensagem (); //chamando uma funo sem argumentos system ("pause"); return 0; } http://www.tiexpert.net/programacao/c/funcoes.php

www.tiexpert.net

Pg. 2 de 2

Funes que retornam valores


Como j foi dito uma funo pode retornar um valor, e esse valor pode ou no ser guardado em uma varivel, 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 funo. Por isso, todo programa utilizado at agora termina em RETURN 0;. Mas em projetos maiores tem por conveno utilizar uma constante - EXIT_SUCCESS para deixar o programa com mais legibilidade. No cdigo abaixo, usaremos uma funo que chamaremos de somar que retornar um inteiro resultante da soma de duas variveis. No programa (funo MAIN) guardaremos o retorno da funo em uma varivel 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 funo em uma varivel cout <<"\nO resultado da funcao e "<<resultadoDaFuncao<<"\n"; system ("pause"); return EXIT_SUCCESS; }
Autor: Denys William Xavier Este artigo est sob Licena Creative Commons Para ver uma cpia desta licena, 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