Jump to content
Sign in to follow this  
Jooa

pequenas duvidas

Recommended Posts

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

Share this post


Link to post
Share on other 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");

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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  ;)

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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");

Share this post


Link to post
Share on other sites
Baderous

O 1º scanf lê e descarta todos os caracteres até ao '\n'. O 2º descarta um caracter (neste caso o '\n').

Share this post


Link to post
Share on other sites
Localhost

Não faz parte do Ansi-C, não é recomendável usar devido à portabilidade (refiro-me a Linux).


here since 2009

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.