用C语言实现的闹钟程序

王朝c/c++·作者佚名  2008-06-01
宽屏版  字体: |||超大  

#include<graphics.h>

#include<conio.h>

#include<math.h>

#include<dos.h>

#include<stdio.h>

void main()

{

int gd=DETECT,gm;

int x=320,y=240,r=200,i,h,m,s,thetamin,thetasec;

strUCt time t;

char n[12][3]={"3","2","1","12","11","10","9","8","7","6","5","4"};

initgraph(&gd,&gm,"g:\\tc\\bgi");//图形驱动器路径,根据自己的系统更换。

circle(x,y,210);

setcolor(4);

settextstyle(4,0,5);

for(i=0;i<12;i++)

{

if(i!=3)

outtextxy(x+(r-14)*cos(M_PI/6*i)-10,y-(r-14)*sin(M_PI/6*i)-26,n[i]);

else

outtextxy(x+(r-14)*cos(M_PI/6*i)-20,y-(r-14)*sin(M_PI/6*i)-26,n[i]);

}

gettime(&t);

printf("The current time is: %2d:%02d:%02d.%02d\n",t.ti_hour, t.ti_min,

t.ti_sec, t.ti_hund);

while(!kbhit())

{

setcolor(5);

setfillstyle(1,5);

circle(x,y,10);

floodfill(x,y,5);

gettime(&t);

if(t.ti_min!=m)

{

setcolor(0);

line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180

)));

circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))

,10);

line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h

-((m/2)*(M_PI/180))));

circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(

(m/2)*(M_PI/180))),10);

}

if(t.ti_hour>12)

t.ti_hour=t.ti_hour-12;

if(t.ti_hour<4)

h=abs(t.ti_hour-3);

else

h=15-t.ti_hour;

m=t.ti_min;

if(t.ti_min<=15)

thetamin=(15-t.ti_min)*6;

else

thetamin=450-t.ti_min*6;

if(t.ti_sec<=15)

thetasec=(15-t.ti_sec)*6;

else

thetasec=450-t.ti_sec*6;

setcolor(4);

line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h

-((m/2)*(M_PI/180))));

circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(

(m/2)*(M_PI/180))),10);

line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180

)));

circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))

,10);

setcolor(15);

line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180

)));

delay(1000);

setcolor(0);

line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180

)));

}

}

该程序已在Turbo C++3.0中通过编译.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有