PDA

View Full Version : خارج شدن از برنامه فقط با کلید enter



ali7100
جمعه 01 بهمن 1389, 10:50 صبح
آیا می شود برنامه را پس از اجرا ،کاری کردکه فقط با زدن کلید enterخارج شود؟

tdkhakpur
جمعه 01 بهمن 1389, 11:53 صبح
این قسمت رو قبل از آخرین آکولاد بسته قرار بده.


while(getch()!=13);

Salar Ashgi
جمعه 01 بهمن 1389, 21:20 عصر
یک مثال :


#include <iostream>
#include <conio>
#include <stdlib>
int main(){
char ch = cin.get();
if(ch=='\n')
exit(0);
else
cout<<ch<<endl;
getch();
}


موفق باشید ./

ghasemweb
شنبه 02 بهمن 1389, 01:50 صبح
با احترام به اساتيد ميتوني از تكه كد زير هم استفاده كني كه به نظر من حرفه اي تره :


#include <iostream.h>
#include <conio.h>

void main()
{

int k=0;
while(1)
{
if(kbhit())
{
k=getch();
if(k==13)
break; // or exit(0);
}
}


}

tdkhakpur
یک شنبه 03 بهمن 1389, 00:57 صبح
با احترام به اساتيد ميتوني از تكه كد زير هم استفاده كني كه به نظر من حرفه اي تره :


#include <iostream.h>
#include <conio.h>

void main()
{

int k=0;
while(1)
{
if(kbhit())
{
k=getch();
if(k==13)
break; // or exit(0);
}
}


}
لازم به توضیحه که کاربر میتونه کلیدهای توسعه یافته رو هم فشار بده به همین دلیل باید روی این گزینه ها هم دقت عمل نشان داد تا برنامه دقت لازم رو داشته باشه یعنی کد ارسال شده بالا برای اینکه بطور اصولی به کار برده بشه بصورت زیر باید اصلاح بشود.


#include <iostream.h>
#include <conio.h>

void main()
{

int k=0;
while(1)
{
if(kbhit())
{
k=getch();
if(k==0 )
k = getch();
if(k==13)
break; // or exit(0);
}
}
}

ghasemweb
یک شنبه 03 بهمن 1389, 10:28 صبح
كليد توسعه ياقته يعني چي ميشه بيشتر توضيح بدي كه مشكل كد اول چيه منظورم قطعه كديه كه بنده گذاشتم

tdkhakpur
یک شنبه 03 بهمن 1389, 12:32 عصر
كليد توسعه ياقته يعني چي
توسعه یافته به کلیدهایی گفته میشه که وقتی شما از getch برای باز گرداندن کد کلیدها استفاده میکنید دارای دو کد هستند اولی اسکی و دومی اسکن که برای این نوع کلیدها کد اسکی برابر 0 هست به همین دلیل به هنگان استفاده از این کلیدها مجبور هستید دو بار از getch استفاده کنید تا کد کلید را بدست بیارید.


ميشه بيشتر توضيح بدي كه مشكل كد اول چيه منظورم قطعه كديه كه بنده گذاشتم

مشکل نداشت فقط اگر کلید توسعه یافته فشار داده میشد حلقه شما با فشار این نوع کلیدها دوبار اجرا میشه.

amir.bakhtiari
دوشنبه 09 اسفند 1389, 11:59 صبح
#include<stdio.h>
#include<conio.h>
int main()
{
int charcnt=0, digitcnt=0;
char ch;
clrscr();
printf("\nEnter a statement(ENTER):");
while(ch = getche()) != '\r')
{
charcnt ++;
if(ch >= 48 && ch <= 57)
digitcnt++;
}
printf("\ncharcount=%d, digitcount=%d",charcnt,digitcnt);
getch();
return 0;
}

برنامه ای که کاراکترهای ورودی را خوانده - تعداد اعداد ورودی را هم میخواند.
و با ENTER از برنامه خارج میشود.

قسمتی که از حلقه خارج میشود.
ch=getche() != '/r'