Baixe o app para aproveitar ainda mais
Prévia do material em texto
www.tiexpert.net Pág. 1 de 2 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); http://www.tiexpert.net/programacao/c/prototipos.php www.tiexpert.net Pág. 2 de 2 //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. Autor: Denys William Xavier Este artigo está sob Licença Creative Commons Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. http://www.tiexpert.net/programacao/c/prototipos.php
Compartilhar