浙江师范大学论坛's Archiver

异度空间 发表于 2008-3-14 22:23

用C语言实现的闹钟程序

#include  
#include  
#include  
#include  
#include  
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&n
bsp;
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中通过编译.

仙奴鲁鲁 发表于 2008-5-7 21:54

/:A016? 看不懂

燃烧的胸毛 发表于 2008-5-8 10:23

这个板块应该改个名字。

页: [1]

网站web安全
检测认证
公共信息网络
安全备案
电子公告服务
备案网站
信息网络安全
报警服务
网络不良信息
举报中心

Powered by zjnubbs 6.1.0  © 2007-2009 蚂蚁策划