Aula 1 complementa o
Mais sobre função
Exemplos com protótipos e variável global
Estruturação de um programa
• 1ª. Abordagem includes definições das funções programa principal
Exemplo 1
#include <iostream>
#include <cstdlib>
#include <cmath>
//Programa principal int main() {
Compila e executa !
double num;
using namespace std;
cout << "Valor para dobrar ? "; cin >> num;
//Definições das funções
cout << "O dobro de " << num << " = "
<< dobrarValor(num) << endl;
double dobrarValor(double x)
{
return 2 * x;
}
cout << "Valor para a soma maluca ? "; cin >> num; if (num <= 0) cout << "Não é possível calcular a soma maluca" << endl; else cout << "Soma maluca de num = " << num
<< somaMaluca(num) << endl;
double somaMaluca(double x)
{
return sqrt(x) + dobrarValor(x);
system("pause");
}
}
Exemplo 2 – alterando ...
//Programa principal
#include <iostream>
#include <cstdlib>
#include <cmath>
int main() {
E se alterarmos a ordem das definições das funções ?
double num;
using namespace std;
cout << "Valor para dobrar ? "; cin >> num;
//Definições das funções
cout << "O dobro de " << num << " = "
<< dobrarValor(num) << endl;
double somaMaluca(double x)
{
return sqrt(x) + dobrarValor(x);
cout << "Valor para a soma maluca ? "; cin >> num; if (num <= 0) cout << "Não é possível calcular a soma maluca" << endl; else cout << "Soma maluca de num = " << num
<< somaMaluca(num) << endl;
} double dobrarValor(double x)
{
return 2 * x;
}
system("pause");
}
Exemplo 2 >>> Ocorrerá erro na compilação
error : dobrarValor was not declared
Conclusão
• De acordo com a 1ª. abordagem : Uma função deve ser definida antes de ser chamada.
• E se tivermos muitas funções, umas chamando outras ? Ficaria confuso administrar ? Qual seria a solução ? Partir para a 2ª. abordagem, que usa protótipos.
Estruturação de um programa
2ª. abordagem
• Includes
• Declarações das funções ou protótipos
• Programa principal
• Definições das funções
Usando protótipos ou declarações de funções