#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void) {
int answer;
int time1;
int i;
time1=time(0);
printf("퀴즈");
while(time(0)-time1<=2){
putch(getch());
}
printf("시간초과");
return 0;
}
이렇게 대충 짜봤는데요
2초동안 사용자가 입력을 할 수 있는데,
이렇게 짜면 문제가 입력이 들어와야 while문이 수행 되면서 시간 제한을 할 수 있더라구요
두가지 문제가 있는데,
1. 입력을 안하면 while문의 조건식으로 돌아가지 않아서 시간제한을 할 수 없어요.
입력을 하지 않더라도 시간을 제한 두고 싶은데 도무지 방법을 모르겠어요.
2. 입력을 해도, 2초 이내에 입력한 다음 가만히 있으면 1번 문제처럼 while문의 조건식으로 돌아가지 않아 시간제한을 할 수 없어요.
인터넷에 계속 검색해봤는데, 도무지 찾을수가 없어요. 영어 하나하나 번역해가면서 읽어봐도 찾는 내용이 없고...
c언어가 1줄 1줄 읽는 언어고,
다중 쓰레드를 이용해야 한다고 하고, select 함수를 쓰거나 kbhit함수를 써서 구현하기도 한다고 하는데,
과제 내용 상 배운 내용 이내에서 구현해야 한다고 해서 쓰지를 못하겠어요.
교수님께서는 sleep함수를 가르쳐주시면서 과제에 쓰인다고 하셨는데, sleep함수를 쓰면 sleep되어있는동안 입력되어 있는 값이 버퍼에 저장되어있어서 쓰는동안 보이지가 않네요.
(과제는 타자게임을 구현하는데, 입력시간 이내에 타자를 쳐야 하는거예요.)
진짜 제가 할 수 있는 것은 다 해봤는데, 진짜 저 위의 코드가 제가 할 수 있는 최선이예요 ㅜㅜ
제발 도와주세요