#
include<graphics.h>#include<math.h>#include<dos.h>#define PI 3.1415926//屏幕中心的坐标(640X480模式bai下)#define mid_x 320#define mid_y 240int main(){ int graph
driver=DETECT,graphmode;int end_x,end_y;struct time curtime;fl
OAT th_hour,th_min,th_sec;initgraph(&graphdriver,&graphmode,"C:\\TC2"); //初始化
VGA屏幕模式setbkcolor(BLACK); //使用黑色的背景色while(!kbhit(0)) //若有键盘输入,则跳出,即是结束程序{ s
ETColor(GREEN); //把画笔设为绿色circle(mid_x,mid_y,180); //钟的外圆circle(mid_x,mid_y,150); //钟的内圆circle(mid_x,mid_y,1); //画出钟的圆心gettime(&curtime); //取得系统当前时间th_sec=(float)curtime.ti_sec*0.1047197551; //把秒针的角度化为弧度,为以后绘制时方便,下同th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0; //分针的弧度th_hour=(float)curtime.ti_hour*0.5235987755+th_min/12.0; //时度的弧度,注意整时是12等分的,所时乘的是3.14/180*5//计算出时针的尾的坐标(时针长70)end_x=mid_x+70*sin(th_hour);end_y=mid_y-70*cos(th_hour);setcolor(RED);line(mid_x,mid_y,end_x,end_y); //用红色线画出时针//计算出分针坐标(分针长110)end_x=mid_x+110*sin(th_min);end_y=mid_y-110*cos(th_min);setcolor(RED);line(mid_x,mid_y,end_x,end_y); //用红色画出分针end_x=mid_x+140*sin(th_sec);end_y=mid_y-140*cos(th_sec);setcolor(RED);line(mid_x,mid_y,end_x,end_y); //同上,画出秒针,长为140//画出钟盘上的刻度,刻度长20line(140,240,160,240); //9点对应的大刻度line(320,60,320,80); //12点对应的大刻度line(500,240,480,240); //3点的刻度line(320,420,320,400); //6点的刻度line(410,395.7,400,378.4); //5点line(475.7,330,458.4,320); //4点line(475.7,150,458.4,160); //2点line(410,84.3,400,101.6); //1点line(230,84.3,240,101.6); //11点line(164.3,150,181.6,160); //10点line(164.3,330,181.6,320); //8点line(230,395.7,240,378.4); //7点sleep(BLUE); //这里应该是打错,停止一秒,应为sleep(1000)clear
device(); //清除屏幕上的显示}closegraph(); //关闭VGA屏幕,即返回文本方式
return 0