#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
#define pi 3.1415926535
void drawClock();
void drawHourHand(int, int, int);
void drawMinuteHand(int, int, int);
void drawSecondHand(int, int, int);
int main()
{
int gd = DETECT, gm;
int hr, min, sec;
initgraph(&gd, &gm, "C:\\Turboc3\\BGI");
while (!kbhit())
{
struct tm *ptr;
time_t lt;
lt = time(NULL);
ptr = localtime(<);
hr = ptr->tm_hour;
min = ptr->tm_min;
sec = ptr->tm_sec;
drawClock();
drawHourHand(hr, min, sec);
drawMinuteHand(min, sec, hr);
drawSecondHand(sec, min, hr);
delay(1000);
cleardevice();
}
closegraph();
return 0;
}
void drawClock()
{
setcolor(RED);
circle(250, 250, 200);
for (int i = 0; i < 360; i += 6)
{
if (i % 30 == 0)
{
setcolor(WHITE);
line(250 + (180 cos(i (pi / 180))), 250 + (180 sin(i (pi / 180))),
250 + (200 cos(i (pi / 180))), 250 + (200 sin(i (pi / 180))));
}
else
{
setcolor(YELLOW);
line(250 + (190 cos(i (pi / 180))), 250 + (190 sin(i (pi / 180))),
250 + (200 cos(i (pi / 180))), 250 + (200 sin(i (pi / 180))));
}
}
}
void drawHourHand(int hr, int min, int sec)
{
int angle;
angle = 90 - (30 * hr + min / 2);
setcolor(WHITE);
line(250, 250, 250 + 50 cos(angle (pi / 180)), 250 - 50 sin(angle (pi / 180)));
}
void drawMinuteHand(int min, int sec, int hr)
{
int angle;
angle = 90 - (6 * min + sec / 10);
setcolor(YELLOW);
line(250, 250, 250 + 70 cos(angle (pi / 180)), 250 - 70 sin(angle (pi / 180)));
}
void drawSecondHand(int sec, int min, int hr)
{
int angle;
angle = 90 - 6 * sec;
setcolor(GREEN);
line(250, 250, 250 + 90 cos(angle (pi / 180)), 250 - 90 sin(angle (pi / 180)));
}