c語言怎麼接收方向鍵

char k=getch();
switch(k)
{
case 72:
//上
break;

case 80:
//下
break;

case 75:
//左
break;

case 77:
//右
break;

}

Ⅱ c語言中怎樣輸入和讀取方向鍵

在C代碼中可設置如下自編的intokey( )函數,用以接收方向鍵值。庫函數kbhit( )是檢測是否有按鍵被按下,庫函數getch( )是讀取鍵盤按鍵值的,不需按回車,也不回顯。dir是代表方向的變數,根據不同的方向鍵值,讓dir取1到4這四個不同的值。其它的程序段就可根據dir的值讓東西朝某個方向移動。方向鍵按下後會產生2個值,第一個是224,另一個分別為上下左右的72、80、75、77,因此要讀取2次值來判斷。要包含#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判斷有鍵按下時才執行下面的操作

{ flag = getch( ); //用flag來獲取鍵值

if (flag==224)

{ flag = getch( ); //值為224時表示按下了方向鍵,要再次獲取才行

if ( flag==72 && dir != 2 ) dir = 1;

if ( flag==80 && dir != 1 ) dir = 2;

if ( flag==75 && dir != 4 ) dir = 3;

if ( flag==77 && dir != 3 ) dir = 4;

}

if (flag==13)

{ while( 1 ) if ( ( flag=getch( ) )==13 ) break ; }

}

}

註:這個函數來源於某些「貪吃蛇」的代碼,略有修改,足可獲取方向鍵值。其中的1、2、 3、4分別對應著上下左右。當flag獲得鍵值後,分兩種情況:一是flag=224,此時再次獲取鍵值以判斷輸入的是4個方向中的哪一個;二是flag=13,表示按下回車鍵,我們就執行循環,程序暫停,等待再次輸入回車,程序繼續運行。

Ⅲ 怎麼用C語言實現方向鍵菜單選取,如圖

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#defineboolint
#definefalse0
#definetrue1
voidshow(inti);
intmain(void)
{
charkey,key2;
boolneedNextKey=false;
inti=1;
system("color1f");
printf("按任意啟動菜單:");
while((key=_getch())!=27)//pressESCtobreak
{
system("cls");
if(needNextKey)
{
if(key2==-32)
{
if(key==72)//up
{
i--;
if(i<=0)i++;
show(i);
}
elseif(key==80)//down
{
i++;
if(i>=4)i--;
show(i);
}
}
needNextKey=false;
}
if(key<=0)
{
key2=key;
needNextKey=true;
}
}
printf_s("pressanykeytocontinue... ");
_getch();
return0;
}
voidshow(inti)
{
if(i==1)
{
printf("->Menu1 Menu2 Menu3 ");
printf(" Esctoquit: ");
}
elseif(i==2)
{
printf("Menu1 ->Menu2 Menu3 ");
printf(" Esctoquit: ");
}
elseif(i==3)
{
printf("Menu1 Menu2 ->Menu3 ");
printf(" Esctoquit: ");
}
}

Ⅳ C語言怎麼輸入方向鍵左

windows 函數有這個API
或者用最簡單的getchar就可以
上下左右四個鍵,每個都可以從getchar獲取到內3個位元組數據
分別是
上:0x1b5b41

下:容0x1b5b42
左:0x1b5b44
右:0x1b5b43

Ⅳ c語言如何使用鍵盤上的上下左右鍵

int keydown()
{
char c;
if((c=getch())<0)c=getch();
switch(c){
case 72://printf("\n你的按鍵為向上");break;
case 75: //printf("\n你的按鍵為向左");break;
case 77: //printf("\n你的按鍵為向右");break;
case 80: //printf("\n你的按鍵為向下");break;
default: //printf("\n按鍵不是方向鍵");break;
}
return c;}
我也碰到這種事,暫時用這個..

Ⅵ c語言方向鍵ASCII碼的問題

鍵盤上的每個按鍵都有掃描碼和ASCII碼組成的組合碼,函數getchar()不會讀出掃描碼,只能讀出ASCII碼,C語言中函數_getch()【conio.h,不回顯】可以讀出掃描碼。
方向鍵、INSERT、DELETE、END、HOME、PgUp、PgDn的掃描碼是224(0XE0).
F1 -- F11的掃描碼是0。

