1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C Duvida

Discussão em 'Programação' iniciada por BiozzZ, 15 de Julho de 2008. (Respostas: 6; Visualizações: 898)

  1. BiozzZ

    BiozzZ Power Member

    Olá, eu tou com um problema em tentar passar uma ideia para a linguagem C

    dentro de um loop eu queria ter uma função que me gravasse numa variavel um caracter que eu esteja a pressionar no teclado e que esperasse um período de tempo, caso passado esse período de tempo eu não tenha pressionado nenhuma tecla eu queria que ele saltasse para outra parte do código.

    p.s. Eu queria que não fosse preciso pressionar a tecla enter após a introdução do caracter.

    Espero que percebam a minha ideia e que me possam ajudar, obrigado.

    Bioz
     
  2. armagedalbeebop

    armagedalbeebop Power Member

    isso do periodo de tempo nao sei,
    mas a parte de nao ter que carregar no enter sei uma maneira em c++ ,mas nao sei se vai ajudar

    usas estes dois namespaces

    Código:
    using namespace System;
    using namespace System::Text; //nao tenho bem a certeza se é so isto
    
    
    //declaras uma variavel que vai ter o caracter:
    ConsoleKeyInfo tecla;
    
    //uma perguntazinha:
    
    cout<<"Carregue 1 para entrar ou 0 para sair"<<endl;
            tecla = Console::ReadKey();
    
    //verificacao:
    if(tecla.KeyChar=='1'){
                cout<<"\nA carregar";
    }//...etc
    cumpz
     
    Última edição pelo moderador: 15 de Julho de 2008
  3. Baderous

    Baderous Banido

  4. BiozzZ

    BiozzZ Power Member

    obrigado pela vossa ajuda vou tentar orientar-me .

    Bioz
     
  5. BiozzZ

    BiozzZ Power Member

    Olá mais uma vez, não estou a conseguir usar esta função:
    Código:
    _setcursortype(_NOCURSOR);
    uso o dev cpp, alguma alternativa?

    Thanks

    já a consegui usar fazendo algumas alterações, mas agora é o raio do programa que não funciona argh

    Código:
    #include <stdio.h>
    #include <conio.h>
    #define CIMA 72
    #define BAIXO 80
    #define ESQ 77
    #define DIR 75
    #define _NOCURSOR 100 
    void _setcursortype (int type);
    main ( ){
    
          int i,x,y;
          char c;
          _setcursortype(_NOCURSOR);
          clrscr();
          x=15;
          y=10;
          gotoxy(x,y);
          printf("*");
          do{
          c = getch();
          if (c == 0){
            c=getch();
    
            switch (c){
                case CIMA:
                    gotoxy(x,y);
                    printf(" ");
                    if(y != 1) y--;
                    gotoxy(x,y);
                    printf("*");
                    break;
    
                case BAIXO:
                    gotoxy(x,y);
                    printf(" ");
                    if (y != 24) y++;
                    gotoxy(x,y);
                    printf("*");
                    break;
    
                case ESQ:
                    gotoxy(x,y);
                    printf(" ");
                    if (x != 80) x++;
                    gotoxy(x,y);
                    printf("*");
                    break;
    
                case DIR:
                    gotoxy(x,y);
                    printf(" ");
                    if (x != 1) x--;
                    gotoxy(x,y);
                    printf("*");
                    break;
            }
    
           }
          }while(c !='a');
    }
    
    desculpem, que estupidez, já tou nervoso, já nem mexia nas setas certas..
     
    Última edição pelo moderador: 15 de Julho de 2008
  6. Baderous

    Baderous Banido

    Provavelmente não funciona porque estás a usar a <conio.h> no Dev-C++. Tal como eu tinha dito, ela só vem incluída nos compiladores da Borland. Provavelmente, terás de a sacar e incluir no teu projecto ou algo assim. Tenta googlar.
     
  7. BiozzZ

    BiozzZ Power Member

    obrigado, este dev cpp é mesmo mariquinhas enfim..
     

Partilhar esta Página