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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、绘制函数曲线 c语言 课程设计 报告沈 阳 航 空 工 业 学 院课程设计学 号: 200604021109班 级: 6402104姓 名:王穷杰指导教师: 刘成2007年 9 月 17 日沈阳航空工业学院课程设计任务书院系:电子工程系 专业:电子信息工程 班级:6402104班学号:2006 04021109 课程设计题目:绘制函数曲线一、课程设计工作自2007年9月10日起至2007年9月14日止二、课程设计内容:用C语言编写软件完成以下任务:在图形模式下,绘制一元二次函数ax2+bx+c.其中系数a,b,c,以及X的取值范围,均由用户从键盘输入。三、课程设计要求1. 程序质量: 贯彻结构

2、化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“选择菜单”、“输入X区间”、“开始绘制”、“退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩:六、教师评语: 目录程序设计题目 1题目分析 1总体设计 1模块设计 2关键技术分析 2完整的源程序 3总结: 7程序设计题目:绘制函数曲线。具体要求如下:在图形模式下,绘制一元二次函数ax2+bx+c。其中系数a,b,c,以及x 的取值范围

3、,均由用户从键盘输入。用户界面中的菜单至少应包括“输入系数”“输入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_ymove

4、to(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);关键技术分析显示器设定:int graphdriver=DETECT,graphmode图形初始化:initgraph(&graphdriver,&graphmode,)求出屏幕的最大横,纵坐标大小:max_x=getmaxx(); max_y=getmaxy()绘制坐标轴:line(0,240,640,240); 画直线 line(320,0,320,480

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

6、*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)目录选择功能的实现: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#includefloat a,b,c,xmin,xmax,max; /*定义全局变量*/void menu()printf(n*WELCOME*n);

7、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); /*输入系数a,b,c*/fun2() /*输入x范围*/ printf(input xmin,xmaxn); scanf(%f,%f,&xmin,&xmax);funmax() /*求出x轴最大范围*/ float m,n; if(xmin0) m=

8、-xmin; else m=xmin; if(xmax=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(d0.6) d=0.6; if(d0.0026) d=0.0026; return(d);fun3() int max_x,max_y; int graphdriver=DETECT,graphmode; float x1,y1

9、,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); lin

10、e(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*xmn*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; l

11、ineto(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); 总结: 这次课程设计,加强了我对c语言的了解。课程设计所面临的问题都是一些实际问题,在完成的过程中,解决实际问题的能力就很重要,还有一些是以前在课堂上没有学过的知识,这就要求我们去查一些资料,并学习。虽然个人的程序不同,但还需要与别人的合作,因为我还有些不明白的知识,尤其是自学的知识,运用还不熟练,特别需要虚心的请教老师。因此,老师在这次实践过程中给了我很大的帮助。 总之,这次课程设计带给我的不仅仅是完成后的喜悦,而是对我以后学习起到了很大的帮助。今后的学习中,还会遇到很多没学过的知识,就要求我们去自主学习,去了解,去充实自己的知识,作一个有学识的人!

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

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