|
18 - Usando Funções
Vamos exercitar o uso de funções.
Entender como elas funcionam vai ser crucial para a criação de um jogo.
Primeiro, você precisa ter em mente sempre:
- Você pode criar quantas funções você quiser.
- Você pode criar quantas variáveis você quiser.
- Dentro das funções você pode criar quantos if ou extruturas de repetição quiser ( while, for )
- Toda variável criada dentro da função só percente a ela mesma. Ela não pode ser utilizada pelo programa.
- Cuidado para não chamar a função dentro dela mesma, isso pode causar loop infinito no programa.
|
|
Programas exemplos:
O exemplo abaixo mostra que uma variavel criada em main é diferente de uma variável criada em uma função.
CÓDIGO...
#include <iostream>
void imprime();
int main()
{
int numero;
numero = 10;
std::cout << numero << std::endl;
// chamando a função
imprime();
system("pause");
}
void imprime()
{
int numero;
numero = 20;
std::cout << numero << std::endl;
}
FIM DE CÓDIGO...
O Programa abaixo mostra que uma variável do main pode ser acessada pela função, passando ela por parametro.
Ainda assim, a variavel da função é diferente da do main. E cuidado com nomes repetidos.
CÓDIGO...
#include <iostream>
void imprime( int );
int main()
{
int numero;
numero = 10;
std::cout << numero << std::endl;
// chamando a função
imprime( numero );
system("pause");
return 0;
}
void imprime( int vnumero )
{
int numero;
numero = 20;
std::cout << numero << std::endl;
std::cout << vnumero << std::endl;
}
FIM DE CÓDIGO...
O exemplo a seguir mostra como enviar vários valores para uma mesma função.
CÓDIGO...
#include <iostream>
void imprime( int, int );
int main()
{
int numero1;
int numero2;
numero1 = 10;
numero2 = 50;
std::cout << numero1 << "\t" << numero2 << std::endl;
// chamando a função
imprime( numero1, numero2 );
system("pause");
return 0;
}
void imprime( int vnumero1, int vnumero2 )
{
int numero;
numero = 20;
std::cout << numero << std::endl;
std::cout << vnumero1 << std::endl;
std::cout << vnumero2 << std::endl;
}
FIM DE CÓDIGO...
O programa de exemplo abaixo mostra que você pode ter infinitas extruturas dentro das funções.
CÓDIGO...
#include <iostream>
void imprime();
int main()
{
imprime();
system("pause");
return 0;
}
void imprime()
{
int numero1 = 0;
int numero2 = 0;
for ( numero1=10; numero1<999; numero1++ )
{
if ( numero1 == 500 )
{
while ( numero2 < 100 )
{
std::cout << numero2 << std::endl;
numero2++;
}
}
std::cout << numero1 << std::endl;
}
}
FIM DE CÓDIGO...
O exemplo abaixo mostra que uma função pode chamar outra função.
Pense nisso como, quando o Mario pula, ele também pode atirar fogo com o poder da flor. ( função de pulo chamando a função de atirar fogo durante o pulo "ESSE exemplo é meramente ilustrativo, iremos ver isso na prática de outra forma") .
CÓDIGO...
#include <iostream>
void imprime1();
void imprime2();
int main()
{
imprime1();
system("pause");
return 0;
}
void imprime1()
{
imprime2();
std::cout << "Função 1" << std::endl;
}
void imprime2()
{
std::cout << "Função 2" << std::endl;
}
FIM DE CÓDIGO...
Exemplo de utilização de um retorno de uma função
CÓDIGO...
#include <iostream>
int valor();
int main()
{
int numero = 0;
numero = 10;
numero = numero + 5 + valor();
std::cout << numero << std::endl;
system("pause");
return 0;
}
int valor()
{
int valor = 0;
valor = 10;
return valor;
}
FIM DE CÓDIGO...
Contribuidor
Adriano Waltrick
11/06/2007
|