回 帖 发 新 帖 刷新版面

主题:[讨论]一个很牛的程序....

#include<graphics.h>



#include<math.h>



#include<dos.h>



#define PI 3.1415926



#define x0 320 /*定义钟表中心坐标*/



#define y0 240



void DrawClock(int x,int y,int color) /*画表盘*/



{ int r=150; /*表盘的半径*/



float th;



setcolor(color);



circle(x,y,r);



circle(x,y,2);



}



void DrawHand(int x,int y,float th,int l,int color)



{



int x1,y1;



x1=x+l*sin(th);



y1=y-l*cos(th);



setcolor(color);



line(x,y,x1,y1);



}



void main()



{int gdriver=DETECT,gmode;



struct time curtime;



float th_hour,th_min,th_sec;



initgraph(&gdriver,&gmode,"");



setbkcolor(0);



while(! kbhit())



{



DrawClock(x0,y0,14);



gettime(&curtime); /*得到当前系统时间*/



gotoxy(35,20); /*定位输出位置*/



if((float)curtime.ti_hour<=12) /*午前的处理*/



{printf("AM ");



if((float)curtime.ti_hour<10) printf("0"); /*十点之前在小时数前加零*/



printf("%.0f:",(float)curtime.ti_hour);



}



else /*午后的处理*/



{printf("PM ");



if((float)curtime.ti_hour-12<10) printf("0");



printf("%.0f:",(float)curtime.ti_hour-12);



}



if((float)curtime.ti_min<10) printf("0");



printf("%.0f:",(float)curtime.ti_min);


if((float)curtime.ti_sec<10) printf("0");



printf("%.0f",(float)curtime.ti_sec);



/*以下三行计算表针转动角度,以竖直向上为起点,顺时针为正*/



th_sec=(float)curtime.ti_sec*0.1047197551; /*2π/60=0.1047197551*/



th_min=(float)curtime.ti_min*0.1047197551+th_sec/60.0;



th_hour=(float)curtime.ti_hour*0.523598775+th_min/12.0; /* 2π/12=0.5235987755 */



DrawHand(x0,y0,th_hour,70,2); /*画时针*/



DrawHand(x0,y0,th_min,110,3); /*分针*/



DrawHand(x0,y0,th_sec,140,12); /*秒针*/



sleep(1); /*延时一秒后刷新*/



cleardevice();



}



closegraph();



}


请问此程序有什么错误啊?谢...............

回复列表 (共1个回复)

沙发

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册