- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
绘制函数曲线 c语言 课程设计 报告
沈 阳 航 空 工 业 学 院
课程设计
学 号: 200604021109
班 级: 6402104
姓 名:王穷杰
指导教师: 刘成
2007年 9 月 17 日
沈阳航空工业学院
课程设计任务书
院系:电子工程系 专业:电子信息工程 班级:6402104班
学号:2006 课程设计题目:绘制函数曲线
一、课程设计工作自2007年9月10日起至2007年9月14日止
二、课程设计内容:
用C语言编写软件完成以下任务:
在图形模式下,绘制一元二次函数ax2+bx+c.其中系数a,b,c,以及X的取值范围,均由用户从键盘输入。
三、课程设计要求
1. 程序质量:
贯彻结构化的程序设计思想。
用户界面友好,功能明确,操作方便。
用户界面中的菜单至少应包括“选择菜单”、“输入X区间”、“开始绘制”、“退出”4项。
代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。
四、指导教师和学生签字
指导教师:________ 学生签名:________
五、成绩:
六、教师评语:
目录
程序设计题目 1
题目分析 1
总体设计 1
模块设计 2
关键技术分析 2
完整的源程序 3
总结: 2+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);
关键技术分析
显示器设定:
int graphdriver=DETECT,graphmode
图形初始化:
initgraph(graphdriver,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;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)
目录选择功能的实现:
switch(n)
{
case 1:fun1();break;
case 2:fun2();break;
case 3:fun3();break;
case 4:exit(0);
default:printf(\n error \n)
图3数据的输入
完整的源程序
#includestdio.h
#includegraphics.h
float a,b,c,xmin,xmax,max; /*定义全局变量*/
voi
文档评论(0)