Ⅶ c語言如何調用方向鍵

在C代碼中可設置如下自編的intokey( )函數,用以接收方向鍵值。庫函數kbhit( )是檢測是否有按鍵被按下,庫函數getch( )是讀取鍵盤按鍵值的,不需按回車,也不回顯。dir是代表方向的變數,根據不同的方向鍵值,讓dir取1到4這四個不同的值。其它的程序段就可根據dir的值讓東西朝某個方向移動。方向鍵按下後會產生2個值,第一個是224,另一個分別為上下左右的72、80、75、77,因此要讀取2次值來判斷。要包含#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判斷有鍵按下時才執行下面的操作

{ flag = getch( ); //用flag來獲取鍵值

if (flag==224)

{ flag = getch( ); //值為224時表示按下了方向鍵,要再次獲取才行

if (flag==72 && dir != 2) dir = 1; //方向鍵為「上」且原方向不為下時,讓dir=1.

if (flag==80 && dir != 1) dir = 2; //方向鍵為「下」且原方向不為上時,讓dir=2.

if (flag==75 && dir != 4) dir = 3; //方向鍵為「左」且原方向不為右時,讓dir=3.

if (flag==77 && dir != 3) dir = 4; //方向鍵為「右」且原方向不為左時,讓dir=4.

}

if (flag==13)

{ while( 1 ) if ( ( flag=getch( ) )==13 ) break ; }

}

}

註:這個函數來源於某些「貪吃蛇」的代碼,略有修改,足可獲取方向鍵值。其中的1、2、 3、4分別對應著上下左右。當flag獲得鍵值後,分兩種情況:一是flag=224,此時再次獲取鍵值以判斷輸入的是4個方向中的哪一個;二是flag=13,表示按下回車鍵,我們就執行循環,程序暫停,等待再次輸入回車,程序繼續運行。

Ⅷ C語言方向鍵ASCII碼

if(_kbhit())//如果按下的是方向鍵或功能鍵,_getch()要調用兩次,第一次返回0XE0或0
{
fflush(stdin);
c=_getch();//上:72下:80左:75右:77
if(c==0XE0||c==0)
{
c=_getch();
if(c==72&&direct!=1&&direct!=3)
{
direct=3;
}

Ⅸ C語言 方向鍵鍵值

ASCII裡面不含F1-F12,他是字元表,又不是鍵盤代碼表
用vbKeyF1~vbKeyF16的預定義常量吧
.net下可以用Keys.F1~F16
直接引用值的話F1=112,F16=127

Ⅹ c語言怎麼按方向鍵控製程序 c = getchar(); 我按了上 但是沒有反應

在C代碼中可設置如下自編的intokey( )函數,用以接收方向鍵值。庫函數kbhit( )是檢測是否有按鍵被按下,庫函數getch( )是讀取鍵盤按鍵值的,不需按回車,也不回顯。dir是代表方向的變數,根據不同的方向鍵值,讓dir取1到4這四個不同的值。其它的程序段就可根據dir的值讓東西朝某個方向移動。方向鍵按下後會產生2個值,第一個是224,另一個分別為上下左右的72、80、75、77,因此要讀取2次值來判斷。要包含#include<conio.h> .

void intokey( )

{ int flag;

if ( kbhit( ) ) //判斷有鍵按下時才執行下面的操作

{ flag = getch( ); //用flag來獲取鍵值

if (flag==224) flag = getch( ); //值為224時表示按下了方向鍵,要再次獲取才行

if (flag==72 && dir != 2) dir = 1; //方向鍵為「上」且原方向不為下時,讓dir=1.

if (flag==80 && dir != 1) dir = 2; //方向鍵為「下」且原方向不為上時,讓dir=2.

if (flag==75 && dir != 4) dir = 3; //方向鍵為「左」且原方向不為右時,讓dir=3.

if (flag==77 && dir != 3) dir = 4; //方向鍵為「右」且原方向不為左時,讓dir=4.

}

}

註:這個函數來源於某些「貪吃蛇」的代碼,略有修改,足可獲取方向鍵值。其中的1、2、

3、4分別對應著上下左右。