C語言使用getch()讀取方向鍵
初衷:
在解決N皇后問題時需要使用方向鍵實(shí)現(xiàn)布局切換,于是就在網(wǎng)上查找資料,感覺自己收獲不小,就把自己總結(jié)的一些知識點(diǎn)給記錄下來。
總結(jié):
1.getch()讀取字符需要一次。
2.getch()讀取方向鍵或功能鍵需要兩次。
(第一次的返回值為0或者224(方向鍵)
getch函數(shù)在讀取一個功能鍵或者箭頭(方向)鍵盤時,函數(shù)會返回兩次,第一次調(diào)用返回0或者0xE0,第二次調(diào)用返回實(shí)際的鍵值。
72,80,75,77返回值分別是↑↓←→。
代碼演示:
while (1){ //無限循環(huán) //使用getch()讀取方向鍵,讀取方向鍵需要讀取兩次 if (ch1=getch()){ ch2=getch();//第一次調(diào)用getch(),返回值224 switch (ch2){//第二次調(diào)用getch() case 75: { //←的ascll if(current-1>=0){ current--; }else{ current = tol-1; } system("cls\n"); cout<<"請輸入皇后的數(shù)量:"<<n<<endl; cout<<"一共有"<<tol<<"種布局"<<endl<<endl; show(current); break; } case 77: { if(current+1<=tol-1){ current++; }else{ current = 0; } system("cls\n"); cout<<"請輸入皇后的數(shù)量:"<<n<<endl; cout<<"一共有"<<tol<<"種布局"<<endl<<endl; show(current); break; } default:cout<<"輸入錯誤!"<<endl;break; } }
到此這篇關(guān)于C語言使用getch()讀取方向鍵的文章就介紹到這了,更多相關(guān)C語言讀取方向鍵內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入分析C#中WinForm控件之Dock順序調(diào)整的詳解
本篇文章是對C#中WinForm控件之Dock順序調(diào)整進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05利用C#實(shí)現(xiàn)HTML模板的循環(huán)輸出
模板循環(huán)輸出 ,是指使用 UI 前端設(shè)計的 HTML 模板片斷,并結(jié)合數(shù)據(jù)記錄進(jìn)行循環(huán)輸出的過程,本文將介紹如何中通過 C# 實(shí)現(xiàn)操作 HTML 模板的循環(huán)輸出,文章通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下2024-06-06C#操作數(shù)據(jù)庫總結(jié)(vs2005+sql2005)
C#操作數(shù)據(jù)庫總結(jié),每次做項(xiàng)目都會用到數(shù)據(jù)庫,對數(shù)據(jù)庫的操作都是糊里糊涂從書里找代碼用。通過昨天晚上與今天早上的努力,把數(shù)據(jù)庫的操作整理了一下,下面把整理結(jié)果做個小結(jié)2012-09-09