C program to print digital clock
C program to print digital clock
This program is written in C Language using graphics. This will show day, month, date, current time and year as output.
Logic for the digital clock program
- Initialize hour, minute, seconds with 0.
- Run an infinite loop.
- Increase second and check if it is equal to 60 then increase minute and reset second to 0.
- Increase minute and check if it is equal to 60 then increase hour and reset minute to 0.
- Increase hour and check if it is equal to 24 then reset hour to 0.
Let’s see the source code of the program
#include <graphics.h>
#include <time.h>
// driver code
int main()
{
// DETECT is a macro defined in
// “graphics.h” header file
int dt = DETECT, gmode, midx, midy;
long current_time;
char strtime[30];
// initialize graphic mode
initgraph(&dt, &gmode, “”);
// to find mid value in horizontal
// and vertical axis
midx = getmaxx() / 2;
midy = getmaxy() / 2;
// set current colour to white
setcolor(WHITE);
// make a rectangular box in
// the middle of screen
rectangle(midx – 200, midy – 40, midx + 200,
midy + 40);
// fill rectangle with white color
floodfill(midx, midy, WHITE);
while (!kbhit()) {
// get current time in seconds
current_time = time(NULL);
// store time in string
strcpy(strtime, ctime(¤t_time));
// set color of text to red
setcolor(RED);
// set the text justification
settextjustify(CENTER_TEXT, CENTER_TEXT);
// to set styling to text
settextstyle(SANS_SERIF_FONT, HORIZ_DIR, 3);
// locate position to write
moveto(midx, midy);
// print current time
outtext(strtime);
}
getch();
// deallocate memory for graph
closegraph();
}