该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#define pi 3.1415926
int draw(int hour,int minute,int second)
{
double rad_hour,rad_minute,rad_second;
int hour_x,hour_y,minute_x,minute_y,second_x,second_y;
rad_second=second*2*pi/60;
rad_minute=minute*2*pi/60+second*2*pi/3600;
rad_hour=(hour+1)*2*pi/12+second*pi/21600;
hour_x=300+int(120*sin(rad_hour));
hour_y=300-int(120*cos(rad_hour));
minute_x=300+int(140*sin(rad_minute));
minute_y=300-int(140*cos(rad_minute));
second_x=300+int(165*sin(rad_second));
second_y=300-int(165*cos(rad_second));
setlinestyle(PS_SOLID,NULL,10);
setcolor(YELLOW);
line((2700-hour_x)/8,(2700-hour_y)/8,hour_x,hour_y);
setlinestyle(PS_SOLID,NULL,7);
setcolor(GREEN);
line((2100-minute_x)/6,(2100-minute_y)/6,minute_x,minute_y);
setlinestyle(PS_SOLID,NULL,5);
setcolor(RED);
line((8400-5*second_x)/23,(8400-5*second_y)/23,second_x,second_y);
return 0;
}
int kedu(int x,int y,int r, double rad_1,double rad_2)
{
double du;
int i=0;
char a[12][100]={"1","2","3","4","5","6","7","8","9","10","11","12"};
setcolor(GREEN);
setfont(20,0,"宋体");
for(du=rad_1;du<2*pi+rad_1;du+=rad_1)
outtextxy(x+int(r*sin(du))-7,y-int(r*cos(du))-10,a[i++]);
i=0;
setlinestyle(PS_SOLID,NULL,3);
setcolor(RED);
for(du=0;du<2*pi;du+=rad_2)
{
if(i%5==0)
line(300+int(180*sin(du))*17/18,300-int(180*cos(du))*17/18,300+int(180*sin(du)),300-int(180*cos(du)));
else
line(300+int(180*sin(du))*76/77,300-int(180*cos(du))*76/77,300+int(180*sin(du)),300-int(180*cos(du)));
i++;
}
return 0;
}
int main()
{
SYSTEMTIME time;
int x=300,y=300;
double a,b;
initgraph(600,600) ;
setbkcolor(WHITE);
cleardevice();
setbkmode(TRANSPARENT);
BeginBatchDraw();
setcolor(RED);
circle(300,300,2);
circle(300,300,1);
circle(300,300,3);
setcolor(RGB(127,127,127));
circle(300,300,180);
for(a=120;a<=480;a++)
for(b=120;b<=480;b++)
if((a-300)*(a-300)+(b-300)*(b-300)<=180*180)
putpixel(a,b,RGB(180,180,90));
setcolor(RED);
setfont(24,0,"宋体");
outtextxy(257,210,"许大海祝");
outtextxy(257,240,"春节快乐");
FlushBatchDraw();
kedu(300,300,165,pi/6,pi/30);
for(a=100;a<=500;a++)
for(b=100;b<=480;b++)
{
if((a-300)*(a-300)+(b-300)*(b-300)>180*180&&(a-320)*(a-320)+(b-300)*(b-300)<=180*180)
putpixel(int(a),int(b),RGB(127,127,127));
else if(int((a-300)*(a-300)+(b-300)*(b-300))>180*180&&int((a-280)*(a-280)+(b-300)*(b-300))<=180*180)
putpixel(int(a),int(b),RGB(127,127,127));
}
setwritemode(R2_XORPEN);
while(!kbhit())
{
GetLocalTime(&time);
draw(time.wHour,time.wMinute,time.wSecond);
FlushBatchDraw();
Sleep(1000);
draw(time.wHour,time.wMinute,time.wSecond);
}
getch();
closegraph();
return 0;
}
//有个问题,怎么加入年份呢?