Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » C/C++ » Protótipos de Funções

Protótipos de funções

A prototipagem é uma técnica muito utilizada em programas criados em C/C++.

Como já vimos, tudo em C/C++ é uma função e a função executada quando criamos um programa é o MAIN. O problema é quando temos muitas funções. Como toda função deve ser compilada primeiro que o MAIN para que esta possa ser utilizada, muitas vezes acabamos escrevendo inúmeras linhas de código nas, prováveis, 20 ou 30 funções e esquecemos a função principal do programa. Isso acaba gerando uma certa dificuldade de navegação pelo código - quando acontece isso dizemos que o código está poluído.

Então, do que se trata, realmente, a prototipagem de funções!?

Quando criamos um protótipo de uma função, estamos, na verdade, declarando uma função. Ou seja, você indica para o MAIN que tal função existe, mas o código dela está em outro lugar. Dessa forma o programa fica muito mais fácil de ler e facilmente chegamos até a função MAIN (que é o que realmente nos interessa).

Para criar um protótipo de uma função é a mesma coisa de criar uma função. A direfença é que, ao invés, de abrirmos um bloco de código ( { } ), terminamos a linha com ponto-e-vírgula (;). E o código da função que deveríamos ter colocado no começo é colocado após a função MAIN.

Ele ficaria assim:

PROTÓTIPO DA FUNÇÃO 1;

MAIN () { bloco de dados }

FUNÇÃO 1 { bloco de dados }

Pronto! Basicamente, só trocamos a função de lugar. Vamos ver isso em um exemplo:

#include <iostream>
#include <cstdlib>
using namespace std;

//criando o protótipo de 4 funções
int somar (int x, int y);
int subtrair (int x, int y);
int multiplicar (int x, int y);
int dividir (int x, int y);

//a função principal
int main (void){
    int valor1, valor2, resSom, resSub, resMult, resDiv;
    cout <<"Digite o 1o valor: ";
    cin >> valor1;
    cin.ignore();
    cout <<"Digite o 2o valor: ";
    cin >> valor2;
    cin.ignore ();

    //chamando todas as funções
    resSom=somar (valor1, valor2);
    resSub=subtrair (valor1, valor2);
    resMult=multiplicar (valor1, valor2);
    resDiv=dividir (valor1, valor2);

    //mostrando os resultados guardados
    system ("cls");
    cout <<valor1<<" + "<<valor2<<" = "<<resSom<<"\n";
    cout <<valor1<<" - "<<valor2<<" = "<<resSub<<"\n";
    cout <<valor1<<" * "<<valor2<<" = "<<resMult<<"\n";
    cout <<valor1<<" / "<<valor2<<" = "<<resDiv<<"\n\n";
    system ("pause");
    return EXIT_SUCCESS;
}

//As funções
int somar (int x, int y){
    return x+y;
}

int subtrair (int x, int y){
    return x-y;
}

int multiplicar (int x, int y){
    return x*y;
}

int dividir (int x, int y){
    return x/y;
}

Veja como o código está simples. Temos uma parte destinada a declarar as funções (protótipos) e logo após temos a função principal que é o programa. Logo abaixo da função principal estão as funções secundárias.

Isso é prototipagem de funções.

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 38994 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog