Making Analogue Clock with C-Language using Graphics
January 1, 2020
Hi Friends here is another small project Analogue Clock made with C-Language. Here I have used Graphics of turbo C, and for the hand of houres and minute and second use pie slice.
Screenshot:
Code for Analogue Clock.
#include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> #include<alloc.h> #include<dos.h> #include<graphics.h> void main(void) { char choice; /*--variable for input choice--*/ int gdriver =DETECT, gmode; /*--select driver & mode--*/ float red1=100,stan=90,endan=91,mred=80,hred=50,mstar=90,mend=92,hstar=60,hend=63; int md=300,sd=17,hd=1,red=90; struct time t; gettime(&t); stan=stan-(t.ti_sec*6); stan=stan-16; endan=stan+1; mstar=mstar-(t.ti_min*6); mstar=mstar-2; mend=mstar+2; hstar=hstar-(t.ti_hour*30); hstar=hstar-(t.ti_min*0.1)+14; hend=hstar+3; clrscr(); initgraph(&gdriver, &gmode, "c:\\TURBOC3/BGI/"); //Change as per your turbo C Graphics Path /*--initialized driver--*/ setfillstyle(SOLID_FILL,WHITE); bar(0,0,getmaxx(),getmaxy()); setfillstyle(SOLID_FILL,BLUE); // bar(3,1,635,17); setfillstyle(SOLID_FILL,LIGHTBLUE); setcolor(RED); outtextxy(getmaxx()/2-10,130,"12"); outtextxy(210,getmaxy()/2,"9"); outtextxy(getmaxx()/2-10,340,"6"); outtextxy(420,getmaxy()/2,"3"); circle(getmaxx()/2,getmaxy()/2,red1+11); setcolor(WHITE); while(!kbhit()) { gettime(&t); gotoxy(3,10); printf("time is: %2d:%02d:%02d.%02d\n",t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund); setfillstyle(SOLID_FILL,LIGHTBLUE); fillellipse(getmaxx()/2,getmaxy()/2,red1,red1); setcolor(YELLOW); outtextxy(280,getmaxy()/2-50,"Subu Watch"); setcolor(WHITE); setfillstyle(SOLID_FILL,RED); pieslice(getmaxx()/2,getmaxy()/2,stan,endan,red); pieslice(getmaxx()/2,getmaxy()/2,mstar,mend,mred); pieslice(getmaxx()/2,getmaxy()/2,hstar,hend,hred); delay(1000); setfillstyle(SOLID_FILL,LIGHTGREEN); setcolor(YELLOW); outtextxy(280,getmaxy()/2-50,"Subu Watch"); setcolor(WHITE); pieslice(getmaxx()/2,getmaxy()/2,stan,endan,red); pieslice(getmaxx()/2,getmaxy()/2,mstar,mend,mred); pieslice(getmaxx()/2,getmaxy()/2,hstar,hend,hred); stan=stan-6; endan=endan-6; mstar=mstar-0.1; mend=mend-0.1; hstar=hstar-(0.1/60); hend=hend-(0.1/60); } getch(); }
The following two tabs change content below.
Subroto Mondal
Chief Coordinator HR&CR
I like Programming and New Technologies. And work with Linux.
Latest posts by Subroto Mondal (see all)
- Installing and Configuring OpenShift: A Step-by-Step Guide for Linux Experts with Terminal Code - February 19, 2023
- Sed Command in Linux with Practical Examples - February 19, 2023
- Rsync Command uses with examples - February 19, 2023