c语言图形程序设计报告

上传人:第*** 文档编号:55633167 上传时间:2018-10-03 格式:DOC 页数:30 大小:351.62KB
返回 下载 相关 举报
c语言图形程序设计报告_第1页
第1页 / 共30页
c语言图形程序设计报告_第2页
第2页 / 共30页
c语言图形程序设计报告_第3页
第3页 / 共30页
c语言图形程序设计报告_第4页
第4页 / 共30页
c语言图形程序设计报告_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《c语言图形程序设计报告》由会员分享,可在线阅读,更多相关《c语言图形程序设计报告(30页珍藏版)》请在金锄头文库上搜索。

1、大连东软信息学院电子工程系2015 级 本科C C 语言图形程序设计报告语言图形程序设计报告系所:系所:电子工程系专业:专业:通信工程学生姓名:学生姓名: 汤程皓学生学号:学生学号: 15161300106完成日期:完成日期: 2015 年 12 月大连东软信息学院Dalian Neusoft University of Information目录目录目录- 1 -1 设计要求- 2 -2 程序功能- 2 -3 核心算法- 2 -4 程序代码- 2 -5 运行结果- 2 -6 程序创新说明- 3 -参考文献- 3 -C 语言图形程序设计主要内容包括图形模式的初始化、基本图形功能、图形窗口以及图

2、形模式下的文本输出等图形函数的使用,以及按键处理和声音等。学生根据 C 语言图形程序设计指导书,通过编辑、编译、调试、运行示例代码,逐步掌握 C 语言图形应用程序中常用函数的作用与使用方法,并综合运用C语言程序设计课程所学知识,设计、实现具有创新功能的程序。成果物是一个综合性较好的图形应用程序和项目报告。1 1 设计要求设计要求设计并实现一个独特的图形应用程序。要求程序功能完整;包含屏幕颜色设置、图形绘制与填充、图形窗口设置、图形模式下文本输出、按键操作等;用户界面友好;代码量 500 行以上。2 2 程序功能程序功能使用 if,for,switch,circle,line,arc 及另外一些

3、图形化编程函数实现一些画面效果(形状颜色变化,字体颜色大小设置等),最后使用 line 画线的方法画出中文“再见“二字。3 3 核心算法核心算法大量使用 for 循环,switch、if 判断来实现一些画面的变化;大量使用函数调用的方式来保持代码的整洁;使用 delay()函数来延迟两幅画面切换的时间;大量使用图形化编程的函数和方法来实现画面效果。注:流程图无能为力了,不会画。4 4 程序代码程序代码#include#include#include#include/*模块化编程*/*函数调用*/void start();void tuoyuan();void guochang();void k

