1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Hello World no Dev C++

Discussão em 'Programação' iniciada por dr_kaufman, 5 de Setembro de 2008. (Respostas: 34; Visualizações: 7134)

  1. dr_kaufman

    dr_kaufman Power Member

    Eu ando a ver como se programa pelo teh C programming labnguage e a usar o Dev C++ para compilar mas n consigo correr.

    Provavelmente enganei-me num passo qualquer por isso vou fazer aqui tudo como faço.

    -File>New>Source File

    -Escrevo lá

    Código:
    #include <stdio.h>
    
    main()
    {
       printf("hello, world\n");
    }
    
    -Control+F9 (Compile)>Meto o Nome (hello)...Done

    - Meto RUN e não acontece nada!


    ----------Tentei de outra forma----------

    Project-New project-Console Application-Nome(helloproj)

    Ele adiciona umas cenas ao source:

    Código:
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    ---

    Devo meter aquilo do hello world aqui?

    Desculpem mas estava a tentar ser autodidata e tentar aprender a programar mas n me estou a dar muito bem :/.

    Boa Noite!
     
    Última edição pelo moderador: 5 de Setembro de 2008
  2. Baderous

    Baderous Banido

    CTRL+N => Crias um novo ficheiro.
    F9 => Grava, compila e executa.

    Mais simples não há.
     
  3. dr_kaufman

    dr_kaufman Power Member

    Obrigadão, mas não acontece nada :(


    Control+N

    Escrevo

    Código:
    #include <stdio.h>
    
    main()
    {
       printf("hello, world\n");
    }
    
    F9

    Gravo, ele compila mas n aprece nada onde eu possa ver o "Hello World"

    Mas obrigado :D


    EDIT: Aparece assim quanse isntantaneamente uma janela tipo consola, e desaparece logo, estive a pesqueisar e acho que tenho de adicionar qualquer coisa para pausar aquilo sabes me dizer qual é o código sff
     
    Última edição pelo moderador: 5 de Setembro de 2008
  4. dr_kaufman

    dr_kaufman Power Member

    obrigadíssimo mas continuo sem conseguir :S

    Como aí diz, adicionei o system("pause"); no fim do código, e apareceu em vermelho depois de compilar, então como aí diz tb tentei adicionar o #include <cstdlib> no início e aconteceu o mesmo ao system bla bla então substitui por #include <stdlib.h> e tb n deu, então tentei da outra forma com o cin.get(); e embirrava como vez o o system assima vermelho com uma cruz.


    Mesmo assim obrigado.
     
  5. fusao

    fusao Power Member

    A janela que ves é o programa a correr e a fechar.
    Experimenta fazer um scanf no fim para ele ficar à espera de qualquer coisa, ou entao corre a partir da linha de comando depois de compilar.
     
  6. dr_kaufman

    dr_kaufman Power Member

    Não estou a conseguir, deixem lá, vou continuar com o livro, muito obrigado por tentarem solucionar o problema!


    Boa Noite!
     
  7. OubeLa

    OubeLa Power Member

    scanf e printf e afins é C, não C++ (embora C esteja dentro de C++).

    Coloca um getchar(); ou um cin.get(); antes do return 0; para que ele fique à espera que alguma tecla seja premida.

    Código:
    #include <iostream> //biblioteca de entrada e saída de dados onde está definido o cout
    using namespace std; //cout e endl estão no espaço std
    
    int main()
    {
         cout << "Hello world" << endl;
    
         getchar();
    
         return 0;
    }
    Um programa tem sempre uma função principal, a função main. Esta é uma função que deve ser do tipo int (integer), e como tal deve retornar um integer (neste caso 0). Atenção que nem todas as funções retornam inteiros, mas isso fica para mais tarde.
     
  8. dr_kaufman

    dr_kaufman Power Member

    Já deu :D

    Muito obrigado, e muito obrigado tb pela explicação detalhada dos comandos!
     
  9. Thrasher

    Thrasher Power Member

    Eu também já tive esse problema, ainda tou a aprender C (muito verde ainda :p), mas quando fazia um Hello World no DevC++ fazia isto:

    Código:
    #include <stdio.h>
    main()
    {
       printf("Hello World");
       getchar();
    }
    
    Usava o getchar para, digamos assim, pausar a linha de comandos...mas agora surge outra duvida, o return 0; é usado em que sentido?
     
    Última edição pelo moderador: 5 de Setembro de 2008
  10. Serve para indicar ao sistema operativo que o programa terminou sem erros de execução.
     
  11. Thrasher

    Thrasher Power Member

    Vamos ver se estou correcto, mesmo que o teu código tenha erros, com o return 0; o SO vai "pensar" que está tudo certo? :s
     
  12. Baderous

    Baderous Banido

    Se o código tiver erros, nem sequer chegas ao return 0.
     
  13. Thrasher

    Thrasher Power Member

    Pois bem me parecia...o programa detectava de imediato!
     
  14. dr_kaufman

    dr_kaufman Power Member

    Essa do getchar() é mt simples, funciona bem!

    Outra dúvida, o exercício seguinte é fazer uma tabela celsius-fahrenheit mas acontece a mesma coisa por isso onde devo por o getchar(); apra ele n desaparecer logo?

    Código:
    #include <stdio.h>
    /* print Fahrenheit-Celsius table
    for fahr = 0, 20, ..., 300 */
    main()
    {
     int fahr, celsius;
     int lower, upper, step;
     lower = 0; /* lower limit of temperature scale */
     upper = 300; /* upper limit */
     step = 20; /* step size */
     fahr = lower;
     while (fahr <= upper) {
     celsius = 5 * (fahr-32) / 9;
     printf("%d\t%d\n", fahr, celsius);
     fahr = fahr + step;
     }
    }
    
     
  15. Mr_Miguel

    Mr_Miguel Power Member

    Essa questão do return 0 ser omitido, se não estou em erro, tem a ver com o compilador - se o return 0 não estiver na função main, o compilador acrescenta-o no final. É boa prática, no entanto, metê-lo sempre - lá porque este compilador em particular o mete não significa que qualquer outro compilador seja obrigado a fazê-lo. O mesmo digo de usar o getchar() sem fazer #include <cstdio> (que é o include apropriado em C++ para a biblioteca stdio.h).

    EDIT: OK, por algum motivo assumi que esta thread lidava com o C++ e não com o C. Peço desculpa. Ainda assim, a questão do return 0 mantém-se, e a questão do getchar() também, mas o include para o getchar() em C é o #include <stdio.h> que normalmente se usa (em contraste com o C++ que se deve substituir por #include <cstdio>).
     
    Última edição: 5 de Setembro de 2008
  16. Pões sempre o getchar() no fim do main. E atenção ao retorno do main que anda aqui a ser falado.
     
  17. dr_kaufman

    dr_kaufman Power Member

    Certo, desculpem tantas perguntas mas, sem o getchar(); aparece instantaneamente a tabela mas é perceptivel que tem os valores todos e quando meto o getchar(); aparecem apenas dois valores:

    0 -17

    em vez de:

    1 -17
    20 -6
    40 4
    60 15
    80 26
    100 37
    120 48
    140 60
    160 71
    180 82
    200 93
    220 104
    240 115
    260 126
    280 137
    300 148


    Terá a ver com isso do retorno do main?
     
  18. Baderous

    Baderous Banido

    O 1º valor vai ser 0-17.
    Onde é que estás a meter o getchar(); ?
     
  19. dr_kaufman

    dr_kaufman Power Member

    Código:
    #include <stdio.h>
    /* print Fahrenheit-Celsius table
    for fahr = 0, 20, ..., 300 */
    main()
    {
     int fahr, celsius;
     int lower, upper, step;
     lower = 0; /* lower limit of temperature scale */
     upper = 300; /* upper limit */
     step = 20; /* step size */
     fahr = lower;
     while (fahr <= upper) {
     celsius = 5 * (fahr-32) / 9;
     printf("%d\t%d\n", fahr, celsius);
     fahr = fahr + step;
     [SIZE=5][B]getchar();[/B][/SIZE]
     }
    }
    
    meti depois do main, (acho eu :P )
     

Partilhar esta Página