Buscar

funcoes_parte1

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

Continue navegando