该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#include
#include
#include
int main(void)
{
int gdriver=DETECT,gmode,errorcode;
int mins,sec,i;
struct time t1;
float x1,y1,x2,y2,dx,dy;
char s[12][5]={"Ⅻ","Ⅰ","Ⅱ","Ⅲ","Ⅳ","Ⅴ","Ⅵ","Ⅶ","Ⅷ","Ⅸ","Ⅹ","Ⅺ"};
gettime(&t1);
mins=t1.ti_min;
sec=t1.ti_sec;
initgraph(&gdriver,&gmode,""); /*initialize graphics mode*/
errorcode=graphresult(); /*read result of initialization*/
if(errorcode!=grOK) /*an error occurred*/
{
printf("Graphics error:%\n",graperrormsg(errorcode));
printf("Press any key to halt:");
exit(1); /*return with error code*/
}
setwritemode(XOR_PUT); /*select XOR drawing mode*/
x1=getmaxx()/2; y1=100; /*set center of clock*/
x2=x1+50*cos(sec*3.1415926/30);
y2=y1+50*sin(sec*3.1415926/30);
line(x1,y1,x2,y2);
for(i=0;i<12;i++)
{
dx=textwidth(s[i]);dy=textheight(s[i]);
moveto(x1+80*sin(3.1415926*i/6)-dx/2,y1-80*cos(3.1415926*i/6)-dy/2);
}
do{
gettime(&t1);
if(t1.ti_sec-sec!=0)
{
line(x1,y1,x2,y2);
sec=t1.ti_sec;
x2=x1+50*sin(sec*3.1415926/30);
y2=y1-50*cos(sec*3.1415926/30);
}
}while(abs(t1.ti_min-mins)<2);
/*clean up*/
closegraph();
return 0;
}