您的位置:首页 > 编程语言 > C语言/C++

C语言编写时钟程序

2013-11-03 18:03 316 查看
使用C语言编写的时钟程序,TC下通过,VC需要有graphics包,这个包可以去easyx下载,下载地址为:http://www.easyx.cn/downloads/,下载下来安装就可以了。

以下是源代码

#include<stdio.h>
#include <graphics.h>
#include <conio.h>
#include <math.h>
#define PI 3.14159
#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 Draw(int hour, int minute, int second)
{
double a_hour, a_min, a_sec; // 时、分、秒针的弧度值
int x_hour, y_hour, x_min, y_min, x_sec, y_sec; // 时、分、秒针的末端位置
// 计算时、分、秒针的弧度值
a_sec = second * 2 * PI / 60;
a_min = minute * 2 * PI / 60 + a_sec / 60;
a_hour= hour * 2 * PI / 12 + a_min / 12;
// 计算时、分、秒针的末端位置
x_sec = 320 + (int)(120 * sin(a_sec));
y_sec = 240 - (int)(120 * cos(a_sec));
x_min = 320 + (int)(100 * sin(a_min));
y_min = 240 - (int)(100 * cos(a_min));
x_hour= 320 + (int)(70 * sin(a_hour));
y_hour= 240 - (int)(70 * cos(a_hour));
// 画时针
setlinestyle(PS_SOLID, NULL, 10);
setcolor(WHITE);
line(320, 240, x_hour, y_hour);
// 画分针
setlinestyle(PS_SOLID, NULL, 6);
setcolor(LIGHTGRAY);
line(320, 240, x_min, y_min);
// 画秒针
setlinestyle(PS_SOLID, NULL, 2);
setcolor(RED);
line(320, 240, x_sec, y_sec);
}
void main()
{
int i,l,x1,x2,y1,y2;
initgraph(640, 480); // 初始化 640 x 480 的绘图窗口 // 绘制一个简单的表盘
circle(320, 240, 2);
circle(320, 240, 160);
outtextxy(296, 300, "Quan");// 设置 XOR 绘图模式
for(i=0;i<60;i++) /*划钟点上的短线*/
{
if(i%5==0)
l=15;
else
l=5;
x1=160*sin(i*6*PI/180)+320;
y1=160*cos(i*6*PI/180)+240;
x2=(160-l)*sin(i*6*PI/180)+320;
y2=(160-l)*cos(i*6*PI/180)+240;
line(x1,y1,x2,y2);
}
setwritemode(R2_XORPEN); // 设置 XOR 绘图模式
// 绘制表针
SYSTEMTIME ti; // 定义变量保存当前时间
while(!kbhit()) // 按任意键退出钟表程序
{
GetLocalTime(&ti);
Draw(ti.wHour, ti.wMinute, ti.wSecond); // 画表针
Sleep(1000); // 延时 1 秒
Draw(ti.wHour, ti.wMinute, ti.wSecond); // 擦表针(擦表针和
}
closegraph();
}


效果图片:


(转载请注明出处:http://blog.csdn.net/waitig1992
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息