//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