Ir para o conteúdo
LagMaster

Principiante - Hello World não compila

Mensagens Recomendadas

LagMaster

Boas

Comprei hoje o livro do Damas, Linguagem C e decidi testar um codigo básico de lá no DevC++.

O código é este:

#include <stdio.h>
main()
{
  printf ("Hello World!");
}

Mas quando meto para compilar não deixa. Não diz que tenho erro em linha nenhuma só diz isto:

C:\Users\Eu\Desktop\C\Makefile.win [build Error] [Project1.exe] Error 1

Testei no Code Blocks e também não compila.

Que erro é que estou a fazer ?

Agradeço muito a ajuda.

Cumpz

LagMaster :D

Editado por thoga31
GeSHi

YOU SHALL NOT PASS !!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

E se for assim?

#include <stdio.h>
int main()
{
  printf ("Hello World!");
  return 0;
}

Comprei hoje o livro do Damas, Linguagem C e decidi testar um codigo básico de lá no DevC++.

Este livro já está a ficar desactualizado. Vais encontrar mais nuances ao longo das páginas.

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
LagMaster

E se for assim?

#include <stdio.h>
int main()
{
  printf ("Hello World!");
  return 0;
}

Este livro já está a ficar desactualizado. Vais encontrar mais nuances ao longo das páginas.

Desde já obrigado pela resposta rápida :)

Eu comprei porque ouvi que era bom :S Agora duvido que possa arranjar outro tão cedo, será que nao dá para passar por essas nuances de alguma forma ?

Quanto ao problema, copiei esse codigo fiz compile e tudo normal, mas quando faço run diz que ainda nao esta compilado. Fiz compile and run e o erro aparece: C:\Users\Ted\Desktop\C\Makefile.win [build Error] [Project1.exe] Error 1

Será do programa que estou a usar ?

Editado por LagMaster

YOU SHALL NOT PASS !!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Nunca utilizei o Dev-C++. Na realidade nunca me dediquei a programar em C. Mas sei os princípios básicos.

Se estás a utilizar o Dev-C++, evita criar projectos. Cria apenas file sources novos.

Quanto ao livro, sim, há maneira de contornar. Mas não há nada que te indique lá no livro "isto é algo desactualizado e não recomendado".

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
LagMaster

Obrigado pela ajuda :)

Vou ver então se experimento noutro IDE, senão acho que é poderei considerar um mau começo com a linguagem :P

Cumpz

LagMaster


YOU SHALL NOT PASS !!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Será do programa que estou a usar ?

parece que sim, mas se deu problemas noutra aplicação, começo a duvidar ...

que documentação usaste para instalar o dev-c++ ??


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

ignora o que foi escrito anteriormente pelo @ruka284, razões:

- conio.h nem deveria existir, só funciona no windows e as suas funcionalidades são irrelevantes

- a função main nem está declarada em nenhum dos dois protótipos definidos

>>> int main()

>>> int main(int argc, char ** argv)

- a função getch() só existe no conio.h, algo que já existe no stdio.h = getchar()

- falta do valor de retorno da função main, um inteiro

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ruka284

ignora o que foi escrito anteriormente pelo @ruka284, razões:

- conio.h nem deveria existir, só funciona no windows e as suas funcionalidades são irrelevantes

- a função main nem está declarada em nenhum dos dois protótipos definidos

>>> int main()

>>> int main(int argc, char ** argv)

- a função getch() só existe no conio.h, algo que já existe no stdio.h = getchar()

- falta do valor de retorno da função main, um inteiro

conio.h e uma biblioteca do c, no meu ver não se deve ignorar

int main e do C++ e no c e main.

mas eu tb sou aprendiz

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Vou frisar isto:

mas eu tb sou aprendiz

Posto isto, conio.h é uma lib que pode muito bem ser ignorada já que só funciona em Windows e os seus métodos de nada servem, pois na sua maioria são uns remakes dos métodos standard. Um exemplo clássico é o getch a "substituir" o getchar.

