绘制函数曲线c语言课程设计报告文档格式.docx

上传人:b****5 文档编号:17415603 上传时间:2022-12-01 格式:DOCX 页数:8 大小:35.95KB
下载 相关 举报
绘制函数曲线c语言课程设计报告文档格式.docx_第1页
第1页 / 共8页
绘制函数曲线c语言课程设计报告文档格式.docx_第2页
第2页 / 共8页
绘制函数曲线c语言课程设计报告文档格式.docx_第3页
第3页 / 共8页
绘制函数曲线c语言课程设计报告文档格式.docx_第4页
第4页 / 共8页
绘制函数曲线c语言课程设计报告文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

绘制函数曲线c语言课程设计报告文档格式.docx

《绘制函数曲线c语言课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《绘制函数曲线c语言课程设计报告文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

绘制函数曲线c语言课程设计报告文档格式.docx

绘制函数曲线

一、课程设计工作自2007年9月10日起至2007年9月14日止

二、课程设计内容:

用C语言编写软件完成以下任务:

在图形模式下,绘制一元二次函数ax2+bx+c.其中系数a,b,c,以及X的取值范围,均由用户从键盘输入。

三、课程设计要求

1.程序质量:

✧贯彻结构化的程序设计思想。

✧用户界面友好,功能明确,操作方便。

✧用户界面中的菜单至少应包括“选择菜单”、“输入X区间”、“开始绘制”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

2.课程设计说明书:

课程结束后,上交课程设计说明书和源程序。

课程设计说明书的格式和内容参见提供的模板。

四、指导教师和学生签字

指导教师:

________学生签名:

________

五、成绩:

六、教师评语:

总结:

7

程序设计题目:

绘制函数曲线。

具体要求如下:

在图形模式下,绘制一元二次函数ax2+bx+c。

其中系数a,b,c,以及x的取值范围,均由用户从键盘输入。

用户界面中的菜单至少应包括“输入系数”“输入x的曲间”“开始绘制”“退出”

题目分析:

经过对程序设计题目的分析可知,整个程序的设计实现大致分为:

绘制坐标,绘制图形。

在绘制坐标中,关键步骤是将笛卡儿坐标转化成屏幕坐标。

总体设计:

图1整体框架图:

模块设计

图2坐标转换:

fun3

initgraph(&

graphdriver,&

graphmode,"

"

max_x=getmaxx();

max_y=getmaxy()

绘制坐标

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);

关键技术分析

显示器设定:

intgraphdriver=DETECT,graphmode

图形初始化:

求出屏幕的最大横,纵坐标大小:

max_x=getmaxx();

max_y=getmaxy()

绘制坐标轴:

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;

{

x2=max_x/2+x,y2=max_y/2-(a*x*x+b*x+c)*coe_y;

lineto((int)x2,(int)y2)

目录选择功能的实现:

switch(n)

case1:

fun1();

break;

case2:

fun2();

case3:

fun3();

case4:

exit(0);

default:

printf("

\nerror\n"

图3数据的输入

完整的源程序

#include<

stdio.h>

graphics.h>

floata,b,c,xmin,xmax,max;

/*定义全局变量*/

voidmenu()

{printf("

\n************************************WELCOME***********

**************************\n"

printf("

\n1.inputcoefficient"

\n2.inputextent"

\n3.drawfunctioncurve"

\n4.quit"

\n***************************************************

*****************************\n"

}

fun1()

inputa,b,c\n"

scanf("

%f,%f,%f"

&

a,&

b,&

c);

/*输入系数a,b,c*/

fun2()/*输入x范围*/

{

inputxmin,xmax\n"

%f,%f"

xmin,&

xmax);

funmax()/*求出x轴最大范围*/

floatm,n;

if(xmin<

0)

m=-xmin;

else

m=xmin;

if(xmax<

n=-xmax;

n=xmax;

if(m>

=n)

max=m;

max=n;

floatfunx(floatmax_x)/*求出x轴对应系数*/

return(max_x/2/max);

floatfuny(floatmax_y)/*求出y轴对应系数*/

floatd;

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()

intmax_x,max_y;

intgraphdriver=DETECT,graphmode;

floatx1,y1,x2,y2,x,coe_x,coe_y;

initgraph(&

/*图形初始化*/

cleardevice();

/*清屏*/

max_x=getmaxx();

/*求出屏幕最大横坐标*/

max_y=getmaxy();

funmax();

coe_x=funx(max_x);

coe_y=funy(max_y);

line(0,240,640,240);

/*画直线*/

/*在固定点输出字符串*/

x1=max_x/2+xmin*coe_x,y1=max_y/2-(a*xmin*coe_x*xmin*coe_x+b*xm

n*coe_x+c)*coe_y;

}

getch();

closegraph();

/*关闭图形函数*/

main()

intn;

menu();

while

(1)

%d"

n);

switch(n)

{case1:

这次课程设计,加强了我对c语言的了解。

课程设计所面临的问题都是一些实际问题,在完成的过程中,解决实际问题的能力就很重要,还有一些是以前在课堂上没有学过的知识,这就要求我们去查一些资料,并学习。

虽然个人的程序不同,但还需要与别人的合作,因为我还有些不明白的知识,尤其是自学的知识,运用还不熟练,特别需要虚心的请教老师。

因此,老师在这次实践过程中给了我很大的帮助。

总之,这次课程设计带给我的不仅仅是完成后的喜悦,而是对我以后学习起到了很大的帮助。

今后的学习中,还会遇到很多没学过的知识,就要求我们去自主学习,去了解,去充实自己的知识,作一个有学识的人!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1