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(); }