luizfernando Postado Março 10, 2010 Denunciar Share Postado Março 10, 2010 Como eu faço para que o programa espere um determinado tempo para que um o usuario digite algo e, caso ele não digite ,continue a execução?por exemplo:int a;a=getch();quero que o programa espere um tempo no comando getch() e depois , se nada ocorrer( usuário não digitar nada) ele continue Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ImBigBoo Postado Março 11, 2010 Denunciar Share Postado Março 11, 2010 Boa Noite,Uso esse codigo com muita frequencia, basta alterar de acordo com os comentários e sua necessidadeAbraço-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#include <time.h>int main(){int tempo = clock(); //começa a contar o tempoprintf("Aguarde . . .");while(clock() - tempo < 5000){ //enquanto não se passaram 5segundos//printf("Mensagem para exibição enquanto repete ciclo");}printf("\n\nAguarde 5 segundo para o fechamento do programa");tempo = clock();while(clock() - tempo < 5000){ //enquanto não se passaram 5segundos//printf("Mensagem para exibição enquanto repete ciclo");}} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luizfernando Postado Março 11, 2010 Autor Denunciar Share Postado Março 11, 2010 Não conseguir resolver o que eu queria, no trecho de código: while(clock() - tempo < 50){ mvprintw(3,1,"Entrei"); key=getch(); mvprintw(3,1,"Sai"); }o meu objetivo é que depois de 50 milésimos de segundo, se nada foi digitado, o valor da variável key se mantivesse constanteentretanto , a mensagem "Sai" nem é mostrada o que indica que enquanto o usuário não digitar nada o programa fica esperando , exatamente o inverso do que eu quero Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luizfernando Postado Março 11, 2010 Autor Denunciar Share Postado Março 11, 2010 Tava pensando aqui, o único jeito é dividir o procesaamento numa thread o programa fica esperanso o usuário digitar algo e noutro tenho um contador de tempo na forma clock(), dessa forma qundo o tempo limite se esgotar, uso um break no while;Como eu faço para criar threads em C? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Março 11, 2010 Denunciar Share Postado Março 11, 2010 CreateThread no Windows <windows.h> e pthreads no Linux/BSD/*nix.Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luizfernando Postado Março 12, 2010 Autor Denunciar Share Postado Março 12, 2010 Conseguir achar uma solução para o que eu queria, no código:#include<stdio.h>#include<curses.h>int main(){ char tecla; initscr(); clear(); keypad(stdscr, TRUE); noecho(); timeout(2000); //a função já garante a execução do bloco com ou sem entrada de teclado; tecla=getch(); endwin();}O programa espera 2 segundos para que o usuário digite algo, se ele não digitar a janela é fechadaObrigado pela ajuda do mesmo jeito, meu problema tá resolvido Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
luizfernando
Como eu faço para que o programa espere um determinado tempo para que um o usuario digite algo e, caso ele não digite ,continue a execução?
por exemplo:
int a;
a=getch();
quero que o programa espere um tempo no comando getch() e depois , se nada ocorrer( usuário não digitar nada) ele continue
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.