Jooa Posted January 5, 2010 at 07:40 PM Report Share #304289 Posted January 5, 2010 at 07:40 PM 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 Link to comment Share on other sites More sharing options...
IRX773 Posted January 5, 2010 at 08:27 PM Report Share #304307 Posted January 5, 2010 at 08:27 PM 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"); Link to comment Share on other sites More sharing options...
Jooa Posted January 5, 2010 at 09:13 PM Author Report Share #304343 Posted January 5, 2010 at 09:13 PM Obrigado 😉 Link to comment Share on other sites More sharing options...
Baderous Posted January 5, 2010 at 09:58 PM Report Share #304348 Posted January 5, 2010 at 09:58 PM 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. Link to comment Share on other sites More sharing options...
IRX773 Posted January 5, 2010 at 10:48 PM Report Share #304364 Posted January 5, 2010 at 10:48 PM 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 😉 Link to comment Share on other sites More sharing options...
Baderous Posted January 6, 2010 at 12:09 AM Report Share #304383 Posted January 6, 2010 at 12:09 AM 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. Link to comment Share on other sites More sharing options...
Localhost Posted January 6, 2010 at 10:59 PM Report Share #304554 Posted January 6, 2010 at 10:59 PM A função clrscr() da conio.h, atenção que não é padrão. here since 2009 Link to comment Share on other sites More sharing options...
Jooa Posted January 8, 2010 at 03:49 PM Author Report Share #304810 Posted January 8, 2010 at 03:49 PM 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 Link to comment Share on other sites More sharing options...
Baderous Posted January 9, 2010 at 03:12 PM Report Share #304991 Posted January 9, 2010 at 03:12 PM 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"); Link to comment Share on other sites More sharing options...
Jooa Posted January 9, 2010 at 04:19 PM Author Report Share #305006 Posted January 9, 2010 at 04:19 PM é mesmo isto 😁 Obrigado 😁 só uma coisa...tecnicamente o que é que este comando faz? Link to comment Share on other sites More sharing options...
Baderous Posted January 9, 2010 at 04:43 PM Report Share #305018 Posted January 9, 2010 at 04:43 PM O 1º scanf lê e descarta todos os caracteres até ao '\n'. O 2º descarta um caracter (neste caso o '\n'). Link to comment Share on other sites More sharing options...
Jooa Posted January 9, 2010 at 05:03 PM Author Report Share #305021 Posted January 9, 2010 at 05:03 PM Obrigado Baderous e a todos os outros pela ajuda 👍 Link to comment Share on other sites More sharing options...
bsntuga Posted January 9, 2010 at 07:00 PM Report Share #305043 Posted January 9, 2010 at 07:00 PM eu costumo usar o getch() do conio Link to comment Share on other sites More sharing options...
Localhost Posted January 9, 2010 at 10:33 PM Report Share #305079 Posted January 9, 2010 at 10:33 PM Não faz parte do Ansi-C, não é recomendável usar devido à portabilidade (refiro-me a Linux). here since 2009 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now