/*这是一个画抛物线的程序*/
#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(); }
|