设为首页 加入收藏

TOP

用C做的电子时钟程序(二)
2014-11-24 00:43:41 来源: 作者: 【 】 浏览:167
Tags:电子 时钟 程序
0,315,"!");
/*----------调用函数-----------------------*/
ColockHandle();
/*-----------关闭图形----------------------*/
closegraph();
/*-----------返回0,程序结束---------------*/
return 0;
}


/*---------------------------时钟动画处理函数---------------------------------*/
void ColockHandle()
{
int Key=0,Count;
setcolor(WHITE);
/*----------------获取系统时间-------------*/
gettime(Time);
Hour=Time[0].ti_hour;
Minute=Time[0].ti_min;
/*----------------绘制分针-----------------*/
Minute_x=Center_x+100*sin(Minute/30*PI);
Minute_y=Center_y-100*cos(Minute/30*PI);
line(Center_x,Center_y,Minute_x,Minute_y);
/*----------------绘制时针-----------------*/
Hour_x=Center_x+80*sin((Hour*60+Minute)/360*PI);
Hour_y=Center_y-80*cos((Hour*60+Minute)/360*PI);
line(Center_x,Center_y,Hour_x,Hour_y);
/*----------------绘制数字时钟-------------*/
DigitalClock(255,435,DigitalHour(Hour));
DigitalClock(285,435,DigitalMinute(Minute));


setwritemode(1);
for(Count=2;Key!=Esc;)
{
/*----------------绘制秒针-----------------*/
setcolor(RED);
Hour=Time[0].ti_hour;
Minute=Time[0].ti_min;
Second=Time[0].ti_sec;


Second_x=Center_x+120*sin(Second/30*PI);
Second_y=Center_y-120*cos(Second/30*PI);
line(Center_x,Center_y,Second_x,Second_y);
/*-----------------------------------------*/
while(Hour==Time[0].ti_hour&&Minute==Time[0].ti_min&&Second==Time[0].ti_sec)
{
gettime(Time);
if(bioskey(1)!=0)
{
Key=bioskey(0);
Count=KeyHandle(Key,Count);
if(Count==5)
Count=1;
}
}
/*----------绘制数字时钟的秒---------------*/
setcolor(WHITE);
DigitalClock(315,435,DigitalSecond(Second)+1);
/*----------清除前一个秒针的图形-----------*/
setcolor(RED);
Second_x=Center_x+120*sin(Second/30*PI);
Second_y=Center_y-120*cos(Second/30*PI);
line(Center_x,Center_y,Second_x,Second_y);


setcolor(WHITE);
/*---------对分针变化的处理----------------*/
if(Minute!=Time[0].ti_min)
{
Minute_x=Center_x+100*sin(Minute/30*PI);
Minute_y=Center_y-100*cos(Minute/30*PI);
line(Center_x,Center_y,Minute_x,Minute_y);


Minute=Time[0].ti_min;
DigitalClock(285,435,DigitalMinute(Minute));
Minute_x=Center_x+100*sin(Minute/30*PI);
Minute_y=Center_y-100*cos(Minute/30*PI);
line(Center_x,Center_y,Minute_x,Minute_y);


}
/*----------对时针变化的处理 www.2cto.com ---------------*/
if(Hour!=Time[0].ti_hour)
{
Hour_x=Center_x+80*sin((Hour*60+Minute)/360*PI);
Hour_y=Center_y-80*cos((Hour*60+Minute)/360*PI);
line(Center_x,Center_y,Hour_x,Hour_y);


Hour=Time[0].ti_hour;
DigitalClock(255,435,DigitalHour(Hour));
Hour_x=Center_x+80*sin((Hour*60+Minute)/360*PI);
Hour_y=Center_y-80*cos((Hour*60+Minute)/360*PI);
line(Center_x,Center_y,Hour_x,Hour_y);
}
}
}
/*-----------

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇简单的分级别写日志程序 下一篇HDUacm 1001 Sum Problem

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: