用C语言编程绘制函数的图像源程序
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
#include #include #include float a,b,c,xmin,xmax,max; /*定义全局变量*/ void menu() {printf("\n************************************WELCOME*************************************\n"); printf("\n 1.输入参数"); printf("\n 2.输入x的范围"); printf("\n 3.画函数图像"); printf("\n 4.退出"); printf("\n********************************************************************************\n"); } fun1() { printf("输入 a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); /*输入系数a,b,c*/ } fun2() /*输入x范围*/ { printf("输入 xmin,xmax\n"); scanf("%f,%f",&xmin,&xmax); } funmax() /*求出x轴最大范围*/ { float m,n; if(xmin<0) m=-xmin; else m=xmin; if(xmax<0) n=-xmax; else n=xmax; if(m>=n) max=m; else max=n; } float funx(float max_x) /*求出x轴对应系数*/ { return(max_x/2/max); } float funy(float max_y) /*求出y轴对应系数*/ { float d; d=max_y/2/(a*max*max+b*max+c); if(d>0.6) d=0.6; if(d<0.0026) d=0.0026; return(d); } fun3() { int max_x,max_y; int graphdriver=DETECT,graphmode; float x1,y1,x2,y2,x,coe_x,coe_y; initgraph(&graphdriver,&graphmode,""); /*图形初始化*/ cleardevice(); /*清屏*/ max_x=getmaxx(); /*求出屏幕最大横坐标*/ max_y=getmaxy(); /*求出屏幕最大横坐标*/ funmax(); coe_x=funx(max_x); coe_y=funy(max_y); line(0,240,640,240); /*画直线*/ line(320,0,320,480); line(640,240,635,235); line(640,240,635,245); line(320,0,315,5); line(320,0,325,5); outtextxy(320,240,"(0,0)"); /*在固定点输出字符串*/ outtextxy(620,240,"x"); outtextxy(320,10,"y"); x1=max_x/2+xmin*coe_x,y1=max_y/2-(a*xmin*coe_x*xmin*coe_x+b*xmin*coe_x+c)*coe_y; moveto((int)x1,(int)y1); for(x=xmin*coe_x;x<=xmax*coe_x;x++) { x2=max_x/2+x,y2=max_y/2-(a*x*x+b*x+c)*coe_y; lineto((int)x2,(int)y2); } getch(); closegraph(); /*关闭图形函数*/ } main() { int n; menu(); while(1) { scanf("%d",&n); switch(n) { case 1:fun1();break; case 2:fun2();break; case 3:fun3();break; case 4:exit(0); default:printf("\n error \n"); } } } 本文来源:https://www.wddqw.com/doc/873c4084a6c30c2259019ea0.html