Conheça a iniciativa da Biblioteca dos Desenvolvedores  
Índice da Biblioteca  
Área dos Usuários  
Fórum de Discussão  
Forúm
 
 

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


 

« Anterior

 

Próximo »

 
 

01/06/2007 (C) Copyright. Todos os Direitos Reservados. Leia a política de privacidade do portal.
É proibida a cópia de conteúdo deste site de acordo com a Lei Brasileira de Direitos Autorais.