Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Jooa

pequenas duvidas

Mensagens Recomendadas

Jooa

estou a começar a desenvolver um projecto em C

para isso dividi o trabalho em etapas e começei por fazer a parte gráfica do programa.

o programa é apresentado em consola do DOS, alguém sabe-me dizer o que posso fazer para tirar aquelas palavras que surgem no final da janela? - "Prima qualquer tecla para continuar . . ."

a minha segunda duvida é que o programa inicialmente funciona através de menus qual o comando para limpar a tela, uma vez que vou andar a "navegar" por menus e cada vez que passar de um para o outro gostaria que a tela fosse limpa

desculpem chatear vos com duvidas destas

cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
IRX773

Quanto à primeira dúvida não sei explicar. Quanto à segunda caso estejas a usar windows, usa a biblioteca <stdio.h> e a <stdlib.h> e podes usar um comando do ms-dos que é o CLS que te limpa o ecrã. A sua utilização seria

system("CLS");

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

estou a começar a desenvolver um projecto em C

para isso dividi o trabalho em etapas e começei por fazer a parte gráfica do programa.

o programa é apresentado em consola do DOS, alguém sabe-me dizer o que posso fazer para tirar aquelas palavras que surgem no final da janela? - "Prima qualquer tecla para continuar . . ."

Isso só aparecer porque estás a usar o system("PAUSE") no fim. Retira isso e susbstitui por um getchar().

a minha segunda duvida é que o programa inicialmente funciona através de menus qual o comando para limpar a tela, uma vez que vou andar a "navegar" por menus e cada vez que passar de um para o outro gostaria que a tela fosse limpa

Mais uma vez, não deves usar a sugestão dada pelo IRX773 porque ele está a fazer uma chamada ao sistema para limpar o ecrã, o que, para além de ser um processo pesado, torna a tua aplicação dependente do SO. Para limpar, podes simplesmente imprimir um conjunto de '\n' até desaparecer o que tinhas.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
IRX773

Mais uma vez, não deves usar a sugestão dada pelo IRX773 porque ele está a fazer uma chamada ao sistema para limpar o ecrã, o que, para além de ser um processo pesado, torna a tua aplicação dependente do SO. Para limpar, podes simplesmente imprimir um conjunto de '\n' até desaparecer o que tinhas.

E não há nenhuma função nativa em C que faça isso? É que o system("CLS") é mais bonito que muitos \n's  ;)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

E não há nenhuma função nativa em C que faça isso? É que o system("CLS") é mais bonito que muitos \n's  ;)

Não conheço nenhuma.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Jooa

Isso só aparecer porque estás a usar o system("PAUSE") no fim. Retira isso e susbstitui por um getchar().

Mais uma vez, não deves usar a sugestão dada pelo IRX773 porque ele está a fazer uma chamada ao sistema para limpar o ecrã, o que, para além de ser um processo pesado, torna a tua aplicação dependente do SO. Para limpar, podes simplesmente imprimir um conjunto de '\n' até desaparecer o que tinhas.

é que quando uso o getchar() as palavras saem é verdade, mas estou a usar um switch os cases do switch têm como output printf's e mal escolho uma hipótese do switch o programa fecha-se logo :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

Isso deve ser porque tens conteúdo no buffer, e esse deve ser limpo antes da invocação do getchar(). Usa isto:

scanf("%*[^\n]");
scanf("%*c");

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.