当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

一个画抛物线的程序

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


    #include<graphics.h>

    #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();
    }


 

相关内容
赞助商链接