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

André Sousa

Duvida em exercicio

14 mensagens neste tópico

RESOLVIDO!, todavia tenho outra questão, tenho utilizado o puts ao invés do printf, a diferença é que o puts já faz a mudança de linha?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O printf permite-te imprimir uma string com variáveis e especificar o formato das mesmas.

O puts além da mudança de linha vai ser mais rápido para impressão de strings pois não necessita de verificar por caracteres a ser convertidos como '%d'. Embora para 99.9% dos exercícios que faças essa diferença deve ser indiferente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para não abrir outra thead deixo aqui outra duvida.Fiz este programa...

#include <stdio.h>
main()
{
      int a1, a2;
      puts("Introduza dois algarismos á sua escolha     ");
      scanf("%d%d",&a1,&a2);
      printf("O resultado de %d + %d = %d\n", a1, a2, a1+a2);
      getchar();

}

Ao clicar "enter" para verificar o resultado, a linha de comandos desaparece. Uso o getchar(); para "pausar", digamos assim. Há alguma função que me permita ver o resultado sem que a janela desapareça?

Cumps, André Sousa!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

troca getchar(); por getch();

um of topic a biblioteca stdio.h tambe existe em linux

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estive a pesquisar e para declarar a função getch(); tive que incluir a linha #include <conio.h>. Por acaso há alguma forma de adicionar esta função ao stdio.h? Ou tal não é necessário?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A única maneira de a janela não fechar sem usar uma função para tal é correr o programa a partir da linha de comandos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Realmente é verdade, mas a partir do DevC++ tive que usar o getch(); incluindo a linha #include <conio.h>. Mas o porquê disto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se não me engano, a conio.h é exclusiva dos compiladores da Borland e, como tal, não deve ser usada. O getchar() da stdio.h serve para o efeito.

O que o getchar() faz é ficar à espera que seja introduzido um caracter pelo utilizador.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas há alguma função da stdio.h que faça o mesmo que a função getch(); da conio.h? Apenas por curiosidade, porque acho isto um pouco dispensável!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tanto quanto sei, não existe nenhuma função standard que faça o mesmo do que a função getch()  - lê um caracter e não espera por enter.

Há uns tempos tive a pesquisar porque em windows o gcc também tem a conio.h, mas em linux a biblioteca não existe. Contudo podes fazer o teu próprio getch, vê este link: http://cboard.cprogramming.com/archive/index.php/t-27714.html

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu costumo fazer assim

    /*...*/
    puts("Prima ENTER");
    getchar();
    exit(EXIT_SUCCESS);
    /*...*/

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