马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
// 本程序生成一个SCR的脚本文件
//画图的命令可在main中用C语言编写,其它的程序可以类似修改!#include <stdio.h>
#include <math.h>
#include <string.h>
void begin(void);
void gend(void);
void limits(float,float,float,float);
void zooma(void);
void line(float,float,float,float);
void circle(float,float,float);
void circd(float,float,float);
void circ3p(float,float,float,float,float,float);
void arc(float,float,float,float,float,float);
FILE *fp;
void begin(void)
{
char fname[12];
printf("Please input file name(*.scr),*=");
scanf("%s",fname);
strcat(fname,".scr");
if((fp=fopen(fname,"w"))==NULL)
{printf("Can't open the file!!!");
return;
}
}
void gend(void)
{
fclose(fp);
}
void limits(float xl,float yb,float xr,float yt)
{
fprintf(fp,"LIMITS %f,%f %f,%f \n",xl,yb,xr,yt);
}
void zooma(void)
{
fprintf(fp,"ZOOM A\n");
}
void line(float x1,float y1,float x2,float y2)
{
fprintf(fp,"LINE %f,%f %f,%f \n",x1,y1,x2,y2);
}
void circle(float xc,float yc,float r)//圆心,r
{
fprintf(fp,"CIRCLE %f,%f %f\n",xc,yc,r);
}
void circd(float xc,float yc,float d) // 圆心,D
{
fprintf(fp,"CIRCLE %f,%f D %f\n",xc,yc,d);
}
void circ3p(float x1,float y1,float x2,float y2,float x3,float y3) // 3D画圆
{
fprintf(fp,"CIRCLE 3P %f,%f %f,%f %f,%f\n",x1,y1,x2,y2,x3,y3);
}
void arc(float x1,float y1,float x2,float y2,float x3,float y3) // 3D画圆弧
{
fprintf(fp,"ARC %f,%f %f,%f %f,%f\n",x1,y1,x2,y2,x3,y3);
}
main()
{int nx,i;
float xmin,xmax,dx;//xmin,xmax:x的范围,dx:步长
float x1,y1,x2,y2;
printf("\n输入最小x,最大x,步长dx:");
scanf("%f%f%f",&xmin,&xmax,&dx);
nx=(xmax-xmin)/dx;
dx=(xmax-xmin)/nx;
begin();
//limits(-1.0,-3.0,10.0,3.0);
zooma();
x1=xmin;
y1=2*sin(x1);
for(i=0;i<nx;i++)
{
x2=x1+dx;
y2=2*sin(x2);
line(x1,y1,x2,y2);
x1=x2;
y1=y2;
}
line(xmin-(xmax-xmin)*0.1,0,xmax+(xmax-xmin)*0.1,0);
line(0,-2,0,2);
gend();
} |