Depois, int main é do C e do C++ - é de ambos! Aliás, é obrigatório definir o tipo da função main em C na sua versão mais recente!

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ruka284

Vou frisar isto:

Posto isto, conio.h é uma lib que pode muito bem ser ignorada já que só funciona em Windows e os seus métodos de nada servem, pois na sua maioria são uns remakes dos métodos standard. Um exemplo clássico é o getch a "substituir" o getchar.

Depois, int main é do C e do C++ - é de ambos! Aliás, é obrigatório definir o tipo da função main em C na sua versão mais recente!

Boa thoga, assim e que aprendemos.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ruka284

somos todos, mas por esse passo já eu passei

ok, na minha opinião à varias maneira de fazer um programa, o que faz a diferença e como esta estruturado a sintaxe.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

ok, na minha opinião à varias maneira de fazer um programa, o que faz a diferença e como esta estruturado a sintaxe.

Não é uma opinião de uma pessoa. É mesmo um facto: há várias soluções possíveis para resolver o mesmo problema no mundo da programação.

Contudo, há métodos melhores e métodos menos bons. E há métodos desastrosos, também.

E aproveito para referir que não é a estruturação da sintaxe que muda. A sintaxe é a mesma em qualquer circunstância, usando a mesma LP. O que muda é o algoritmo e a maneira como o aplicas.

Vê as várias soluções que são apresentadas, os conselhos que te são dados, e não te pegues à mera ideia de que "o meu também funciona, logo está bom". Não é verdade: pode funcionar, mas nem sempre é o melhor, e há aqui pessoas que dão vastos e bons conselhos para melhorar pois têm toda uma bagagem de experiência consigo. Tem-nos sempre em conta. ;)

Editado por thoga31

Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
TopNerds

File > New > Project > console Aplication



#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   printf("Hello World");
   system("PAUSE");
   return EXIT_SUCCESS;
}

Editado por thoga31
GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
//#include <cstdlib>
// - para C, o header é <stdlib.h>
// - desnecessário se não se usar o EXIT_SUCCESS, que não é mais do que o valor zero

//#include <iostream>
// - para C, o header é <stdio.h>
#include <stdio.h>

//using namespace std;
completamente irrelevante para o código assim como não existe este conceito em C

int main(int argc, char *argv[])
{
   printf("Hello World\n"); // <-- adicionar o caracter '\n' para que a apresentação seja mais organizada

//    system("PAUSE");
//    código que vincula a aplicação a um Sistema Operativo : Windows =>> desnecessário

//    return EXIT_SUCCESS;
   return 0;
}

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
TopNerds

Enganei-me mandei em C++, em C

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("Hello World\n");
system("PAUSE");
return 0;
}

Editado por TopNerds

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Enganei-me mandei em C++, em C

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("Hello World\n");
system("PAUSE");
return 0;
}

Continuas a vincular esse programa ao Windows de forma inequívoca. A meu ver, é uma má prática.


Knowledge is free! | Occasional Fortnite player

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
TopNerds

Continuas a vincular esse programa ao Windows de forma inequívoca. A meu ver, é uma má prática.

O @LagMaster está a usar windows com Dev-c++.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
LagMaster

Boas :P

Muito obrigado pela vossa ajuda, depois testar novamente (ja tentei desinstalar mas continuo com o mesmo erro). Peguei no meu netbook e fiz uma partição com o Ubuntu, se calhar vou passar a usá-lo mais, portanto se calhar tentarei afastar-me da vinculação ao windows.

Já agora, se me pudessem aconselhar um IDE ou um editor de texto para usar no ubuntu (e um compilador já agora). É que eu ainda nao percebo muito disto :S

Cumpz e muitos agradecimentos pela ajuda ( volto mais tarde para meter se ja consegui compilar ou n ).

LagMaster


YOU SHALL NOT PASS !!!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu uso o eclipse, mas seria mais fácil usar o NetBeans

acho que o geany também é fácil de usar, mas não posso garantir.


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.