Perguntas sobre C:
Para que serve enum?
Qual a diferença de malloc e calloc?
Publicidade:
Jogue Tibia sem mensalidades!
Taleon Online - Otserv apoiado pelo TibiaBR.
https://taleon.online
Curtir: 0
Perguntas sobre C:
Para que serve enum?
Qual a diferença de malloc e calloc?
Última edição por Cloud The Swordman; 12-07-2011 às 21:35.




Enum serve para criar um tipo cujos possíveis valores serão todos enumerados pelo programador.
Por exemplo, um enum de meses teria os valores Janeiro, Fevereiro, ..., Dezembro.
Estou tentando aprender C, porem estou no começo ainda e estou com uma dúvida.
Toda vez que executo esse programa:
chega a parte que eu digito o numero de dias, e o programa fala o resultado em outra linha, mas sai rapidamente (como um flash).#include <stdio.h>
int main ()
{
int Dias;
float Anos;
printf ("Entre com o n˙mero de dias: ");
scanf ("%d",&Dias);
Anos=Dias/365.25;
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
return(0);
}
Dai eu consegui colocar o comando getchar (); pra "retardar" o fechamento do programa, e deu tudo certo.
ficando assim:
Mas dai a dúvida: peguei esse programa sem o comando, então deve ser algum outro erro ou é normal ter que colocar isso sempre?#include <stdio.h>
int main ()
{
int Dias;
float Anos;
printf ("Entre com o numero de dias: ");
scanf ("%d",&Dias);
getchar ();
Anos=Dias/365.25;
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
getchar ();
return(0);
}
Os programas que você fez é apenas um exemplo de como transformar dias em anos.
O que aconteceu no primeiro programa é que você não pausa (para) o programa, e quando ele termina o CMD (prompt) também termina. De tão rápido que é não da tempo do usuário ler.
A função getchar(); espera por alguma entrada do usuário até que o programa possa continuar. Foi o que você usou no segundo exemplo.
O "return(0);" é como se fosse: termine o programa
O "printf(...);" é como se fosse: imprima texto
O "getchar();" é como se fosse: espere o usuário digitar
No primeiro exemplo:
No segundo exemplo:imprima texto
termine o programa
imprima texto
espere o usuário digitar
termine o programa
Coloca o comando system("pause"); que faz o a tela congelar quando o programa finaliza, assim você não precisa colocar esse getchar ();, talvez não pegue o comando acima, então você teria que colocar uma biblioteca especifica pra poder usar essa função, que no momento eu não lembro qual é...
Última edição por Rinnag; 16-07-2011 às 00:22.
Nunca consegui usar system ou getchar, sempre adiciono a biblioteca CONIO.H e uso o "getch()"![]()