龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

一个画抛物线的程序

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
/*这是一个画抛物线的程序*/ #include #define BKC 9 #define COLOR 8 /* 抛物线颜色*/ #define G 9.856 main() {int gd=DETECT,gm,p=1,i; double Vx,Vy,x,y,x1,y1,t; char ch; initgraph(gm,""); while(p==1) /*主循环体*/ { setbkcolor

/*这是一个画抛物线的程序*/

  #include

#define BKC 9

  #define COLOR 8 /* 抛物线颜色*/

  #define G 9.856

  main()

  {int gd=DETECT,gm,p=1,i;

  double Vx,Vy,x,y,x1,y1,t;

  char ch;

  initgraph(&gd,&gm,"");

while(p==1) /*主循环体*/

  {

   setbkcolor(BKC);

   setcolor(14);

   setlinestyle(0,0,1);

   rectangle(0,0,639,479); /*画边框*/

   line(20,460,639,460); /*画横坐标*/

   line(20,0,20,460); /*画纵坐标*/

   outtextxy(8,467,"0");

   setlinestyle(1,0,1);

   setcolor(15);

   for(i=20;i<640;i+=20)line(i,460,i,0);

   for(i=460;i>0;i-=20)line(20,i,640,i);

   gotoxy(1,1);

   printf("Please Enter Vx:" );

   scanf("%lf",&Vx);

   printf("Please Enter Vy:");

   scanf("%lf",&Vy);

for(t=0.0;;t+=0.00002)

   {

   x=Vx*t;

   y=Vy*t-0.5*G*t*t;

   x1=2*x+20; /*画笔定位在用户坐标原点 (20,460) */

   y1=460-y*2;

   if(y1>460.0x1>640.0) break;

   putpixel(x1,y1,COLOR);

   }

   setcolor(12);

   outtextxy(250,8,"Finished! Continue(Y/N)?");

   p=-1;

   while(p==-1)

   {

   ch=getch();

   if(ch=='y'ch=='Y') { cleardevice();p=1;}

   else if(ch=='n'ch=='N') p=0;

   else outtextxy(220,200,"ERROR! Please Press 'Y' or 'N'_" );

   }

   }

  closegraph();

  }

  

  

精彩图集

赞助商链接