实时电子指针时钟开发总结(C语言版)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实时时钟开发总结

一.功能描述

本时钟可以获取电脑系统时钟,实现与系统时间的同步,时间的准确性根本不需怀疑,可用于车站等公共场所的电子指针时钟。

二.系统开发平台

Visual C++

注意:

1)单纯的Visual C++ 不行,需下载一个EasyX小插件对其进行配置好才可(网上有下的,也有配置方法)。

2)程序代码必须以.cpp结尾。

3)分辨率:最佳效果1024*768。

三.游戏开发详细过程:

四.详细完整的代码

#include // 就是需要引用这个图形库

#include

#include

#include

#include

#include

#include

#define PI 3.14159

#define ESC 0x011b

#define YELLOW 0x54FCFC

float s0=-1,m0=-1,h0=-1;

void timer();

//主函数

void main()

{

int i=3;

char H[10];

double n;

char key;

initgraph(640, 480); // 这里和TC 略有区别,可以自定义大小

circle(200, 200, 100);

circle(200,200,95);

//时针、分针、秒针的动态实现

for(n=0;n<=2*PI;n+=PI/30)

{

putpixel((int)(200+94*cos(-n)),(int)(200+94*sin(-n)),4);

}

for(n=0;n<=2*PI;n+=PI/6)

{

circle(200+1*cos(-n),200+1*sin(-n),14);

}

for(n=0;n<=2*PI;n+=PI/6)

{

itoa(i,H,10);

outtextxy((int)(197+90*cos(-n)),(int)(197+90*sin(-n)),H);

i--;

if(i<1)

i+=12;

}

while(!kbhit())

{

timer();

double delay(1000);

}

//key=bioskey(0);

key=getchar();

if(key==ESC)

{

closegraph();

exit(0);

}

getch(); // 按任意键继续

closegraph(); // 关闭图形界面

}

//通过时间函数获取系统时钟

void timer()

{

struct tm *when;

float s,m1,h1;

int h,m;

time_t now;

time(&now);//获取当前系统时间

when= localtime(&now);

h=when->tm_hour;//将当前时间的小时成员赋值给h

m=when->tm_min;

s=(float)(when->tm_sec);

h1=(float)((h+(m*60+s)/3600)*PI/6-PI/2); //计算时钟的角度

m1=(float)((m+s/60)*(PI/30)-PI/2); //计算分钟的角度

if(s0!=(-1) && m0!=(-1) && h0!=(-1)) // 覆盖前一个指针留下的痕迹

{

setcolor(0);//清楚

line(200,200,200+55*cos(m0),200+55*sin(m0));

line(200,200,200+45*cos(h0),200+45*sin(h0));

line(200,200,200+65*cos((s0)*(PI/30)+PI/2),200+65*sin((s0)*(PI/30)+PI/2));

}

setcolor(RED);//设置时针的颜色

line(200,200,200+45*cos(h1),200+45*sin(h1));//绘制时针

setcolor(LIGHTGRAY);

line(200,200,200+55*cos(m1),200+55*sin(m1));//绘制分针

setcolor(BLUE);//设置秒针颜色

line(200,200,200+65*cos((s)*(PI/30)+PI/2),200+65*sin((s)*(PI/30)+PI/2));//绘制秒针

s0=s;

m0=m1;

h0=h1;

}

作者:flybird

时间:2012/08/12

相关文档
最新文档