关于杠杆长度变化的问题(C问题)

类别:VC语言 点击:0 评论:0 推荐:

关于杠杆长度变化的问题

在运行时,我想不让连接圆和矩形的杠杆长度不变。

#include <graphics.h>
#include <math.h>
#define PI 3.1415926
#define A 50
#define B 180
int main()
{
 double a,b,c,x=230,y=200,file1=0,cx,bx,by;
 int gdriver, gmode,e,i,k;
 gdriver=DETECT;
/* registerbgidriver(EGAVGA_driver);  */
 initgraph(&gdriver, &gmode, "");
 setbkcolor(2);
 cleardevice();
do{
 file1+=5;
 a=A*cos(file1*PI/180);
 b=A*sin(file1*PI/180);
 c=(double)sqrt(B*B-b*b);
 bx=400-A*cos(file1*PI/180);
 by=300-A*sin(file1*PI/180);
 cx=bx-a-c;
 setcolor(4);
 line(cx,300,bx,by);
 line(bx,by,400,300);
 rectangle(cx-20,290,cx+20,310);
 circle(400,300,50);
 circle(400,300,2);
 circle(cx,300,2);
 circle(bx,by,2);
 line(80,311,345,311);
 {
  line(400,300,390,311);
  line(400,300,410,311);
  line(380,311,422,311);
 }
 for(k=0;k<=40;k+=5)
  line(383+k,311,379+k,315);
 for(e=0;e<=260;e+=5)
  line(86+e,311,81+e,315);
put_text((int)x,(int)y+getmaxy()/3);
 /* cls */
 delay(20000);
 setcolor(0);
  line(400,300,bx,by);
  line(cx,300,bx,by);
  rectangle(cx-20,290,cx+20,310);
  circle(cx,300,2);
  circle(bx,by,2);
 }
while(!kbhit());
 getch();
 closegraph();
 return 0;
}

int put_text(x0,y0)
  int x0,y0;
{
  char *s1;
  s1=" 0148    2002-12-06";
  settextstyle(1,0,5);
  setcolor(BLUE);
  outtextxy(x0-6*8*3,y0,s1);
  outtextxy(x0-6*8*3+1,y0+1,s1);
  outtextxy(x0-6*8*3+2,y0+2,s1);
  outtextxy(x0-6*8*3+3,y0+3,s1);
}

本文地址:http://com.8s8s.com/it/it2160.htm