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

problema em C

Discussão em 'Programação' iniciada por Sway, 19 de Abril de 2006. (Respostas: 15; Visualizações: 1695)

  1. Sway

    Sway To fold or to FOLD?

    começei ha pouco tempo em programação e resolvi comçar em C nao sei se fiz bem.

    comprei um liro e tenho feito tudo com ele mas tenho um problema no meu ver estupido mas a solução nao deve ser dificil no entanto nao consigo resolver.

    com progrmas simples do genero

    printf("ola techzone"); depois de compilado e sem erros o programa nao abre isto é, faço duplo click ainda vislumbro a janela pretas mas fecha-se logo e nem consigo ler se la aparece nada. simplesmente fecha mesmo antes de eu o ver. mas consigo perceber que abre.

    o que se passa?

    obrigado, abraço!
     
  2. Karmack

    Karmack Power Member

    no fim do main() pões um getc();
     
  3. SoundSurfer

    SoundSurfer Power Member

    Podes sempre chamar o programa da linha de comandos.

    A janela desaparece, porque o programa acaba.
     
  4. Rui_Carlos

    Rui_Carlos 1st Folding then Sex

    em que SO trabalhas?

    para usar C, na minha opinião, não há melhor do que o Linux (Unix)

    lá executas o programa pela linha de comandos e como a janela continua aberta podes ver o resultado.
    tens também a função 'sleep(unsigned int seconds)' (pelo menos em Unix, em windows não sei, mas também deve haver alguma coisa...) que te permite pará o programa durante um determinado tempo, para que possas ver o resultado.
     
  5. fish

    fish Power Member

    se for em windows faz

    system("PAUSE");
     
  6. dark_splinter

    dark_splinter Power Member

    ando a aprender C e também tive o mesmo problema a programar no windows a janela fechava logo mal o programa acabar de ser executado.....

    A solução é como o SoundSurfer disse abrires a linha de comandos do windows ....
    iniciar > programas > acessorios > linha de comandos ....

    por acaso também me aconselharam a programar em linux .... mas como n tenho nada instalado em no meu linux ....

    já agora que compilador usas para windows???? eu uso o dev-c++....:)
     
  7. HecKel

    HecKel The WORM

    Boas!

    Tal como referiram antes, basta executares o programa APÓS compilado na consola que vês o resultado!

    Se executares pelo compilador ele abre a janela, escreve, e depois fecha a janela, é tão rápido que nem tens tempo de ver nada.

    As sugestões para linux...., são boas e tal..., mas se ele está a começar agora em linux até é capaz de atrofiar uma beca principalmente se começar por usar o gcc, o g++, o cc and son on..., para começar se estás habituado ao windows, segue por aí.

    Para "obrigares" o programa a esperar por ti..., mete um getc() como também disseram antes, que vai mandar o programa esperar por um caracter..., isto é, o programa corre todo até a essa linha e só continua (acaba nesse caso) quando carregares numa tecla.

    Tens vários truques para isso, mas esse é capaz de ser dos melhores :)

    abraços, HecKel
     
  8. SwimmerBoy

    SwimmerBoy Folding Member

    Sway, pede um scanf mesmo antes de terminar... Assim tem de carregar numa tecla antes de terminar ;)
     
  9. Pretender

    Pretender Power Member

    o truque q uso e já descrito acima é o getchar()
     
  10. Sway

    Sway To fold or to FOLD?

    ok obrigado.

    epa nao usem termos técnicos que eu estou em economia, tou a aprender isto por curiosidade portanto nao sei rigorosamente nada! :)

    abraço e obrigado!
     
  11. Vorador

    Vorador Power Member

    yah,como ja disseram getch() antes do fechares o main resolve.
     
  12. Sway

    Sway To fold or to FOLD?

    só uma coisa... toda a gente disse uma coisa diferente.

    la em cima disseram: poes getc() depois do main depois alguem disse poes getchar() e agora disseram getch() ante sde fechar o main.

    então como é? todos dão? e onde ponho? dentro do main ou depois?
     
  13. HecKel

    HecKel The WORM

    Todos dão!

    Uns requerem "***** coisa" seguindo de enter (caso do scanf), outros como o getchar e o getc apenas requerem um caracter sem mais nada.

    No entanto todos cumprem o seu objectivo, fazem o programa esperar qualquer coisa, e enquanto o programa espera por essa qualquer coisa tu vês os resultados que pretendias (ou não).

    Basicamente é um truque para a janela não fechar logo :)

    abraços, HecKel
     
  14. JuSt_Me_AnD_yOu

    JuSt_Me_AnD_yOu What is folding?

    tens aqui um exemplo

    #include <stdio.h>
    #include <stdlib.h> //para usar o system("PAUSE")
    int main()
    {
    printf("ola techzone");
    return 0;
    system("PAUSE");
    }
     
  15. s00n

    s00n Power Member

    É assim, tu decidiste usar o windows para programar C, provavelmente tens o compilador e ambiente de trabalho dev-cpp que é um programa para c e c++.

    Neste, para o teu programa não fazer logo "HALT" e sair, tens de acrescentar no fim do main(), e como já disseram antes,
    Código:
    system("PAUSE");
    Se preferisses, ou preferires ir para Linux, usas o compilador gcc.
    Como editor do código podes usar o emacs, vim, pico, gedit... etc

    e usas o comando, na shell, gcc ficheiro.c

    e o gajo cria-te um ficheiro a.out por defeito na pasta onde executaste o comando.
    Para modares o nome do fichiero final fazes: gcc ficheiro.c -o programa
    e aí ele cria-te um executável chamado "programa".

    depois para não estares constantemente a fazer isto podes sempre fazer um makefile (google for it)

    mas no dev-cpp usas só o F9 para compilar e correr.

    __

    JuSt_Me_AnD_yOu:

    Não precisas da biblioteca "stdlib.h" para invocar system("PAUSE"); pelo menos no meu compilador
     
  16. Sway

    Sway To fold or to FOLD?

    ja consegui, obrigado a todos.

    não sei se existe mas se quiserem dado o titulo do tópico pode ficar uma thread para dúvidas gerais, assim que alguém vai tendo problemas posta aqui.
     

Partilhar esta Página