ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:39.98KB ,
资源ID:5589103      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5589103.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(绘制函数曲线.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

绘制函数曲线.docx

1、绘制函数曲线沈 阳 航 空 工 业 学 院课程设计学 号: 班 级: 姓 名: 指导教师: 尹 航沈阳航空工业学院课程设计任务书 课程设计题目:绘制函数曲线一、课程设计工作自2008年3月17日起至2008年3月24日止二、课程设计内容:用C语言编写软件完成以下任务:在图形模式下,绘制一元二次函数ax2+bx+c.其中系数a,b,c,以及X的取值范围,均由用户从键盘输入。三、课程设计要求1. 程序质量:贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。用户界面中的菜单至少应包括“选择菜单”、“输入X区间”、“开始绘制”、“退出”4项。代码应适当缩进,并给出必要的注释,以增强程序的可

2、读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:刘峰_五、成绩:六、教师评语: 目录(一).程序设计题目 2(二).题目分析 2(三).总体设计 3(四).模块设计 4(五).关键技术分析 4(六).完整的源程序 6(七).总结: 8一程序设计题目:绘制函数曲线。二题目分析:(一). 经过对程序设计题目的分析可知,整个程序的设计实现大致分为:绘制坐标.绘制图形。在绘制坐标中,关键步骤是将笛卡儿坐标转化成屏幕坐标。(二).需求分析: (1).首先要选择显示器适配器,由于不知道是什么类型的适

3、配器,所以用自动检测显示器适配器类型。将相应的驱动器程序装入,并将其最高的显示模式作为当前的显示模式。 (2).画图前一般要清除屏幕因,因而必须使用清屏函数。 (3).为了简化运算,故而采用图示口设置函数:既在图形方式下可以在屏幕上某一区域设置一个窗口。这样秒以后的画图均在这个窗口内进行,且适用的坐标则以此窗口左边顶上角为(0,0)点作参考而不再用屏幕物理坐标(物理坐标把 显示屏左上角定为(0,0)点)。在图示口内可将画的图形显示出来每超出图示口的不分可以不显示(剪断),也可以显示(不减断)。 (4). 画出坐标轴。在屏幕上画图时,同在纸上画图一样。在纸上画线,画笔要放在开始画图的位置,并经常

4、要抬笔移动满意边到另一位置再做画图动作。在屏上画图时也可想象有一无形的画笔,可以控制它的定位.移动(不画).可知道它能移动的最大位置限定等。 .三总体设计:四模块设计fun3 Int grophdriver=DETECT,graphmodeinitgraph(&graphdriver,&graphmode,)Void far cleardeviceVoid far setviewport(int 10,int10,int610,int430,clipflag 1)绘制坐标x1=max_x/2+xmin*coe_x,y1=max_y/2-(a*xmin*coe_x*xmin*coe_x+b*xm

5、in*coe_x+c)*coe_ymoveto(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); 图2 五关键技术分析1.显示器设定:int graphdriver=DETECT,graphmode2.图形初始化:initgraph(&graphdriver,&graphmode,)3.图示口设置:void far setviewport(int 10,int 10,int 600,int 600,clipfla

6、g 1); setbkcolor(blue); setcolor(yellow);4.绘制坐标轴:void far line(int 0,int 210,int 600,int210,color write );void far line(int 300,int 0,int 300,int420,color write);outtextxy(290,220,(0,0); outtextxy(590,220,x);uttextxy(290,10,y);5.坐标之间的转换:x1=max_x/2+xmin*coe_x,y1=max_y/2-(a*xmin*coe_x*xmin*coe_x+b*xmi

7、n*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)6.目录选择功能:switch(n) case 1:fun1();break; case 2:fun2();break; case 3:fun3();break; case 4:exit(0); default:printf(n error n)图3数据的输入六完整的源程序#include#includefloa

8、t a,b,c,xmin,xmax,max; void menu()printf(n*HELL0*n);printf(n 1.input coefficient);printf(n 2.input extent);printf(n 3.draw function curve); printf(n 4.quit); printf(n*n);fun1() printf(input a,b,cn); scanf(%f,%f,%f,&a,&b,&c); fun2() printf(input xmin,xmaxn); scanf(%f,%f,&xmin,&xmax);funmax() float p,

9、q; if(xmin0) p=-xmin; else p=xmin; if(xmax=q) max=p; else max=q;float funx(float max_x),max x=600 return(max_x/2/max);float funy(float max_y),may y=420 float t; t=max_y/2/(a*max*max+b*max+c);return(t);fun3() int max_x=600,max_y=420; int graphdriver=DETECT,graphmode; float x1,y1,x2,y2,x, y, coe_x,coe

10、_y; initgraph(&graphdriver,&graphmode,); cleardevice(); void far setviewport(int 10,int 10,int 600,int 600,clipflag 1); setbkcolor(blue); setcolor(yellow); coe_x=funx(max_x); coe_y=funy(max_y);void far line (int 20,int 210,int 580,int 210,color write);void far line(int 20,int 300,int 400,int 300,col

11、or write);outtextxy(290,220,(0,0); outtextxy(590,220,x); outtextxy(290,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(); close

12、graph(); main() int k; menu();while(1) scanf(%d,&k); switch(k) case 1: fun1();case 2:fun2();break; case 3:fun3();break; case 4:exit(0); default:printf(n error n); 总结: 这次课程设计,加强了我对c语言的了解。对一些细节的掌握更加深刻,而且对一些没有学过的内容通过查阅课外书也学会了,即增加了知识也加强了自己动脑动手的能力。 同时也从中体会到了那种经过努力而得到成功的喜悦,也对我以后工作学习带来了信心和帮助,从而更加坚定了我对以后探索知识的信念,尽量的去摄取更多的更深的知识,做一个合格的人

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2