Duvida Pertinenete de C++

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Duvida Pertinenete de C++

Mensagempor JD » Quarta Ago 10, 2005 16:39

Malta Porreira,

como já tinha dito no outro tópico iniciei-me na aventura do C++ :D
Mas surgiu-m a seguinte dúvida:
Ainda só crio programitas muito básico mesmo, e em consola, mas em todos os códigos que crio e em todos os pedaços de códigos que tenho visto, acabam todos assim:

Código: Seleccionar todos
//é só um exemplo de código
#include <iostream.h>
using namespace std;
int main()
{
cout << "HCP rullaaa";
return 0; // é esta parte
}


Pois porque acaba com "return e depois um numero" e o que é que return significa no código?
Se alterar o numero o que acontece?
Já alterei uma vez para 150 e não notei diferenças aparentes...
Stay CooL 8)
Imagem
JD
Membro de Ouro
Membro de Ouro
 
Mensagens: 820
Registado: Sábado Out 23, 2004 15:07

Mensagempor xirix » Quarta Ago 10, 2005 17:07

Isso é herança dos tempos de DOS, em que um prog chamava outro e de acordo com o return value dele, fazia alguma coisa.
Normalmente o código 0(zero) significava que tudo buliu sem nenhuma espiga :D

Até que podes tirar o return, se em vez de teres o main a retornar int, meteres void :P

Abraços
X|r|X
=================
Não subscrevam a VIANETWORKS, TVTel ADSL, ASDL.XL, CyclopNet. A VIA aldraba todos os seus clientes iludindo-os c/ velocidades q nunca tem na realidade. Uma ligação 1024/256 (128kB/32kB) na prática é de 6kB/4kB c/ o emule.
xirix
Membro de Ouro
Membro de Ouro
 
Mensagens: 673
Registado: Terça Out 05, 2004 21:07

Mensagempor Speed Dragon » Quarta Ago 10, 2005 18:37

Para as funções usam-se returns.

Exemplo:

int Dobro(int a){
x = a*a;
return x;
}

main(){
int g;
g=Dobro(5);
}

Penso que pode haver erros, mas isto exemplifica para que serve o return +/-.
... Then a japanese tuning company spend a 150.000£ on the engine ...
... so now develops a 1.000 Break Horse Power!
... Not to 60Mph, in 2.8 seconds, Not to 190Mph in 12 seconds ... Top Speed 234Mph!
... Semtex with a Steering Wheel!
Speed Dragon
Moderador
Moderador
 
Mensagens: 5186
Registado: Sexta Mai 23, 2003 15:36
Localização: Lobão - Sª Mª da Feira > FEUP

Mensagempor Taxus » Sexta Ago 19, 2005 18:12

Para o caso de ainda n teres ercebido muito bem...
Todas as funções em C podem receber e devolver parâmetros.
Por exemplo, se no inicio de um programa em C tiveres a função
"int main ( void )"
O que isto te diz é que a função não tem parâmetros de entrada (void) e que devolve um numero inteiro. Por isso mesmo é que no fim da função main tens que ter um
"return (numero inteiro qualquer)"
Se não tiveres dá um erro ou um warning qualquer na compilação mas que na verdade não vai afectar a execução do programa.
O que tens a reter é que quando declaras uma função declaras também o tipo de parâmetros de entrada e de saída e, ao usaers essa mesma função, tens que obedecer ao que foi declarado inicialmente.
Por exemplo, uma função que declares como
"void função( void)"
Não tem nem parâmetros de entrada nem de saída, pro isso o return é desnecessário.
KaoS Contingency UT2k4 clan
http://www.kaos-eu.com/
Msn Taxus@netvisao.pt
Taxus
Membro de Ouro
Membro de Ouro
 
Mensagens: 946
Registado: Quarta Set 11, 2002 3:33

Mensagempor Helldisplay » Sexta Ago 19, 2005 19:28

Como já aqui foi dito, o return é uma keyword (utiliada em c, C++,java, Haskell e ,provavelmente, muitas outras linguagens ) que serve para retornar o valor da função (no Haskell é ligeiramente diferente, porque o return so é usado em certos tipos de funçoes).Tal como uma função matematica, as funçoes em programação recebem parametros e retornam o resultado.Além disso, quando o return aparece, a função termina ( é por isso que se pode usar o return em funçoes void, desde que não tenha nenhuma valor a frente - retun ;).
No caso da função main, quando o return aparece o programa acaba e o valor retornado é enviado ao processo pai ( no Windows não sei, mas no Linux este processo é normamlmente o processo init ).Este valor, se for 0 zero, indica que o programa terminou sem problemas. Caso contratio, o valor de retorno da função main esta associado a um determinado erro.
Helldisplay
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Terça Jul 05, 2005 6:58

Mensagempor JD » Sábado Ago 20, 2005 14:35

Obrigado a todos foram todos bastante elucidativos :D
Imagem
JD
Membro de Ouro
Membro de Ouro
 
Mensagens: 820
Registado: Sábado Out 23, 2004 15:07


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 2 visitantes

cron