Jump to content


Photo

Iniciando No C++


  • Faça o login para participar
9 replies to this topic

#1 bigcheat

bigcheat

    Turista

  • Usuários
  • 38 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 03/07/2011, 23:58

Bom estou em desenvolvimento de um script para um certo "sistema" totalmente em C++, e como estou sozinho e no tópico de link http://www.trinityco...rbots-advanced/ não recebo ajuda alguma, vou tomar minhas providências sozinho, bom, gostaria de saber algumas coisas sobre a linguagem, pois sou novo, estive recemente programando bastante PHP, Javascript, HTML etc. deixei até alguns tópicos nas áreas, perguntando e respondendo dúvidas, em fim, gostaria de saber as seguintes coisas em relação ao C++:

  • Qual a diferença e quais trabalhos exercem os arquivos de extensão .cpp e .h
  • Quais compiladores posso utilizar para compilar códigos digitados em C++?
  • Como determino uma função, e a chamo em outro arquivo?
  • Quais os primeiros passos, e primeiras preocupações que devo ter ao começar a prorgamar no C++?
  • Saber outras linguagens de programação como PHP, HTML etc. ajudam no desenvolvimento?
  • Qual a diferença entre "bool" e "void" e para quê posso usá-las/los?

Aguardo uma resposta, desde já, agradeço!

Abraços,
bigCheat.

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 04/07/2011, 09:34

Qual a diferença e quais trabalhos exercem os arquivos de extensão .cpp e .h

.cpp são os arquivos de código fonte, e .h são os "headers". Geralmente nos headers você define constantes, tipos, às vezes inclui outros headers, e coisas do gênero. O header geralmente vai como um "include" no .cpp.

#include <arquivo.h>

Quais compiladores posso utilizar para compilar códigos digitados em C++?

Pra isso tem vários. CodeBlocks, Dev-C++ e Visual Studio são alguns. São as IDEs na verdade, mas já vem com compliador junto. Se quiser só o compilador mesmo, tem esse mingw.

Como determino uma função, e a chamo em outro arquivo?

Você pode colocar a função em um header, por exemplo. Aí faz o include no .cpp e chama.

Quais os primeiros passos, e primeiras preocupações que devo ter ao começar a prorgamar no C++?

Ler o máximo possível e entender de verdade o que está lendo. Não se limitar simplesmente a "se funcionou está bom". Não só pra C++, mas pra qualquer linguagem deve ser assim.

Saber outras linguagens de programação como PHP, HTML etc. ajudam no desenvolvimento?

HTML não tem nada a ver. PHP vai ajudar na lógica. Talvez um pouco com a sintaxe também.

Qual a diferença entre "bool" e "void" e para quê posso usá-las/los?

"bool" é o tipo verdadeiro ou falso. "void" é o nada, é quando a função/método não retorna nada.

#3 bigcheat

bigcheat

    Turista

  • Usuários
  • 38 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 04/07/2011, 10:25

Qual a diferença e quais trabalhos exercem os arquivos de extensão .cpp e .h

.cpp são os arquivos de código fonte, e .h são os "headers". Geralmente nos headers você define constantes, tipos, às vezes inclui outros headers, e coisas do gênero. O header geralmente vai como um "include" no .cpp.

#include <arquivo.h>

Quais compiladores posso utilizar para compilar códigos digitados em C++?

Pra isso tem vários. CodeBlocks, Dev-C++ e Visual Studio são alguns. São as IDEs na verdade, mas já vem com compliador junto. Se quiser só o compilador mesmo, tem esse mingw.

Como determino uma função, e a chamo em outro arquivo?

Você pode colocar a função em um header, por exemplo. Aí faz o include no .cpp e chama.

Quais os primeiros passos, e primeiras preocupações que devo ter ao começar a prorgamar no C++?

Ler o máximo possível e entender de verdade o que está lendo. Não se limitar simplesmente a "se funcionou está bom". Não só pra C++, mas pra qualquer linguagem deve ser assim.

Saber outras linguagens de programação como PHP, HTML etc. ajudam no desenvolvimento?

HTML não tem nada a ver. PHP vai ajudar na lógica. Talvez um pouco com a sintaxe também.

