Turbo C 2.0绘制时钟和三角形
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用Torbo C 2.0编译
时钟#include
#define PI 3.1416
#include "math.h"
#include "dos.h"
main()
{
int x0=320,y0=240,r0=150;
void init_screen();
void sec();
init_screen(x0,y0,r0);
sec();
closegraph();
}
void init_screen(int x0,int y0,int z0)
{
int i,x,y,graphdriver,graphmode;
char s[10];
float alpha,a0=90;
graphmode=VGAHI; graphdriver=VGA;
initgraph(&graphdriver,&graphmode,"");
cleardevice();
setbkcolor(1);setcolor(2);
circle(x0,y0,z0); circle(x0,y0,z0+30);
setfillstyle(SOLID_FILL,10);
floodfill(x0-z0-10,y0,2);
for(i=12;i>=1;i--)
{
alpha=(a0+30*(12-i))*PI/180;
x=x0+cos(alpha)*z0-16;
y=y0-sin(alpha)*z0;
sprintf(s,"%2d",i);
setcolor(4);
settextstyle(0,0,2);
outtextxy(x,y,s);
}
for(i=60;i>=1;i--)
{
alpha=(a0+6*(60-i))*PI/180;
x=x0+cos(alpha)*(z0-20);
y=y0-sin(alpha)*(z0-20);
setcolor(14);
if(i%5==0)
circle(x,y,5);
else
circle(x,y,2);
floodfill(x,y,14);
}
settextstyle(0,0,3);
}
void sec(void)
{
int x,y,i,j,k,xj,yj,yk,xk,xi,yi,x0=320,y0=240,r0=150;
unsigned char *shijie="\n\n\n\n\n\n\n\n\n\n\n\n";
unsigned char *quanqiu="\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
struct time tim;
struct date dat;
float alphai,alphaj,alphak,a0=90;
xi=x0; yi=y0; xj=x0;
yj=y0; xk=x0; yk=y0;
do
{
x=38; y=12;
gettime(&tim);
sprintf(shijie,"%02d:%02d:%02d",tim.ti_hour,tim.ti_min,tim.ti_sec);
setfillstyle(SOLID_FILL,3);
settextstyle(2,0,6);
bar(276,190,352,205);
setcolor(WHITE);
outtextxy(278,190,shijie);
x=48; y=22;
getdate(&dat);
sprintf(quanqiu,"%04d-%02d-%02d",dat.da_year,dat.da_mon,dat.da_day);
setfillstyle(SOLID_FILL,5);
bar(262,210,365,225);
setcolor(WHITE);
settextstyle(2,0,6);
outtextxy(265,210,quanqiu);
circle(x0,y0,100);
x=190; y=430;
setcolor(YELLOW);
settextstyle(2,0,8);
outtextxy(x,y,"Designed By TKB!");
setlinestyle(0,0,3);
k=tim.ti_hour; j=tim.ti_min; i=tim.ti_sec;
alphak=(a0+30*(12-k)-j*5/60*6)*PI/180;
alphaj=(a0-6*j)*PI/180;
alphai=(a0+6*(60-i))*PI/180;
x=x0+cos(alphai)*(r0-25);
y=y0-sin(alphai)*(r0-25);
setcolor(BLACK);
line(x0,y0,xi,yi);
setcolor(LIGHTRED);
line(x0,y0,x,y);
xi=x; yi=y;
alphaj=(a0-6*j)*PI/180;
x=x0+cos(alphaj)*(r0-47);
y=y0-sin(alphaj)*(r0-47);
setcolor(BLACK);
line(x0,y0,xj,yj);
setcolor(LIGHTRED);
line(x0,y0,x,y);
xj=x; yj=y;
alphak=(a0+30*(12-k)-j*5/60*6)*PI/180;
x=x0+cos(alphak)*(r0-60);
y=y0-sin(alphak)*(r0-60);
setcolor(BLACK);
line(x0,y0,xk,yk);
setcolor(LIGHTRED);
line(x0,y0,x,y);
xk=x; yk=y;
delay(100);
}while(!kbhit());
}
效果: