U E D R , A S I H C RSS

시간맞추기/허아영

소 감

생각보다는 쉽게 코딩한 것 같은데 ,
-_- 모르는 함수를 찾아보는데 하루나 걸렸다.
그냥 코딩 하려다 보니까 쫌 의심쩍어서..;
책이란 책은 다 찾아봐도 간단한 설명뿐 자세한 건 알지 못해서 아쉽다.
kbhit()이란 함수 인데, 키가 눌러지면 1, 안 눌러지면 0을 리턴을 한다는 것만을 알아냈다.

그리고, 이 프로그램 . 나도 못 맞추겠다. 8초를 어떻게 딱!! 알아낸담 ㅋㅋㅋ
드디어 맞췄다 ! ㅋㅋ

소스

~cpp 
#include <stdio.h>
#include <conio.h>
#include <time.h>

void main()
{
	time_t record = 8;
	time_t start_t;
	start_t = time(0);
	printf("wait 8 seconds...\n");
	printf("and press any key exactly...");
	for( ; ; )
	{
		if (kbhit()){
			if(start_t - record == 0)
			{
				printf("You win !!\n");
			}else{
				printf("your time is off.");
			}
			break;
		}
			
	}	
	getch();
}
소스가 틀린 것 같다. 8초를 맞출수가 없다 ㅠ 틀린 점 알려주세요.
↓↓ 고치면
~cpp 
#include <stdio.h>
#include <conio.h>
#include <time.h>

void main()
{
	time_t record = 8;
	time_t start_t;
	start_t = time(0);
	printf("wait 8 seconds...\n");
	printf("and press any key exactly...");
	for( ; ; )
	{
		if (kbhit()){
			if(time(0) - start_t == record)
			{
				printf("You win !!\n");
			}else{
				printf("your time is off.");
			}
			break;
		}

	}
	getch();
}

드디어 맞췄다! ㅎ

나한테 할 말

~cpp 
#include <stdio.h> 
#include <conio.h> 
#include <time.h> 

void main() 
{ 
	time_t record = 8; 
	time_t start_t; 
	start_t = time(0); 
	printf("wait 8 seconds...\n"); 
	printf("and press any key exactly..."); 
	for( ; ; ) 
	{ 
		if (kbhit()){ 
			if(time(0)-start_t  == record-1 ) // 수정한 부분
			{ 
				printf("You win !!\n"); 
			}else{ 
				printf("your time is off."); 
			} 
			break; 
		} 
	}        
	getch(); 
} 
아까 올린 답변보다 진화한 답변..^^
최대한 아영이꺼에 가깝게 바꿨어.^^
time(0)을 계속 업데이트 하는 부분이 빠져있어서 고쳤고(time(0)-start_t 부분),
record로하면 9초가되어버리니( 0부터시작^^) -1을 붙였어.

그나저나 열심히 하는걸..^^ 힘내라구~ 아자아자 화이팅!!
나는 이만 가게일 도우러.. - 조현태

- 아.. 9초가 되어 버리는구나.. ㅎㅎ 이짜식~ 설마 내가 너보다 열씸히 하겠냐 ㅋㅋㅋ
0~1,->1초, 이렇게 해서,, record가 정확하게 8초 되더라 ㅎㅎ
- ㅎㅎㅎㅎ 그렇게 생각할 수도 있나아..ㅎㅎㅎ
음..그렇게 생각하니 그게 맞는것도 같네..ㅎㅎㅎ
그런데 time()함수를 사용한 방법에는 문제가 있는데 말이지..ㅎㅎ
사실 맨처음에 0 -> 1 이 되는순간이 0초에 극도로 가까울수도, 1초에 극도로 가까울 수도 있다는 거지..ㅎㅎㅎ
time()함수의 기능상의 문제점..ㅎㅎ 사실 이거말고 다른방법을 사용하는게 더 정확한데..ㅎㅎㅎ
다른 함수가 있는걸로 알고 있지만.. 뭐~~
에잇..모르겠다.ㅎㅎㅎ 아영이가 다 해결해주겠지..ㅎㅎ 난 잘래~^^ 하루종일 일하고 왔더니 피곤타.ㅎㅎ 그럼 수고 - 조현태
내가 얼핏 보기에는 clock() 함수도 프로그램 시작하고 시간을 제는 것이라고 들었는데, 어떻게 쓰는걸까? - 허아영
음.. clock_t라는 time_t랑 비슷한 변수를 만들고 변수명=clock() 라고하면 프로그램이 시작된 뒤부터 지나간 시간이 기록되는군.. 그런데 함수의 특성상 정확한 시간을 나타내지는 않는다는 단점이..;;ㅁ;; - 조현태
정확한 시간이라. 애매하다 그치 ㅋㅋ 아참. 문제 올려줄께 ~ 이번주 세문제가 안되었네 . -허아영



Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-05-27 07:09:19
Processing time 0.0936 sec