中南大学c语言课程设计报告Word格式文档下载.docx
《中南大学c语言课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《中南大学c语言课程设计报告Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
2.3用法说明8
3设计结果与分析8
3.1调试与测试8
3.2测试结果与分析8
4小结(心得体会)11
5附录12
1设计内容及要求
1.1设计要求
用c语言绘图函数绘制函数图像;
要根据输入的信息,用c语言画出相应函数y=sin(x),y=cos(x),...;
画出的点数为N个,即N个像素点;
可以不画出坐标值,N的值要大于20。
程序界面设计合理,色彩得体大方,显示正确,界面清晰、美观。
1.2程序设计流程图
图1:
总程序流程
图2:
总程序流程图
2详细设计
2.1详细设计
(1)#include<
stdio.h>
调用系统提供的标准库函数
#include<
math.h>
调用math库文件里的函数
conio.h>
调用通过控制台进行数据输入和数据输出的函数
graphics.h>
调用图像处理函数
(2)main()
{
floati,x0,y0,x,y;
inta,b;
intgd=DETECT,gm;
定义变量
(3)for(b=0;
b<
=20;
b++){
实现程序的多次循环使用
(4)initgraph(&
gd,&
gm,"
"
);
初始化图形系统
(5)printf("
Chooseafunctiontoseeitsfunctionalimage!
\n"
printf("
1.y=x\n"
2.y=sinx\n"
3.y=cosx\n"
4.y=e^x\n"
5.y=log(e)(x)\n"
6.y=x^2\n"
7.y=tanx\n"
Number1-7,justtrythem!
Pleaseenternumber:
输出一个基本初等函数可选列表
scanf("
%d"
&
a);
输入一个整型变量
(6)cleardevice();
清除屏幕和图形缓冲区
setbkcolor(WHITE);
设置背景色
setcolor(GREEN);
设置前景颜色
line(100,350,100,180);
line(95,190,100,180);
line(100,180,105,190);
line(40,250,500,250);
line(495,245,500,250);
line(500,250,495,255);
画坐标轴和箭头
settextstyle(SANS_SERIF_FONT,HORIZ_DIR,1);
设置字体
outtextxy(500,250,"
x"
标记x轴
outtextxy(110,180,"
y"
标记y轴
outtextxy(90,245,"
o"
标记原点
(7)switch(a)实现多分支选择
{
case1:
第一种情况
for(x0=0;
x0<
=21;
x0+=1)
y0=x0;
要画出的函数表达式
x=6*x0+100;
x,y的坐标控制,使点落在屏幕适当位置
y=-6*y0+250;
putpixel(x,y,RED);
画点函数,画出红色像素点
}
break;
跳出多分支选择结构
case2:
第二种情况
=10*3.14159;
x0+=0.1)
y0=50*sin(x0+2*3.14159);
正弦函数
x=10*x0+100;
y=-y0+250;
case3:
第三种情况
y0=50*sin(x0+3.14159/2);
余弦函数
}
..........其他常见函数
default:
printf("
Enterdataerror!
否则输出数据错误提示
(8)getch();
从控制台读取一个字符,但不显示在屏幕上,等待你按下任意键,再继续执行下面的语句
closegraph();
关闭图形系统
2.2数据结构与程序评析
(1)对图形处理函数作比较全面的分析,即对程序要使用的编写方法功能,运行方式进行分析,并作出正确的解决方案。
(2)程序并不是很复杂,但程序的编写是一项困难的任务,完成此程序必须运用书中和网络上的很多知识,而且要有清晰的思路和较强的语言组织能力。
(3)程序的检查和系统的调用。
当程序运行后,显示出规定好的函数图像。
2.3用法说明
(1)用编辑程序把编制的源程序按照一定的书写格式送到计算机中。
(2)把送入的源程序翻译成机器语言,即用编译程序对源程序进行编译,并将符合语法规则的源程序语句翻译成计算机能识别的语言。
(3)使用计算机中的连接程序,把翻译好的计算机语言程序连接起来,并扶植成一个计算机能真正运行的程序。
(4)将修改后的程序运行,以后使用时双击相应exe文件即可。
3设计结果与分析
3.1调试与测试
调试方法:
多次运行源程序,找出tc提示的错误,修改后再次运行,直至无错误时再对源程序进行简单优化。
问题:
源程序中变量数据类型错误,语句位置错误,导致编译时出现错误,执行不出结果。
经分析后修改,程序成功运行。
如果该程序没有在C语言环境下运行,那么程序运行的结果:
BGIERROR:
Graphicsnotinitialized!
(useinitgraoph)
这是因为编程的时候没有把图形的驱动和程序一起编译,程序在脱离C语言环境后找不到驱动。
要使程序能够脱离C语言环境运行,就要使程序和图形驱动一起编译。
①在DOS命令提示符下运行下列命令:
c:
\tc\bgi>
bgiobjegavga(把图形驱动编译成相应的库文件)
\tc\tc\lib\graphics.lib+\tc\bgi\egavga(把图形驱动的库文件和系统库文件graphics.lib连接组成新的库文件)
②在源程序的initgraph()函数前加入下列语句:
registerbgidriver(EGAVGA_driver);
(在程序中注册图形驱动)
此问题得以解决。
如没有遇到此结果,则不需要执行此操作。
3.2测试结果与分析
程序初始界面
函数图像
数据不符合要求时显示
程序运行成功,得到预期结果。
4小结(心得体会)
刚开始做的时候我只懂得一些雷老师讲过的基本函数,对图形处理函数什么都不懂,更别说做了。
不过参考了很多资料,在网站上查找,并思考理解了较长时间,才对图形处理函数有了基本的认识和把握,能实现一些简单应用,因为是自己亲自学习并制作的,并非抄袭,虽然遇到了不少的困难,但心里还是蛮有成就感的,希望把c语言学通的信心更足了。
经过多次上机实践学习,我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它。
我所懂得的更重要的是,程序设计需要大量的理解和应用,有些没有学过的知识不一定非要一字不差掌握,会理解运用才是重点,不能急于求成!
计算机编程大大简化了我们生活中的很多复杂繁琐的工作,实现了简单化,自动化。
这大大增加了我学习这门课程的兴趣。
计算机的发展趋势越来越快,我相信计算机在将来能更好地为人类服务。
我清楚地知道这次的程序还有很多可以优化的地方,没有最好,只有更好!
因此我一定会积极地学习这门课程,充分发挥这门课程的作用,查找更多的可用资源,用来补偿我的不足。
5附录
参考文献
【1】谭浩强《C语言程序设计(第四版)》清华大学出版社
【2】李丽娟,马淑萍《C语言程序设计(第二版)》中国铁道出版社
【3】王正仲《21天学通C语言》人民邮电出版社
【4】
凯尼格
《C陷阱与缺陷》人民邮电出版社
源代码
#include<
main()
for(b=0;
b++)
initgraph(&
cleardevice();
switch(a)
case4:
y0=pow(2.71828,x0);
y=-y0+245;
case5:
for(x0=0.1;
y0=log(x0)/log(1.1);
case6:
y0=pow(x0,2);
case7:
=5*3.14159;
x0+=0.05)
y0=50*tan(x0);
x=25*x0+100;
getch();