PDA

View Full Version : سوال: کلید های جهت نما



saate777
یک شنبه 18 اردیبهشت 1390, 11:32 صبح
سلام

کسی می دونه چطور میشه وقتی کاربر کلید های بالا ،پایین ،چپ و راست (جهت نما -arrow key) رو میزنه اونا را گرفت و تشخیص داد!

tdkhakpur
یک شنبه 18 اردیبهشت 1390, 14:29 عصر
چطور میشه وقتی کاربر کلید های بالا ،پایین ،چپ و راست (جهت نما -arrow key) رو میزنه اونا را گرفت و تشخیص داد!


#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <dos.h>
int main()
{
if( getch()==0 )
cout<<getch();
switch(getch())
{
case 72: cout<<"up"; break;
case 75: cout<<"left"; break;
case 77: cout<<"rightt"; break;
case 80: cout<<"down"; break;
}
return 0;
}

shahmohammadi
دوشنبه 19 اردیبهشت 1390, 20:51 عصر
دوست عزيز من فكر نمي كردم با getch بشه اين كارو كرد و لي وقتي ديدم يه قسمتي از برنامه تون درست كار كرد، در موردش يه تحقيقي كردم و ديدم ميشه.
ولي بايد قبل switch هم يه if مي گذاشتيم تا دستورات داخل switch هم اجرا مي شدن.
با تشكر.

tdkhakpur
دوشنبه 19 اردیبهشت 1390, 23:45 عصر
ولي بايد قبل switch هم يه if مي گذاشتيم تا دستورات داخل switch هم اجرا مي شدن.

لازم به اضافه شدن if نیست اون خط بعد از if باید حذف میشد که نشده.(از اسکلت برنامه دیگه استفاده شده)

#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <dos.h>
int main()
{
if( getch()==0 )
switch(getch())
{
case 72: cout<<"up"; break;
case 75: cout<<"left"; break;
case 77: cout<<"rightt"; break;
case 80: cout<<"down"; break;
}
return 0;
}