www.pudn.com > TUER.rar > TUER.c


 
/*大屏幕显示数字时钟*/ 
/*要求屏幕按640*480分辩率显示数字时钟,格式为12:18:30,表示12点18分30秒,共8个字符;*/ 
/*每个字符以80*100点阵显示,记时真确*/ 
 
#include 
#include 
#include 
#include 
 
#include 
#define pi 3.1415926 
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300; 
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240; 
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) 
 
void init() 
{  int i,l,x1,x2,y1,y2; 
    time_t tt; 
 
     setcolor(10); 
     settextstyle(0,0,1);   /*三重笔划字体, 水平放大3倍*/ 
 
 
   setbkcolor(9); 
   circle(300,240,200); 
   circle(300,240,201); 
   circle(300,240,202); 
   circle(300,240,203); 
   circle(300,240,204); 
   circle(300,240,205); 
   circle(300,240,5); 
   circle(300,240,4); 
   circle(300,240,180); 
 
 
  for(i=0;i<60;i++) 
    {if(i%5==0) l=15; 
       else l=5; 
     x1=200*cos(i*6*pi/180)+300; 
     y1=200*sin(i*6*pi/180)+240; 
     x2=(200-l)*cos(i*6*pi/180)+300; 
     y2=(200-l)*sin(i*6*pi/180)+240; 
setlinestyle(0,0,3); 
     line(x1,y1,x2,y2);/*画一条从(x1,y1)到(x2,y2)的直线*/ 
   } 
} 
 
main() 
{int gdriver, gmode; 
 int x,y,p,n; 
 time_t tt; 
   int gd=VGA,gm=2; 
  unsigned char h,m,s; 
   struct time t[1]; 
   initgraph(&gd,&gm,"f:\\tc"); 
          gdriver=VGA; 
          gmode=VGAHI; 
	  initgraph(&gdriver, &gmode, "f:\\tc"); 
	  setcolor(12);       /*作图色为淡红*/ 
	  settextstyle(1, 0, 1);/*三重笔划字体, 放大8倍*/ 
	  p=getmaxx(); 
	  n=getmaxy(); 
	  outtextxy(7*p/15, n/6, "12"); 
	  setcolor(12); 
	  settextstyle(1, 0, 1); /*无衬字笔划, 放大5倍*/ 
	  outtextxy(7*p/15, 4*n/5, "6"); 
	  settextstyle(1, 0, 1); 
	  outtextxy(p/5, n/2, "9"); 
	  settextstyle(1,0,1); 
	  outtextxy(5*p/7,n/2,"3"); 
 
 
   init(); 
   setwritemode(1); 
   gettime(t); 
   h=t[0].ti_hour; 
   m=t[0].ti_min; 
   s=t[0].ti_sec; 
   setcolor(7); 
   d(130,h,30); 
   setcolor(14); 
   d(160,m,6); 
   setcolor(4); 
   d(180,s,6); 
  while(!kbhit()) 
{   time(&tt); 
    outtextxy(200,450,ctime(&tt)); 
    while(t[0].ti_sec==s) 
    gettime(t); 
    sound(400); 
   delay(70);/*延迟70毫秒*/ 
   sound(200); 
   delay(30); 
   nosound(); 
   setcolor(4); 
   d(180,s,6); 
   s=t[0].ti_sec; 
   d(180,s,6); 
   if (t[0].ti_min!=m) 
  { 
    setcolor(14); 
    d(160,m,6); 
    m=t[0].ti_min; 
    d(160,m,6); 
    } 
   if (t[0].ti_hour!=h) 
{  setcolor(7); 
    d(130,h,30); 
    h=t[0].ti_hour; 
   d(130,h,30); 
   sound(1000); 
   delay(240); 
   nosound(); 
   delay(140); 
   sound(2000); 
   delay(240); 
   nosound(); 
   } 
} 
getch(); 
closegraph(); 
}