钟表

本文介绍了一个使用C语言实现的简单时钟程序。该程序利用了graphics.h等库来绘制带有时针、分针和秒针的时钟,并通过不断更新时间来显示实时的时间。系统时间被用于更新时钟指针的位置。
 1 #include <graphics.h>
 2 #include <conio.h>
 3 #include <math.h>
 4 #define PI 3.14159265359
 5 void Draw(int hour, int minute, int second)
 6 {
 7 double a_hour, a_min, a_sec;
 8 // 时、分、秒针的弧度值
 9 int x_hour, y_hour, x_min, y_min, x_sec, y_sec;
10 // 时、分、秒针的末端位置
11 // 计算时、分、秒针的弧度值
12 a_sec = second * 2 * PI / 60;
13 a_min = minute * 2 * PI / 60 + a_sec / 60;
14 a_hour= hour * 2 * PI / 12 + a_min / 12;
15 // 计算时、分、秒针的末端位置
16 x_sec = 320 + (int)(120 * sin(a_sec));
17 y_sec = 240 - (int)(120 * cos(a_sec));
18 x_min = 320 + (int)(100 * sin(a_min));
19 y_min = 240 - (int)(100 * cos(a_min));
20 x_hour= 320 + (int)(70 * sin(a_hour));
21 y_hour= 240 - (int)(70 * cos(a_hour));
22 // 画时针
23 setlinestyle(PS_SOLID, 10, NULL);
24 setlinecolor(WHITE);
25 line(320, 240, x_hour, y_hour);
26 // 画分针
27 setlinestyle(PS_SOLID, 6, NULL);
28 setlinecolor(LIGHTGRAY);
29 line(320, 240, x_min, y_min);
30 // 画秒针
31 setlinestyle(PS_SOLID, 2, NULL);
32 setlinecolor(RED);
33 line(320, 240, x_sec, y_sec);
34 }
35 void main()
36 {
37 initgraph(640, 480);
38 // 初始化 640 x 480 的绘图窗口
39 // 绘制一个简单的表盘
40 circle(320, 240, 2);
41 circle(320, 240, 60);
42 circle(320, 240, 160);
43 outtextxy(296, 310, _T("BestAns"));
44 // 设置 XOR 绘图模式
45 setwritemode(R2_XORPEN);
46 // 设置 XOR 绘图模式
47 // 绘制表针
48 SYSTEMTIME ti;
49 // 定义变量保存当前时间
50 while(!kbhit())
51 // 按任意键退出钟表程序
52 {
53 GetLocalTime(&ti);
54 // 获取当前时间
55 Draw(ti.wHour, ti.wMinute, ti.wSecond);
56 // 画表针
57 Sleep(1000);
58 // 延时 1
59 Draw(ti.wHour, ti.wMinute, ti.wSecond);
60 // 擦表针(擦表针和画表针的过程是一样的)
61 }
62 closegraph();
63 // 关闭绘图窗口
64 }
View Code

 

转载于:https://www.cnblogs.com/firstsy0709/p/3643946.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值