time()함수에 대해 알아 봅시다.

 

 

time()   -   시간을 알려주는 함수로써 그리니치 표준시 (GMT)로부터 1970년 1월 1일 0시부터의 경과 시간을 초 단위로 알려준다.

Sleep()   -  지정된 밀리세컨드 동안 프로그램 실행을 일시적으로 정지시키는 역할을 한다(1000 - 1초를 의미한다.)

System()   -   콘솔 명령어를 사용할 수 있도록 해주는 함수

                       예) system("cls");   화면을 지움

                            system("dir");  폴더를 보여줌

gotoxy()  -  x, y 값에 따라 커서를 이동시켜 주는 함수

printf()   -  형식화된 출력을 표준 출력으로 출력하는 함수

                     형식 지정자로는 %d, %i, %o, %u, %x, %f, %e, %c, %s 등을 사용할 수 있다.

 

 

[ time 함수 예제 ] 다음 프로그램을 3초가 지나면 자동으로 프로그램이 종료됩니다

#include  <stdlib.h>
#include  <conio.h>
#include  <time.h>

void gotoxy(int x, int y) 
{ 
    COORD NewPos={x, y}; 
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),NewPos); 
} 

int main() 
{ 
    time_t t; 
    int d; 
    t = time(0);      //현재시간이 저장됩니다.

    // 시간은 계속 지나갑니다.
    // 저장해두었던 시간(t)에서 현재시간을 빼주면 지나간 시간을 구할수 있습니다.
    do{ 
        if(time(0) - t == 3)   
        {  
               printf("\n\n3초가 지났습니다\n"); 
               break; 
        } 
        printf("*"); 
        Sleep(100); 
    }while(1); 
    return 0; 
}

 

 프로그램이 실행되면 현재시간을 변수 t에 저장합니다.

  시간을 계속 지나가니 현재시간이 계속 바뀌겠죠?

그럼 현재시간에서 프로그램 실행될때 저장된 시간(변수 t)을 빼주면 지나간 시간을 구할수 있습니다.

 

 

[ time 함수 예제 ]  다음과 같이 실행되는 프로그램을 작성하세요.

 

※ 20초부터 시작해서 1초씩 줄어듭니다. 0초가 되면 프로그램이 종료됩니다.

 

 

 

#include <conio.h>
#include <time.h>
#include <stdio.h>
#include <windows.h>
void gotoxy(int x, int y)
{
	COORD CursorPosition={x, y};
	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CursorPosition);
}
int main()
{
	time_t t;
	int i, d; 
	t = time(0);
	do{
		gotoxy(10, 10);
		printf("남은 시간:%d초", 20-(time(0)-t)); 
		gotoxy(10, 13);
		for(i=0;i<20-(time(0)-t);i++)
		{
			printf("■");
		}
		Sleep(1000);
		system("cls");
		
		if(20-(time(0)-t)==0)
		{
			break;
		}
	}while(1); 
	return 0;
}
Posted by 명문코딩컴퓨터
,