Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wybieranie pozycji w pętli switch bez potwierdzania enterem

Ostatnio zmodyfikowano 2011-12-12 19:01
Autor Wiadomość
akwes
» 2011-12-01 00:20:00
No tak, zapomniałem o kbhit();
C/C++
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    unsigned char a;
    while( 1 )
    {
        if( _kbhit() )
        {
            a = _getch();
            cout << "\nYou ID key: " << int( a );
        }
    }
    return 0;
}

Ładnie pokazuje kody, więc powinno działać. ESC i ENTER są w ASCII.

I reaguje na ESC, sprawdzone.

C/C++
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    unsigned char a;
    do
    {
        if( _kbhit() )
        {
            a = _getch();
            cout << "\nYou ID key: " << int( a );
        }
    } while( a != 27 );
   
    return 0;
}
P-45016
mike
Temat założony przez niniejszego użytkownika
» 2011-12-01 10:12:20
W którym miejscu tego kodu powinien być kod mojego programu?
P-45022
DejaVu
» 2011-12-01 14:16:41
Jeżeli nie wiesz co zrobić z tym kodem to powinieneś zabrać się za naukę podstaw.

» KursyKurs C++ kurs
P-45025
jankowalski25
» 2011-12-01 19:21:05
P-45050
RazzorFlame
» 2011-12-12 19:01:49
Okej ja ci podam wszystkie odpowiedzi. Mysle ze nie powinienem ale OK:

1:
Do tego zrob sobie takie cus:
C/C++
#include <iostream>
#include <conio.h>



using namespace std;

int main()
{
    int a;
    a = getch();
   
    switch( a )
    //...
   
    getch();
    return 0;
}

2:
Do tego najlepiej uzyc statycznego zutowania ( mozez o tym poczytac w kursie Xion'a od zera do gier kodera )

C/C++
#include <iostream>
#include <conio.h>



using namespace std;

int main()
{
    int a;
    char znak;
    do
    {
        znak = getch();
       
        a = static_cast < int >( znak );
       
        cout << a << endl;
    } while( 1 == 1 );
   
    getch();
    return 0;
}
W tym programie naciskajac klawisz otrzymasz jego kod. Pozniej tylko robisz tak ( dopisujesz takie cos do tego programu ):
C/C++
switch( a )
{
case 27: // 27 = ESC, Mozna tez dac inne klawisze. Kazdy znak ma inny kod
    //...
    break;
    //...
   
}
P-45561
1 « 2 »
Poprzednia strona Strona 2 z 2