实时时钟时分秒c语言程序,求一基于61板的实时时钟C语言程序

#include"graphics.h"

#define PI 3.1416

#include"math.h"

#include"dos.h"

main()

{

int x0=320,y0=240,r0=150;

void init_sceen();

void sec();

init_sceen(x0,y0,r0);

sec();

closegraph();

}

void init_sceen(int x0,int y0,int r0)/********************************************/

{

int i,x,y,graphdriver,graphmode;

char s[10];

float alpha,a0=90;

graphdriver=DETECT;

initgraph(&graphdriver,&graphmode,"");

setbkcolor(3);

setcolor(2);

circle(x0,y0,r0);

circle(x0,y0,r0+30);

setfillstyle(SOLID_FILL,10);

floodfill(x0-r0-10,y0,2);

/*please input the time*/

for(i=12;i>=1;i--)

{

alpha=(a0+30*(11-i)*PI/180);

x=x0+cos(alpha)*r0-16;

y=y0-sin(alpha)*r0;

sprintf(s,"%2d",i);

setcolor(4);

settextstyle(0,0,2);

outtextxy(x,y,s);

}

/*input second*/

for(i=60;i>=1;i--)

{

alpha=(a0+6*(60-i)*PI/180);

x=x0+cos(alpha)*(r0-20);

y=y0-sin(alpha)*(r0-20);

setcolor(14);

if(i%5==0)

circle(x,y,5);

else circle(x,y,2);

floodfill(x,y,14);

}

setlinestyle(0,0,3);

}

void sec(void) /******************************************************************/

{

int x,y,i,j,k,xj,yj,xk,yk,xi,yi,x0=320,y0=240,r0=150;

union REGS r;

unsigned char *shijie="";

unsigned char *daa="";

struct time tim;

struct date dat;

float alphai,alphak,alphaj,a0=90;

xi=x0;yi=y0;xj=x0;yj=y0;xk=x0;yk=y0;

do

{

/*intput the time*/

x=38;y=12;

gettime(&tim);

sprintf(shijie,"%02d:%02d:%02d",tim.ti_hour,tim.ti_min,tim.ti_sec);

setfillstyle(SOLID_FILL,0);

bar(245,190,375,210);

setcolor(15);

outtextxy(245,190,shijie);

/*input the date*/ /*****************************************************/

getdate(&dat);

sprintf(daa,"%02d--%02d--%02d",dat.da_year,dat.da_mon,dat.da_day);

/*setfillstyle(SOLID_FILL,3);*/

bar(225,290,395,310);

setcolor(RED);

outtextxy(225,290,daa);

setlinestyle(0,0,3);

k=tim.ti_hour;

j=tim.ti_min;

i=tim.ti_sec;

alphak=(a0+30*(12-k)-j*5/60.*6)*PI/180;

alphaj=(a0-6*j)*PI/180;

/*write second hand*/

alphai=(a0+6*(60-i))*PI/180;

x=x0+cos(alphai)*(r0-32);

y=y0-sin(alphai)*(r0-32);

setcolor(BLACK);

line(x0,y0,xi,yi);

setcolor(YELLOW);

line(x0,y0,x,y);

xi=x;

yi=y;

/*write minute hand*/

x=x0+cos(alphaj)*(r0-60);

y=y0-sin(alphaj)*(r0-60);

setcolor(BLACK);

line(x0,y0,xj,yj);

setcolor(BLUE);

line(x0,y0,x,y);

xj=x;

yj=y;

/*write hour hand*/

x=x0+cos(alphak)*(r0-99);

y=y0-sin(alphak)*(r0-99);

setcolor(BLACK);

line(x0,y0,xk,yk);

setcolor(RED);

line(x0,y0,x,y);

xk=x;

yk=y;

delay(10000);

}

while(!kbhit());

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值