《探索中南大学C语言课程设计.docx》由会员分享,可在线阅读,更多相关《探索中南大学C语言课程设计.docx(20页珍藏版)》请在第一文库网上搜索。
1、学号中南大学C语言程序设计课程设计汇报题目:数据的图形化处理学院:专业:班级:姓名:指导老师:2023年1月3日目录1设计内容及规定311设计规定312程序设计流程图32详细设计52.1详细设计52. 2数据构造与程序评析73. 3使用方法阐明83设计成果与分析84. 1调试与测试83.2测试成果与分析84小结(心得体会)115附录121设计内容及规定1.1设计规定用C语言绘图函数绘制函数图像;要根据输入B信息,用C语言画出对应函数y=sin(x),y=CoS(X),.;画出的点数为N个,即N个像素点;可以不画出坐标值,N0值要不小于20。程序界面设计合理,色彩得体大方,显示对的,界面清晰、美
2、观。1.2程序设计流程图c1osegranh():图2:总程序流程图2详细设计2.1 详细设计(1) #inc1udestdio.h调用系统提供的原则库函数#inc1udemath.h调用math库文献里0函数#inc1udeconio.h调用通过控制台进行数据输入和数据输出的;函数#inc1udegraphics.h调用图像处理函数(2) main()(f1oati,x,y,x,y;inta,b;intgd=DETECT,gm;定义变量(3) for(b=0;b=20;b+)实现程序B多次循环使用(4) initgraph(d,mzzz);初始化图形系统(5) printf(z,Choose
3、afunctiontoseeitsfunctiona1image!nz,);printf(,1.y=xn,z);printf(,2.y=sinxn);printf(z,3.y=cosxn);printf(zz4.y=e*xnz,);printf5.y=1og(e)(x)nzz);printf(zz6.y=x2nz,);printf(/?7.y=tanxn);printf(,Number1-7,justtrythem!n,z);printf(zzP1easeenternumber:);输出一种基本初等函数可选列表scanf(%c,&a);输入一种整型变量(6) CIeardeviCe();清除屏
4、幕和图形缓冲区SetbkCOIor(WHITE);设置背景色Setco1or(GREEN);设置前景颜色1ine(100,350,100,180);1ine(95,190,100,180);1ine(100,180,105,190);1ine(40,250,500,250);1ine(495,245,500,250);1ine(500,250,495,255);画坐标轴和箭头SetteXtSty1e(SANS_SERIF_FONT,HORIZ_DIR,1);设置字体Outtextxy(500,250,x);标识X轴OUtteXtXy(I1O,180,y);标识y轴OUttextxy(90,24
5、5,o);标识原点(7) SWitCh(a)实现多分支选择case1:第一种状况(for(x0=0;x=21;x+=1)(y=x;要画出的函数体现式x=6*x0+100;X,y1坐标控制,使点落在屏幕合适位置y=-6*y0+250;putpixe1(x,y,RED);画点函数,画出红色像素点break;跳出多分支选择构造)case2:第二种状况for(x0=0;x0=10*3.14159;x0+=0.1)(y0=50*sin(x0+2*3.14159);正弦函数x=10*x0+100;y=-y0+250;putpixe1(x,y,RED);break;)case3:第三种状况(for(x0=0
6、;x0bgiobjegavga(把图形驱动编译成对应0库文献)c:tctc1ibgraphics.1ib+tcbgiegavga(把图形驱动0库文献和系统库文献graphics.Iib连接构成新B库文献)在源程序的initgraph()函数前加入下列语句:registerbgidriver(EGAVGA_driver);(在程序中注册图形驱动)此问题得以处理。如没有碰到此成果,则不需要执行此操作。3. 2测试成果与分析UnctiontoEItsIi1W叱2.y=six3.ycos4.y*5.y=1og()()6.y*Z7.y=tan*mber1-7.Jaeftryt1fP1MMentermmb
7、er:程序初始界面函数图像程序运行成功,得到预期成果。4小结(心得体会)刚开始做的时候我只懂得某些雷老师讲过B基本函数,对图形处理函数什么都不懂,更别说做了。不过参照了诸多资料,在网站上查找,并思索理解了较长时间,才对图形处理函数有了基本aJ认识和把握,能实现某些简朴应用,由于是自己亲自学习并制作的,并非抄袭,虽然碰到了不少的困难,但心里还是蛮有成就感0,但愿把C语言学通0信心更足了。通过多次上机实践学习,我对C语言有了更深入的认识和理解,要想学好它要重在实践,要通过不停B上机操作才能更好地学习它。我所懂得的更重要0是,程序设计需要大量的理解和应用,有些没有学过的知识不一定非要一字不差掌握,会
8、理解运用才是重点,不能急于求成!计算机编程大大简化了我们生活中0诸多复杂繁琐的工作,实现了简朴化,自动化。这大大增长了我学习这门课程的爱好。计算机H发展趋势越来越快,我相信计算机在未来能更好地为人类服务。我清晰地懂得这次的程序尚有诸多可以优化的地方,没有最佳,只有更好!因此我一定会积极地学习这门课程,充足发挥这门课程的作用,查找更多的可用资源,用来赔偿我的J局限性。5附录参照文献【1】谭浩强C语言程序设计(第四版)清华大学出版社2李丽娟,马淑萍C语言程序设计(第二版)中国铁道出版社【3】王正仲21天学通C语言人民邮电出版社【4】凯尼格C陷阱与缺陷人民邮电出版社源代码Sinc1ude#inc1u
9、de#inc1ude#inc1udemain()If1oati,x,y,x,y;inta,b:intgd=DETECT,gm;for(b=0;b5.y=1og(e)(x)n*);printf(*6.y=x2n*);printf(*7.y=tanxn*);printf(*Number1-7,justtrythem!n*);printf(*P1easeenternumber:*);scanf(*%d*,&a);c1eardevice():Setbkco1or(WHITE);setco1or(GREEN);1ine(100,350,100,180):1ine(95,190,100,180);1ine
10、(100,180,105,190):Iine(40,250,500,250);Iine(495,245,500,250);Iine(500,250,495,255);settextsty1e(SANS_SERIF_FONT,HORIZ.DIR,1);Outtextxy(500,250,x);OUttextxyd1O,180,*y*);Outtextxy(90,245,*o*);switch(a)(for(x0=0:x=21;x+=1)y=x;x=6*x0+100:y=-6*y0+250;putpixe1(x,y,RED);)break;(for(x0=0;x0=10*3.14159jx0+=0.1)(y0=50*sin(x0+2*3.14159);x=10*x0+100;y=-y0+250;putpixe1(x,ytRED);)break;)(for(xO=O;xO=10*3.14159jx0+=0.1)y0=50*sin(x0+3.14159/2);x=10*x0+100;y=-y0+250;putpixe1(x,y,RED);)break;(for(x0=0;x0=21:x0+=0.1)(y0=pow(2.71828,x);x=10*x0+100;y=-y0+245;putpixe1(x,y,RED);break;)Ifor(x0=0.1:x0=21;x0+