當前位置:編程學習大全網 - 編程語言 - C語言電子時鐘設計

C語言電子時鐘設計

#include<graphics.h> #include<math.h> #include<dos.h> #define PI 3.1415926 //屏幕中心的坐標(640X480模式下) #define mid_x 320 #define mid_y 240 int main() { int graphdriver=DETECT,graphmode; int end_x,end_y; struct time curtime; float th_hour,th_min,th_sec; initgraph(&graphdriver,&graphmode,"C:\\TC2"); //初始化VGA屏幕模式 setbkcolor(BLACK); //使用黑色的背景色 while(!kbhit(0)) //若有鍵盤輸入,則跳出,即是結束程序 { setcolor(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 //畫出鐘盤上的刻度,刻度長20 line(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) cleardevice(); //清除屏幕上的顯示 } closegraph(); //關閉VGA屏幕,即返回文本方式 return 0; }

  • 上一篇:伺服電機和步進電機的區別有哪些
  • 下一篇:c序列號編程
  • copyright 2024編程學習大全網