[C언어 소스] 디지털 시계
#include <Windows.h>
#include <stdio.h>
#include <time.h>
#include <conio.h>
char*digits[10][5][4]=//0~9까지 출력할
정보
{
{
{"■","■","■","■"},
{"■"," "," ","■"},
{"■"," "," ","■"},
{"■"," "," ","■"},
{"■","■","■","■"}
},
{
{" "," "," ","■"},
{" "," "," ","■"},
{" "," "," ","■"},
{" "," "," ","■"},
{" "," "," ","■"}
},
{
{"■","■","■","■"},
{" "," "," ","■"},
{"■","■","■","■"},
{"■"," "," "," "},
{"■","■","■","■"}
},
{
{"■","■","■","■"},
{" "," "," ","■"},
{"■","■","■","■"},
{" "," "," ","■"},
{"■","■","■","■"}
},
{
{"■"," ","■"," "},
{"■"," ","■"," "},
{"■","■","■","■"},
{" "," ","■"," "},
{" "," ","■"," "}
},
{
{"■","■","■","■"},
{"■"," "," "," "},
{"■","■","■","■"},
{" "," "," ","■"},
{"■","■","■","■"},
},
{
{"■"," "," "," "},
{"■"," "," "," "},
{"■","■","■","■"},
{"■"," "," ","■"},
{"■","■","■","■"}
},
{
{"■","■","■","■"},
{"■"," "," ","■"},
{"■"," "," ","■"},
{" "," "," ","■"},
{" "," "," ","■"}
},
{
{"■","■","■","■"},
{"■"," "," ","■"},
{"■","■","■","■"},
{"■"," "," ","■"},
{"■","■","■","■"}
},
{
{"■","■","■","■"},
{"■"," "," ","■"},
{"■","■","■","■"},
{" "," "," ","■"},
{" "," "," ","■"}
}
};
int sx[6]={0,10,24,34,48,58};//시분초를 출력할 x좌표
char *colons[5]={ " ","■"," ","■"," "};
int sx2[6]={20,44};//콜론을 출력할
좌표
void gotoxy(int x,int y)
{
COORD Pos = {x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}
//dn자리에 정수 n을 출력하는
함수
void DrawNum(int dn,int n)
{
int y,x;
for(y=0;y<5;y++)
{
for(x=0;x<4;x++)
{
gotoxy(sx[dn]+x*2,y);
printf("%s",digits[n][y][x]);
}
printf("\n");
}
}
//콜론을 출력하는함수 n이 0이면
시와
분사이, 1이면 분과
초사이
void DrawColon(int n)
{
int y=0;
for(y=0;y<5;y++)
{
gotoxy(sx2[n],y);
printf("%s\n",colons[y]);
}
}
//시간을 출력하는함수
void DrawTime(int h,int m,int s)
{
DrawNum(0,h/10);//시의 앞자리
DrawNum(1,h%10);//시의 뒷자리
DrawColon(0);//콜론
DrawNum(2,m/10);//분의 앞자리
DrawNum(3,m%10);//분의 뒷자리
DrawColon(1);//콜론
DrawNum(4,s/10);//초의 앞자리
DrawNum(5,s%10);//초의 뒷자리
}
int main(void)
{
time_t now,before;
struct tm nt;
gotoxy(0,8);
printf("아무키나 누르면 프로그램 종료");
now = before = time(0); //초 단위
시간을
구함
localtime_s(&nt,&now); //지역 시각을
구함
DrawTime(nt.tm_hour,nt.tm_min,nt.tm_sec);//현재 시각을
출력
while(kbhit()==0)
{
now
= time(0);//초단위
시간을
구함
if(now !=
before)//다르면
{
before
= now;//현재
초단위
시간을
기억
localtime_s(&nt,&now);//지역 시각을
구함
DrawTime(nt.tm_hour,nt.tm_min,nt.tm_sec);//현재 시각을
출력
}
}
return 0;
}
'언어 자료구조 알고리즘 > C언어 예제' 카테고리의 다른 글
abc+cca=1ab2, C언어 소스 (0) | 2016.04.03 |
---|---|
소수인지 판별, C언어 소스 (0) | 2016.04.03 |
이차 방정식 해 구하기, C언어 소스 (2) | 2016.04.03 |
균형 원소 찾기, C언어 소스 (0) | 2016.04.03 |
[C언어 소스] 로또 발생기 (0) | 2016.04.03 |
[C언어 소스] 학생 성적 관리 프로그램 - 이중 연결리스트 (0) | 2016.04.03 |
[C언어 소스] 성적 관리 프로그램 - 학생 데이터 동적 메모리 할당 (0) | 2016.04.03 |
[C언어 소스] 성적 관리 프로그램 - 동적 메모리 할당 (0) | 2016.04.03 |
[C언어 소스] 성적 관리 프로그램 - 전역 변수 사용 (0) | 2016.04.03 |
[C언어 소스] 대소문자 변환 (0) | 2016.04.03 |