PDA

View Full Version : نوشتن برنامه با استفاده از timer



Fire_Falcon
چهارشنبه 29 اردیبهشت 1389, 12:57 عصر
کسی از دوستان میتونه یه برنامه بنویسه که در زمان cin شدن اگه بیشتر از 3 ثانیه طول کشید بوق بزنه یا کار دیگه ای بکنه؟؟؟؟؟

tdkhakpur
چهارشنبه 29 اردیبهشت 1389, 13:15 عصر
5 ثانیه صبر میکند تا شما تایپتان را تمام کنید.


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

void GetStr(char *str, int len, int second )
{
struct time t;
int c=0, x=40, y=12;
gettime(&t);
second += (t.ti_min*60+t.ti_sec);
while( c<len && (t.ti_min*60+t.ti_sec)<=second ){
if( kbhit() ){
str[c] = getch();
if(str[c]==13 ){
str[c] = 0;
break;
}
gotoxy(x++, y);
printf("%c", str[c]);
C++‎;
}
gotoxy(1, 1);
printf("%d", second-(t.ti_min*60+t.ti_sec));
gettime(&t);
}
}
int main()
{
char str[20]={0};
GetStr(str, 15, 5);
printf("\nout put is :%s", str);
getch();
return 0;
}

Fire_Falcon
چهارشنبه 29 اردیبهشت 1389, 13:27 عصر
5 ثانیه صبر میکند تا شما تایپتان را تمام کنید.


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

void GetStr(char *str, int len, int second )
{
struct time t;
int c=0, x=40, y=12;
gettime(&t);
second += (t.ti_min*60+t.ti_sec);
while( c<len && (t.ti_min*60+t.ti_sec)<=second ){
if( kbhit() ){
str[c] = getch();
if(str[c]==13 ){
str[c] = 0;
break;
}
gotoxy(x++, y);
printf("%c", str[c]);
C++‎‎;
}
gotoxy(1, 1);
printf("%d", second-(t.ti_min*60+t.ti_sec));
gettime(&t);
}
}
int main()
{
char str[20]={0};
GetStr(str, 15, 5);
printf("\nout put is :%s", str);
getch();
return 0;
}






با تشکر از شما دوست عزیز
ولی ان اول منتظر میمونه
من میخوام که اول در خواست cin بده اگه هیچ داده ای وارد نشد بوق بزنه اگه وارد شد ادامه برنامه مثلا یه داده ای رو چاپ کنه

tdkhakpur
چهارشنبه 29 اردیبهشت 1389, 13:40 عصر
خب این همان خواسته شماست ولی می توانید خواسته خودتان را با بررسی خروجی در str بدست بیارید به این شکل.


int main()
{
char str[20]={0};
gotoxy(32, 11);
printf("enter your sata >");
GetStr(str, 15, 5);
if( str[0] == 0 )
printf("\nnothing entered.");
else
printf("\nout put is :%s", str);
getch();
return 0;
}

tdkhakpur
چهارشنبه 29 اردیبهشت 1389, 18:17 عصر
اگر منظورتان در حالت کلی برای پرش از دستورات استاندارد باشه باید بافر صفحه کلید را کنترل کنید در این صورت از cin هم میتوانید عبور کنید.