想做时钟加日历,该如何解决

想做时钟加日历
#include   "stdio.h "
#include   "graphics.h "
#include   "math.h "
#include   "dos.h "
#define   pi   3.1415926
#define   mid_x   160
#define   mid_y   240
#define   X(a,b,c,d,e)   x=a*sin(pi-((b*c+360/e*d/60)*pi/180))+160
#define   Y(a,b,c,d,e)   y=a*cos(pi-((b*c+360/e*d/60)*pi/180))+240
#define   L(a,b,c,d,e)   X(a,b,c,d,e);Y(a,b,c,d,e);line(160,240,x,y)
void   intdraw()
{
int   m,l,x1,x2,y1,y2;
setcolor(2);
        line(20,80,620,80);
      line(20,80,20,400);
      line(20,400,620,400);
      line(620,400,620,80);
      setcolor(3);
      circle(mid_x,mid_y,130);
        circle(mid_x,mid_y,134);
circle(mid_x,mid_y,1);
for(m=0;m <60;m++)
{
if(m%5==0)   l=10;
else   l=4;
x1=130*cos(m*6*pi/180)+mid_x;
y1=130*sin(m*6*pi/180)+mid_y;
x2=(130-l)*cos(m*6*pi/180)+mid_x;
y2=(130-l)*sin(m*6*pi/180)+mid_y;
        line(x1,y1,x2,y2);
}
}

main()
{
int   graphdriver=DETECT,graphmode;
struct   time   curtime;
int   x,y;
double   h,m,s;
initgraph(&graphdriver,&graphmode, "c:\\tc ");
setbkcolor(0);
while(!kbhit(0))
      {
        intdraw();
        gettime(&curtime);
        h=curtime.ti_hour;
        m=curtime.ti_min;
        s=curtime.ti_sec;
        setcolor(10);
        L(70,h,30,m,12.0);
        setcolor(12);
        L(90,m,6,s,60.0);
        setcolor(8);
        L(120,s,6,0,1.0);
        sleep(1);
        clrscr();
  }
  getch();
  closegraph();
}时钟
void   clear(int   x1,int   y1,int   x2,int   y2,int   c);
void   show_mouse()      
    {      
    union   REGS   ireg;      
    ireg.x.ax=1;      
    int86(0x33,&ireg,&ireg);      
    }      
       
    void   hid_mouse()      
    {      
    union   REGS   ireg;      
    ireg.x.ax=2;      
    int86(0x33,&ireg,&ireg);      
    }      
void   main()
{
int   y,m,d,k,r,i,p,h,l,tj=1;
int   a[]={31,28,31,30,31,30,31,31,30,31,30,31};
char   *b[]={ "Sun ", "Mon ", "Tue ", "Wed ", "Thr ", "Fri ", "Sat "};
char   buff[960];
struct   date   sysdate;
getdate(&sysdate);
y=sysdate.da_year;
m=sysdate.da_mon;
l=wherex();
h=wherey();
gettext(21,1,59,11,buff);
hid_mouse();
while(tj)
{
    clear(21,1,59,11,BLUE);
    gotoxy(34,2);
    textcolor(WHITE);