PDA

View Full Version : سوال در مورد کلید Enter در ++C



creative
جمعه 23 شهریور 1386, 17:37 عصر
سلام.
من دو تا سوال دارم که شاید خیلی ساده باشن.

1- چه جوری میشه در ++C کاری کرد که با زدن کلید Enter برنامه یه کاری انجام بده مثلا:

Press 'Enter' to continue

2- همون کار بالا رو چه طور میشه انجام داد که به صورت زیر عمل کنه:

Press any key to continue

ممنون.

emad_67
جمعه 23 شهریور 1386, 21:07 عصر
1- چه جوری میشه در ++C کاری کرد که با زدن کلید Enter برنامه یه کاری انجام بده مثلا:

Press 'Enter' to continue

برای این حالت نمیدونم درست منظورت رو متوجه شدم یا نه چون معمولا با زدن enter برنامه شروع به کار میکنه. ولی اگه منظورت اینه که وقتی کاربر enter رو میزنه شما متوجه بشی که کدوم کلید فشار داده شده میتونی از تابع
GetAsyncKeyState() استفاده کنی . به این صورت باید بنویسی:


if(GetAsyncKeyState(VK_RETURN))
// some code



2- همون کار بالا رو چه طور میشه انجام داد که به صورت زیر عمل کنه:

Press any key to continue

در این مورد میتونی از getch() در هدر فایل conio.h استفاده کنی

creative
جمعه 23 شهریور 1386, 22:08 عصر
از کلید اینتر نتونستم استفاده کنم. درباره سوال دوم هم میشه بیشتر توضیح بدید؟

emad_67
شنبه 24 شهریور 1386, 00:11 صبح
در مورد enter اینو ببین


#include<iostream.h>
#include <windows.h>
void main()
{
for(;;)
{
if(GetAsyncKeyState(VK_RETURN))
{
cout<<"Enter button pressed"<<endl;
Sleep(1000);
}
}
}

این کد وقتی که enter رو میزنی عبارت "Enter button pressed" رو چاپ میکنه
در مورد سوال دوم هم فقط کافیه که این تابع رو به انتهای برنامت اضافه کنی


getch();

با اینکار وقتی برنامه به انتها برسه متوقف میشه و صبر میکنه تا کاربر یه کلیدی رو فشار بده

sh_roohani
شنبه 24 شهریور 1386, 00:49 صبح
سلام،

creative (http://barnamenevis.org/forum/member.php?u=45086) جان اونچه که emad_67 (http://barnamenevis.org/forum/member.php?u=35031) گفتن درسته، اما اگه بگی دقیقا در چه محیطی کار می کنی، بهتر می شه راهنمایی کرد. منظورم سیستم عامل و محیط برنامه نویسیه.

creative
شنبه 24 شهریور 1386, 01:03 صبح
ویندوز ویستا 32 بیتی.
Turbo C++ 4.5

مشکل من اینه.
مثلا بعضل جاها تو برنامه می نویسیم:
cout<<"Do you want to cantinue(y/n)?>>endl;
cin>>ans;

حالا جای اینکه y با n بگیره تا ادامه بده ، اینتر رو بزنیم تا ادامه بده. همین!

bpzone
شنبه 24 شهریور 1386, 01:31 صبح
char ch;
cout<<"******"<<endl;
cin>>ch;
if(ch == '\r')
{
/********/
}


میتونی از کد بالا استفاده کنی
داخل بلوک if دستوراتی رو که میخوای بعد از زدن Enter اجرا بشه رو بنویس ....

bpzone
شنبه 24 شهریور 1386, 01:40 صبح
char ch;
cout<<"******"<<endl;
cin>>ch;
/*******/

با این دستور هم میتونی بعد از زدن هر کلید برنامت رو ادامه بدی ...

فقط اینو بدون به برنامت متوقف میشود تا تو دستور ادامه کار رو با زدن کلید بدی

امیدوارم که این کارت رو راه بندازه ....
برای اینکه برنامت هم متوقف نشه ، راهی هست ... ولی باید بگی که میخوای چیکار کنی ....

موفق باشی

emad_67
شنبه 24 شهریور 1386, 08:39 صبح
char ch;
cout<<"******"<<endl;
cin>>ch;
if(ch == '\r')
{
/********/
}

میتونی از کد بالا استفاده کنی
داخل بلوک if دستوراتی رو که میخوای بعد از زدن Enter اجرا بشه رو بنویس ....
در مورد کد آقای bpzone باید بگم که این کد اشتباه هست چون با cin نمیشه enter رو از ورودی خوند


مشکل من اینه.
مثلا بعضل جاها تو برنامه می نویسیم:
cout<<"Do you want to cantinue(y/n)?>>endl;
cin>>ans;

حالا جای اینکه y با n بگیره تا ادامه بده ، اینتر رو بزنیم تا ادامه بده. همین!

اینجوری بنویس:


#include<iostream.h>
#include <windows.h>
#include<conio.h>
void main()
{
cout<<"press enter to continue"<<endl;
if(getch()==VK_RETURN)
cout<<"Enter pressed"<<endl;
}

daneshjo IT
شنبه 24 شهریور 1386, 09:21 صبح
مشکل من اینه.
مثلا بعضل جاها تو برنامه می نویسیم:
cout<<"Do you want to cantinue(y/n)?>>endl;
cin>>ans;
حالا جای اینکه y با n بگیره تا ادامه بده ، اینتر رو بزنیم تا ادامه بده. همین!
برای این که فقط با استفاده از کلید y یا n برنامه عملی را انجام بدهد می تونید از کد زیر استفاده کنید:



cout<<"do you want to countinue?(y/n"<<;
do{
ans=getche();
}while(ans!='y'&&ans!='n'&&ans!='Y'&&ans!='N');

emad_67
شنبه 24 شهریور 1386, 10:04 صبح
برای این قسمت می توانید از کد زیر استفاده کنید:



cout<<"do you want to countinue?(y/n"<<;
do{
ans=getche();
}while(ans!='y'&&ans!='n'&&ans!='Y'&&ans!='N');



در کد بالا تا زمانی که کاربر کلیدی به غیر از y یا n را بزند برنامه هیچ کاری انجام نمی دهد تا کاربر کلید درست را بزند.

سوال رو به نظرم اشتباه متوجه شدید. یه بار دیگه بخونید

creative
شنبه 24 شهریور 1386, 11:24 صبح
ممنون از همه دوستانی که من رو راهنمایی کردن.
من روش همه رو امتحان کردم. روشی که جواب داد روش آقا عماد بود. ممنون از شما.


#include<iostream.h>
#include <windows.h>
#include<conio.h>
void main()
{
cout<<"press enter to continue"<<endl;
if(getch()==VK_RETURN)
cout<<"Enter pressed"<<endl;
}