100분의 1초 단위로 현재 시각을 출력, C언어 소스
time 함수는 초 단위 시각을 구하는 함수
localtime은 초 단위 시각을 date time 시각으로 변환하는 함수
SetConsoleCursorPosition는 콘솔 커서 위치를 설정하는 함수
kbhit는 키를 눌렀는지 확인하는 함수
//100분의 1초 단위로 시각을 출력
#pragma warning(disable:4996)//4996경고 메시지 출력 해제
#include <time.h>//clock,time,localtime
#include <stdio.h> //printf
#include <conio.h>//kbhit
#include <Windows.h>//SetConsoleCursorPostion
void print_time(struct tm *now, int tail)
{
COORD CursorPosition = { 0,1 };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CursorPosition);
//현재 시각을 출력
printf("%2d시 %2d분 %2d초 %2d\n",
now->tm_hour, now->tm_min, now->tm_sec, tail);
}
int main(void)
{
clock_t sclock, nclock;//sclock:시작, nclock:현재(1/1000초 시간)
time_t seconds; //초단위 시각
struct tm *now; //date time 시각
int tail = 0;
printf("종료를 원하시면 아무키나 누르세요.\n");
sclock = clock();//시작 clock을 구합니다.
time(&seconds);//초단위 시각을 구합니다.
now = localtime(&seconds);//date time 시각을 구합니다.
print_time(now, tail); //현재 시간을 출력
while (1)
{
if (kbhit())//키를 누르면
{
break;//반복문 탈출
}
nclock = clock();
if (nclock - sclock >= (CLOCKS_PER_SEC / 100))//clock/100초와 크거나 같으면
{
tail++;
if (tail == 100)//1초가 지나면
{
tail = 0;
sclock = clock();
time(&seconds);//초단위 시각을 구합니다.
now = localtime(&seconds);//date time 시각을 구합니다.
}
print_time(now, tail); //현재 시간을 출력
}
}
printf("프로그램을 종료합니다.\n");
return 0;
}
'언어 자료구조 알고리즘 > C언어 예제' 카테고리의 다른 글
스택 - 고정 크기 버퍼, 정수 형식 보관, C언어 소스 (0) | 2016.04.03 |
---|---|
원형 연결리스트로 러시안룰렛, C언어 소스 (0) | 2016.04.03 |
3X3 퍼즐 게임, C언어 소스 (0) | 2016.04.03 |
앞 뒤가 똑같은 문장 회문(Palindrome), C언어 소스 (0) | 2016.04.03 |
반복문으로 차량 번호 알아맞추기, C언어 소스 (0) | 2016.04.03 |
큰 정수 사이의 덧셈, C언어 소스 (0) | 2016.04.03 |
C언어에서의 캡슐화, C언어 소스 (0) | 2016.04.03 |
암스트롱의 수, C언어 소스 (2) | 2016.04.03 |
피타고라스의 정리에 만족하는 수 구하기, C언어 소스 (0) | 2016.04.03 |
랜덤 값 맞추기, C언어 소스 (0) | 2016.04.03 |