• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ibuh

Fecha Consola!

12 mensagens neste tópico

Viva, eu uso o DEV-C++ para compilar, e por exemplo abro o normalmente, abre um novo arquivo fonte, e digito o seguinte código:

#include <stdio.h>

int main ()
{
   int a;
   
   printf ("Digite um número: ");
   scanf ("%d", &a);
   printf ("\nO número digitado foi %d", a); 
   return (0);
}

Funciona bem, só que ao inserir o valor que pede no "scanf" e digito o valor e pressiono <ENTER> e a consola fecha-me o que tenho de fazer?, para que mostre o 2º "printf"?????

obrigado pela atenção e paciência, novatos, penso q sejam assim....;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, já tentei, não dá mesmo não sei porque ;)

Isto assim não dá perde-se o tesão todo de aprender algo :@

lol

Obrigado na mesma;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, já tentei, não dá mesmo não sei porque ;)

Isto assim não dá perde-se o tesão todo de aprender algo :@

lol

Obrigado na mesma;)

Experimenta lá assim, tem de funcionar.

#include <stdio.h>

int main ()
{
   int a;
   
   printf ("Digite um número: ");
   scanf ("%d", &a);
   printf ("\nO número digitado foi %d", a);

   getchar();

   return (0);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não dá, fecha na mesma a janela!... secalhar estou a programar mal, leste como é que eu abri para programar? thnks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva Triton, então podes é arranjar me um programa que corra no teu pc que contenha um SCANF para eu experimentar no meu ... obrigado!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O teu programa funciona perfeitamente aqui... experimenta correr o programa pela consola.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que o getchar() está a ler o \n deixado no buffer de entrada.

Se estás a usar o dev-c existem duas soluções muito comuns, embora só funcionem em windows (não gosto de as recomendar)

Ou

fflush(stdin);
getchar();

ou

system("pause");

Para linux existem alternativas (multi plataforma) mais complicadas para quem está a aprender.

Assim que te sentires mais à vontade a programar C recomendo-te em transformar estas que eu disse numa função criada por ti com os mesmos efeitos mas multi-plataforma.

Nota: fflush(stdin) funciona em linux tal como em windows, mas (e isto já foi discutido noutro tópico) a função fflush não tem o comportamento para buffers de entrada definido. Por acaso faz o que pretendemos tanto em windows como linux, mas nada garante que de uma versão para a outra deixe de fazer, porque simplesmente não está documentado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ou podes sempre usar simples e praticamente assim

#include <stdio.h>
#include <stdlib.h>
main()
{

int i;

printf("mete um numero");
putchar('\n');
scanf(" %d",&i);
printf("o numero que puseste foi: %d",i);

system("PAUSE");
return 0;
}

eu exprimentei no meu pc e funciona.

ps: no teu codigo inicial so aconteceu o que aconteceu porque na tua versao de devc++ o return (0); nao da sem system("PAUSE");

printf ("pelo menus comigo e assim");

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ps: no teu codigo inicial so aconteceu o que aconteceu porque na tua versao de devc++ o return (0); nao da sem system("PAUSE");

Isso é ridículo. Por favor, sejam coerentes no que dizem e não se limitem a tentar arranjar uma pseudo-solução como esta.

O return 0; funciona em qualquer caso, o programa simplesmente fecha porque não lhe deste ordem em contrário. Simples.

0

Partilhar esta mensagem


Link 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