4、aitou();void huaban();void tree();void moon();void end();void zai();void jian();main()int gdriver;int gmode;int i;int line;clrscr();gdriver=DETECT;initgraph(kaitou();start();getch();tuoyuan();delay(800);setbkcolor(15);cleardevice();/*插入眼睛像*/ellipse(320,240,0,360,30,17.5);setcolor(4);circle(320,240,1

5、7.5);setfillstyle(1,4);floodfill(320,240,4);/*画颜色渐变同心圆*/for(i=0;i1)setcolor(6);line(320,240,i,479);elsebreak;case 4:for(i=1;i=320)setcolor(5);line(320, 240, i,479);elsebreak;case 5:for(i=640;i0;i-)if(i=639)setcolor(10);for(b=480;b240;b-)line(320,240,639,b);elsebreak;case 6:for(i=640;i0;i-)if(i=639)s

6、etcolor(3);for(b=240;b0;b-)line(320, 240,639, b);elsebreak;case 7:for(i=640;i0;i-)if(i=320)setcolor(9);line(320,240,i,1);elsebreak;case 8:for(i=640;i0;i-)if(i0)setcolor(12);line(320, 240, i, 1);elsebreak;/*开头*/void kaitou()int i;int a;int b;int c;int gdriver;int gmode;char s30;clrscr();gdriver=DETEC

7、T;initgraph(setbkcolor(14);cleardevice();for(a=50;a640;)b=50;setcolor(4);circle(a,b,43);setcolor(9);ellipse(a,b,0,360,43,20);ellipse(a,b,0,360,20,43);setcolor(7);ellipse(a,b,0,360,20,10);setcolor(8);circle(a,b,10);setfillstyle(1,8);floodfill(a,b,8);a=a+90;for(b=50;b480;)a=50;setcolor(4);circle(a,b,4

8、5);setcolor(9);ellipse(a,b,0,360,21,45);ellipse(a,b,0,360,45,21);setcolor(7);ellipse(a,b,0,360,22.5,12);circle(a,b,12);b=b+95;for(a=50;a640;)b=430;setcolor(4);circle(a,b,43);setcolor(9);ellipse(a,b,0,360,43,20);ellipse(a,b,0,360,20,43);setcolor(7);ellipse(a,b,0,360,20,10);circle(a,b,10);a=a+90;for(b

9、=50;b480;)a=590;setcolor(4);circle(a,b,45);setcolor(9);ellipse(a,b,0,360,21,45);ellipse(a,b,0,360,45,21);setcolor(7);ellipse(a,b,0,360,22.5,12);circle(a,b,12);b=b+95;setviewport(100, 100, 540, 380, 0);setfillstyle(1, 2);setcolor(14);rectangle(0, 0, 439, 279);floodfill(50, 50, 14);setcolor(12);settex

10、tstyle(4, 0, 8);outtextxy(20, 20, “TCH“);setcolor(15);settextstyle(3, 0, 5);outtextxy(120, 120, “DREAM START!“);setcolor(14);settextstyle(3, 0, 2);outtextxy(120, 200, “Please input any key!“);getch();closegraph();return 0;/*用 math 画颜色变化花瓣*/void huaban()float a,e;float x1,y1,x2,y2;int gdriver=DETECT,

11、b;int gmode;initgraph(cleardevice();setcolor(GREEN);setbkcolor(0);for(b=1;b6;b+)switch(b)case 1:for(a=0.0;a2*3.14;a+=2*3.14/720)e=100*(1+sin(4*a);x1=320+e*cos(a);x2=320+e*cos(a+3.14/5);y1=240+e*sin(a);y2=240+e*sin(a+3.14/5);setcolor(10);line(x1,y1,x2,y2);break;case 2:for(a=0.0;a2*3.14;a+=2*3.14/720)

12、e=100*(1+sin(4*a);x1=320+e*cos(a);x2=320+e*cos(a+3.14/5);y1=240+e*sin(a);y2=240+e*sin(a+3.14/5);setcolor(12);line(x1,y1,x2,y2);break;case 3:for(a=0.0;a2*3.14;a+=2*3.14/720)e=100*(1+sin(4*a);x1=320+e*cos(a);x2=320+e*cos(a+3.14/5);y1=240+e*sin(a);y2=240+e*sin(a+3.14/5);setcolor(14);line(x1,y1,x2,y2);b

13、reak;case 4:for(a=0.0;a2*3.14;a+=2*3.14/720)e=100*(1+sin(4*a);x1=320+e*cos(a);x2=320+e*cos(a+3.14/5);y1=240+e*sin(a);y2=240+e*sin(a+3.14/5);setcolor(1);line(x1,y1,x2,y2);break;case 5:for(a=0.0;a2*3.14;a+=2*3.14/720)e=100*(1+sin(4*a);x1=320+e*cos(a);x2=320+e*cos(a+3.14/5);y1=240+e*sin(a);y2=240+e*sin

14、(a+3.14/5);setcolor(9);line(x1,y1,x2,y2);break;/*画树*/void tree()setcolor(8);line(80,400,80,440);line(80,440,75,447);line(75,447,91,447);line(91,447,86,440);line(86,440,86,400);line(86,400,80,400);setfillstyle(6,8);floodfill(83,410,8);setcolor(2);line(83,330,55,400);line(55,400,111,400);line(111,400,

15、83,330);setfillstyle(1,2);floodfill(60,390,2);line(83,290,55,360);line(55,360,111,360);line(111,360,83,290);setfillstyle(1,2);floodfill(80,310,2);delay(1000);/*画月亮*/void moon()setcolor(14);circle(570,70,40);setfillstyle(1,14);floodfill(570,70,14);/*倒数第二结尾,过渡*/void end()int gdriver;int gmode;gdriver=

16、DETECT;initgraph(setbkcolor(3);setcolor(4);settextstyle(0,0,6);outtextxy(90,200,“ THE END!“);setusercharsize(10,1,4,1);settextstyle(3, 0, 2);outtextxy(220, 380, “Please input any key!“);getch();/*正式结尾*/*用横线拼出“再”*/void zai()int a,b,c,d,e,f,g,h,gdriver;int gmode;gdriver=DETECT;initgraph(for(a=70;a300;)setcolor(14);line(a,55,a,70);a=a+1;for(b=120;b350;)setcolor(14);line(90,b,105,b);b=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号