Qual a diferença entre "bool" e "void" e para quê posso usá-las/los?

"bool" é o tipo verdadeiro ou falso. "void" é o nada, é quando a função/método não retorna nada.


Muito obrigado, já ajudou bastante. Mas em relação ao "void" quando eu faço o seguinte código:
uint64 x = 10;

void somarx ()
{
     uint64 soma = x+x;
     return soma;
}

somarx();

Pelo pouco que sei isto em cima é uma função, certo? Por acaso poderia determina-la sem o "void"?

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 04/07/2011, 11:33

Esse código está errado. Se é void, não pode ter return. Nesse caso, deve ser:

uint64 x = 10;

uint64 somarx ()
{
     uint64 soma = x+x;
     return soma;
}

somarx();
Ainda assim, retornar o valor sem fazer nada com ele não tem sentido. Normalmente ele seria jogado em alguma variável ou coisa assim.

valor = somarx();


#5 bigcheat

bigcheat

    Turista

  • Usuários
  • 38 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 04/07/2011, 12:27

Esse código está errado. Se é void, não pode ter return. Nesse caso, deve ser:

uint64 x = 10;

uint64 somarx ()
{
     uint64 soma = x+x;
     return soma;
}

somarx();
Ainda assim, retornar o valor sem fazer nada com ele não tem sentido. Normalmente ele seria jogado em alguma variável ou coisa assim.

valor = somarx();


Muito interessante esta propiedade do C++, enquanto no PHP funções eram funções, poderiam retornar qualquer valor, no C++ podemos escolher "o que" vamos retornar delas. Então deixe ver se entendi, void não retorna nada então? E se não retorna, pra que usamos?

Edição feita por: bigcheat, 04/07/2011, 12:28.


#6 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 04/07/2011, 12:46

Não é que você PODE escolher. É que você DEVE escolher. C/C++ é uma linguagem fortemente tipada, ao contrário do PHP. Nele, tudo deve ter um tipo. Funções que não retornam nada têm praticamente a mesma utilidade que funções que retornam alguma coisa. Pode ser organização ou evitar repetir o mesmo código várias vezes, por exemplo. Mas também não é porque ela não retorna nada com return, que não retorna valor nenhum. Pode retornar o valor direto em um parâmetro passado por referência, mas aí é outro assunto. Um passo de cada vez.

#7 bigcheat

bigcheat

    Turista

  • Usuários
  • 38 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 05/07/2011, 19:13

Não é que você PODE escolher. É que você DEVE escolher. C/C++ é uma linguagem fortemente tipada, ao contrário do PHP. Nele, tudo deve ter um tipo. Funções que não retornam nada têm praticamente a mesma utilidade que funções que retornam alguma coisa. Pode ser organização ou evitar repetir o mesmo código várias vezes, por exemplo. Mas também não é porque ela não retorna nada com return, que não retorna valor nenhum. Pode retornar o valor direto em um parâmetro passado por referência, mas aí é outro assunto. Um passo de cada vez.


Então se eu não posso usar "return" com "void" como eu teria de fazer para retornar algo com uma função declarada em void?

#8 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 05/07/2011, 22:56

Trabalhando com parâmetros passados por referência, por exemplo.

http://gracianotorra...ferencia-em-cc/

#9 bigcheat

bigcheat

    Turista

  • Usuários
  • 38 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 06/07/2011, 21:59

Trabalhando com parâmetros passados por referência, por exemplo.

http://gracianotorra...ferencia-em-cc/


Bom entendi direitinho, agora uma coisa que não entendi foi a linha em que tem escrito "using namespace std;" pra que determinar isso?

@edit

Estive usando o Dev-C++ e andei tendo o seguinte erro ao compilar o arquivo. Não importa qual seja, ele sempre dá o mesmo erro. Creio que seja no própio programa, o erro é o seguinte:
Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4ff283)

Alguém pode me ajudar?

Abraços,
bigCheat.

Edição feita por: bigcheat, 06/07/2011, 21:59.


#10 bigcheat

bigcheat

    Turista

  • Usuários
  • 38 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 13/07/2011, 20:15

Alguém pode me ajudar? +1




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq