Code Competitions

Coding competition

Tuesday, 14 May 2013

program to generate Analog Clock



//analog clock
#include<iostream.h>
#include<dos.h>
#include<malloc.h>
#include<conio.h>
#include<math.h>
#include<graphics.h>
#define pi 3.1427
void main()
{
    clrscr();
    int gd=DETECT,gm,xr,yr,theta,x,y;
    initgraph(&gd,&gm,"");
    cleardevice();
    setcolor(RED);
    int hh,mm,ss;
    struct time t;
    xr=getmaxx()/2;yr=getmaxy()/2;
    for(int j=230;j<=235;j++)
    {
    circle(xr,yr,j);
    }

    for(int i=0;i<60;i++)
    {
        x=210*cos((2*pi*i)/60)+xr;
        y=210*sin((2*pi*i)/60)+yr;
        if((i%5)==0)
        {
            for(int k=0;k<=7;k++)
            {
                setcolor(GREEN);
                arc(x,y,0,360,k);
            }
        }
        else
        {
            setcolor(YELLOW);
            for(int k=0;k<=3;k++)
            arc(x,y,0,360,k);
        }
    }
    getch();
    while(!kbhit())
    {
        //delay(1000);
        hh=t.ti_hour;
        mm=t.ti_min;
        ss=t.ti_sec;
        gettime(&t);
        setcolor(YELLOW);
        if(ss<15)
        {
        for(i=0;i<=140;i++)
        arc(xr,yr,90-ss*6,91-ss*6,i);
        }
        if(ss>=15)
        {
            for(i=0;i<=140;i++)
            arc(xr,yr,360-(ss-15)*6,361-(ss-15)*6,i);
        }
        setcolor(GREEN);
        if(mm<15)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,89-mm*6-ss/60,91-mm*6-ss/60,i);
        }
        if(mm>=15)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,359-(mm-15)*6,361-(mm-15)*6,i);
        }
        setcolor(RED);
        if(hh<3)
        {
            for(i=0;i<=100;i++)
             arc(xr,yr,87-(hh*30)-(mm/12.0)*6,93-(hh*30)-(mm/12.0)*6,i);
            //arc(xr,yr,87-(hh*30)-mm/12.0,93-(hh*30)-mm/12.0,i);
        }

        if(hh>=3)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,357-((hh-3)*30)-(mm/12.0)*6,363-((hh-3)*30)-(mm/12.0)*6,i);
            //arc(xr,yr,358-(hh-3)*30-mm/12.0,362-(hh-3)*30-mm/12.0,i);
        }
        sleep(1);
        setcolor(RED);
        for(j=0;j<7;j++)
        {
        arc(xr,yr,0,360,j);
        }
        setcolor(BLACK);
        if(ss<15)
        {
        for(i=0;i<=140;i++)
        arc(xr,yr,90-ss*6,91-ss*6,i);
        }
        if(ss>=15)
        {
            for(i=0;i<=140;i++)
            arc(xr,yr,360-(ss-15)*6,361-(ss-15)*6,i);
        }
            if(mm<15)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,89-mm*6,91-mm*6,i);
        }
        if(mm>=15)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,359-(mm-15)*6,361-(mm-15)*6,i);
        }
        if(mm>=15)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,359-(mm-15)*6,361-(mm-15)*6,i);
        }
        if(hh<3)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,87-(hh*30)-(mm/12.0)*6,93-(hh*30)-(mm/12.0)*6,i);
        }

        if(hh>=3)
        {
            for(i=0;i<=100;i++)
            arc(xr,yr,357-((hh-3)*30)-(mm/12.0)*6,363-((hh-3)*30)-(mm/12.0)*6,i);
        }

    }
}

No comments:

Post a Comment