Jump to content
Sign in to follow this  
Dark Skyllen

#5 - Funções

Recommended Posts

Dark Skyllen    7
Dark Skyllen

Funções

 

Aula 5

 

 

 

Ao iniciar um arquivo no C++, acrescentamos sempre o seguinte bloco:

 

[b]int[/b] main(int argc, char *argv[]){

}

Mas você sabe o que isso significa? :hmm:

 

A função main é a responsável por fazer com que nosso programe rode, sem ela não teriamos um corpo para nosso programa.

Entretanto, durante a programação outras funçõe podem ser criadas e utilizadas dentro de main().

 

Primeiro, vamos entender como estruturar uma função:

 

tipo nome (parametros necessários para que a função execute) {

 

}

 

Sendo:

 

tipo - o tipo de dado que a função retorna

nome - um nome qualquer a sua escolha

parametros - pode ser quantos quiser, são esses os dados que deverão ser passados para que a função execute.

 

 

Vamos dar um exemplo durante nosso programa:

Entenda o bloco abaixo:

 

Declaramos uma função soma do tipo int e ela possui a e b como parametros.

[b]int[/b] soma ([b]int[/b] a, [b]int[/b] {

}

Só que nossa função ainda está incompleta, está faltando o corpo dela.

Essa função então terá como função (:palm:) executar a soma de dois números, serão eles a e b.

 

[b]int[/b] soma ([b]int[/b] a, [b]int[/b] {

a+b;

}

Bom, há um erro nessa função.. ela não funcionaria, pois assim que executarmos a função, como saberemos o resultado dela? :fuu:

Simples, usando o return.

 

O return faz com que a função que foi executada, retorne um valor IGUAL AO TIPO DA FUNÇÃO, por exemplo, se você criar uma função do tipo INT, ela tera que retornar INT.

 

Usando o return, nosso code ficaria:

 

[b]int[/b] soma ([b]int[/b] a, [b]int[/b] {

 [b]return[/b] a+b;

}

Fazendo um programa com funções

 

Vamos criar um programinha para testarmos nossa função:

 


[left][color=seagreen]#include <iostream.h>[/color][/left]



[left][b]int[/b] soma ([b]int[/b] a, [b]int[/b] {[/left]



[left][b]return[/b] a+b;[/left]



[left]}[/left]



[left][b]int[/b] main(int argc, char *argv[]){[/left]



[left][b]int[/b] num1, num2, resultado;[/left]



[left]cout << [color=red]"Digite dois números: "[/color] << endl;
cin >> num1 >> num2;
resultado = soma(num1, num2);
cout << [color=red]"A soma dos dois números é: "[/color] << resultado << endl;
system([color=red]"pause"[/color]);
[b]return 0;[/b][/left]




[left]}[/left]










Declaramos nossa função antes do main para que ela seja reconhecida dentro da função main e então pedimos para o usuário digitar dois valores.

 

 

 

 

 

 

 

Com os dois valores, executamos as funções com os seguintes parâmetros, num1 e num2 e ele retornou o valor da soma. Esse valor foi alocado na variavel resultado.

 

Viram como é fácil trabalhar com funções? :coolface:

 

 

Mais exemplo de funções:

 

 


[left][color=seagreen]#include <iostream.h>[/color][/left]



[b]bool[/b] checaMedia([b]int[/b] nota1, [b]int[/b] nota2){

[indent][b]if[/b] (((nota1+nota2)/2) >= 5){
[indent][b]return true[/b];
[/indent]
[/indent]
[indent]}

[left][b]else return false[/b];[/left]



[/indent]}


[left][b]int[/b] main([b]int[/b] argc, [b]char[/b] *argv[]){[/left]



[left][b]int[/b] num1, num2;[/left]



[left]cout << [color=red]"Digite dois números: "[/color] << endl;
cin >> num1 >> num2;
[b]if[/b] (checaMedia(num1, num2) == [b]true[/b]){
       cout << [color=red]"Aluno aprovado"[/color] << endl;
       }
[b]else[/b]
{
cout << [color=red]"Aluno reprovado"[/color] << endl;           
}
system([color=red]"pause"[/color]);
[b]return 0[/b];[/left]




}






Por enquanto é só pessoal! Pratiquem com mais funções e qualquer dúvida e só postar!

Edited by Dark Skyllen

Share this post


Link to post
Share on other sites
Piikachu    0
Piikachu

Muito bom, aprovado. =]

Share this post


Link to post
Share on other sites
LG    1
LG

Belo tutorial...

Função é uma coisa muito usada, ou melhor sempre é usada =D

até mais

LG

Share this post


Link to post
Share on other sites
Baxnie    8
Baxnie

Só faltou dizer que o objetivo principal de se usar funções é para não repetir código.

Share this post


Link to post
Share on other sites
dragonlorde    0
dragonlorde

/\ Mesmo assim a aula ta muito boa...

Venho seguindo todas as aulas e todas tao excelentes

Obrigado~

Share this post


Link to post
Share on other sites
BLackBode    0
BLackBode

até agora to aprendendo bem.. outra otima aula :D

 

fiz um programa pra calcular um numero qualquer elevado a outro qualquer usando o material dessa aula.. bem legal :D

 

[spoiler=exponencial]

#include <cstdlib>

#include <iostream>

 

using namespace std;

 

int exponencial(int numero, int expoente) // funçao para calcular o resultado de uma opereçao exponencial

{

int num1 = numero;

int contagem = 1;

for( ; contagem < expoente ; contagem++)

{

numero = numero*num1;

}

return numero;

}

 

int main(int argc, char *argv[])

{

std::string sair; // declaraçao de string

int num1, expo;

 

for( ; sair != "NAO" && sair != "Nao" && sair != "nao" && sair != "n" ; ) // loop condicional

{

 

cout << "Digite um numero : ";

cin >> num1; // entrada de dados

cout << "Digite seu expoente :";

cin >> expo; // entrada de dados

 

system("cls"); // limpa tela

 

cout << "O numero " << num1 << " com expoente " << expo << " da um total de : " << exponencial(num1,expo);

cout << "\n\n\n";

 

 

cout << "Deseja calcular novamente? (SIM/NAO) :";

cin >> sair; // opcao sair

system("cls");

}

 

 

return EXIT_SUCCESS;

}

 

 

Share this post


Link to post
Share on other sites
Fearlet    0
Fearlet

Muito bom 

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×