ProPixel

Participe do fórum, é rápido e fácil

ProPixel
ProPixel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
covital
covital
Membro VIP

<b>Idade</b> Idade : 27
<b>Posts</b> Posts : 2107
<b>Créditos</b> Créditos : 0
<b>Respeito</b> Respeito : 18
God damn asshole
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.

TIPO DE RETORNO
void

NOME DA FUNÇÃO
mensagem

ARGUMENTOS
(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;
**

[quote]Funções que retornam valores[/b]

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.

Obs.: Não se usa ponto-e-vírgula no final da criação da função.

#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;
**

Fonte: Tiexpert
Koily
Koily
Coordenador

<b>Idade</b> Idade : 29
<b>Posts</b> Posts : 4744
<b>Créditos</b> Créditos : 250
<b>Respeito</b> Respeito : 36
Foco, força e fé.
Warning : [C/C++] Funções ZsaKMOb
Eu já vi esse tutorial na tiexpert. Gostei bastante! ;]
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos