C语言图形程序设计报告_c语言图形编程报告

其他范文 时间:2020-02-28 11:54:34 收藏本文下载本文
【www.daodoc.com - 其他范文】

C语言图形程序设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言图形编程报告”。

大连东软信息学院 电子工程系 2015级 本科

C语言图形程序设计报告

系所: 专业:

电子工程系 通信工程

学生姓名: 汤程皓 学生学号: *** 完成日期: 2015 年 12 月

大连东软信息学院

Dalian Neusoft University of Information

目录

目录..............................................................................................................................................C语言图形程序设计主要内容包括图形模式的初始化、基本图形功能、图形窗口以及图形模式下的文本输出等图形函数的使用,以及按键处理和声音等。学生根据C语言图形程序设计指导书,通过编辑、编译、调试、运行示例代码,逐步掌握C语言图形应用程序中常用函数的作用与使用方法,并综合运用《C语言程序设计》课程所学知识,设计、实现具有创新功能的程序。成果物是一个综合性较好的图形应用程序和项目报告。设计要求

设计并实现一个独特的图形应用程序。要求程序功能完整;包含屏幕颜色设置、图形绘制与填充、图形窗口设置、图形模式下文本输出、按键操作等;用户界面友好;代码量500行以上。程序功能

使用if,for,switch,circle,line,arc及另外一些图形化编程函数实现一些画面效果(形状颜色变化,字体颜色大小设置等),最后使用line画线的方法画出中文“再见“二字。核心算法

大量使用for循环,switch、if判断来实现一些画面的变化;大量使用函数调用的方式来保持代码的整洁;使用delay()函数来延迟两幅画面切换的时间;大量使用图形化编程的函数和方法来实现画面效果。

注:流程图无能为力了,不会画。程序代码

#include

#include #include #include

/*模块化编程*/ /*函数调用*/ void start();void tuoyuan();void guochang();void kaitou();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(&gdriver,&gmode,“C:TC20BGI”);kaitou();start();getch();

tuoyuan();delay(800);setbkcolor(15);cleardevice();

/*插入眼睛像*/ ellipse(320,240,0,360,30,17.5);setcolor(4);circle(320,240,17.5);setfillstyle(1,4);floodfill(320,240,4);/*画颜色渐变同心圆*/ for(i=0;i

} delay(800);guochang();delay(1000);cleardevice();huaban();moon();tree();delay(500);cleardevice();end();

setcolor(i);circle(320,240,20+i*10);delay(80);

} setbkcolor(6);zai();delay(1000);/*开头过渡*/ void start(){

}

/*画一些形状颜色渐变椭圆*/ void tuoyuan(){

int x=360;int y=160;int driver;int mode=VGAHI;

int gd;int gm;gd=DETECT;initgraph(&gd,&gm,“C:TC20BGI”);randomize();cleardevice();setbkcolor(3);setcolor(4);settextstyle(0,0,2);outtextxy(100,160,“ tttt ARE YOU READY?!”);settextstyle(0,0,2);outtextxy(100,240,“ Input any key,let's go!”);

} int num=20;int i;int t;int b;driver=DETECT;initgraph(&driver,&mode,“C://TC20//BGI”);t=y-30;b=y-30;setbkcolor(0);

for(i=0;i

} delay(300);for(i=0;i

} setcolor(i+2-1);ellipse(470,240,0,360,t,b);t+=5;b-=5;setcolor(i+2-1);ellipse(200,230,0,360,t,b);t-=5;b+=5;/*画变色圆周运动*/ void guochang()

{

case 2:for(i=1;i

{

if(i==1){

setcolor(4);

int gdriver;int i;int b;int c;int gmode;gdriver=DETECT;initgraph(&gdriver,&gmode,“C:TC20BGI”);setbkcolor(13);for(c=1;c

switch(c){

case 1:for(i=1;i

{

}

break;if(i==1){

} else{}

setcolor(14);for(b=1;b

}

}

for(b=240;b

else{}

break;

case 3:for(i=1;i

{

}

break;

if(i1){

} else{}

setcolor(6);line(320,240,i,479);

case 4:for(i=1;i

{

}

break;

if(i=320){

} else{}

setcolor(5);line(320, 240, i,479);

case 5:for(i=640;i>0;i--)

{

}

break;if(i==639){

} else{}

setcolor(10);for(b=480;b>240;b--)line(320,240,639,b);

case 6:for(i=640;i>0;i--)

{

}

break;if(i==639){

} else{}

setcolor(3);for(b=240;b>0;b--)line(320, 240,639, b);

case 7:for(i=640;i>0;i--)

{

if(i=320){

setcolor(9);

}

}

}

line(320,240,i,1);

else{}

break;

}

} case 8:for(i=640;i>0;i--)

{

}

break;

if(i0){

} else{}

setcolor(12);line(320, 240, i, 1);/*开头*/ void kaitou(){

int i;int a;int b;int c;int gdriver;

int gmode;char s[30];clrscr();gdriver=DETECT;initgraph(&gdriver, &gmode, “C:TC20BGI”);setbkcolor(14);cleardevice();for(a=50;a

} 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;b

} 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;for(a=50;a

} 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=50;b

}

} 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);settextstyle(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(){

for(b=1;b

switch(b){

case 1:for(a=0.0;a

case 2:for(a=0.0;a

{

e=100*(1+sin(4*a));x1=320+e*cos(a);

float a,e;float x1,y1,x2,y2;int gdriver=DETECT,b;int gmode;initgraph(&gdriver,&gmode,“C://TC20//BGI”);cleardevice();setcolor(GREEN);setbkcolor(0);{

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;

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;a

case 4:for(a=0.0;a

{

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);}break;{

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;a

} {

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(9);line(x1,y1,x2,y2);}break;/*画树*/ void tree(){

setcolor(2);line(83,330,55,400);

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

} line(55,400,111,400);line(111,400,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(){

}

/*倒数第二结尾,过渡*/ void end(){

int gdriver;int gmode;gdriver=DETECT;

setcolor(14);circle(570,70,40);setfillstyle(1,14);floodfill(570,70,14);

} initgraph(&gdriver,&gmode,“C://TC20//BGI”);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(&gdriver,&gmode,“C://TC20//BGI”);for(a=70;a

} for(b=120;b

setcolor(14);line(a,55,a,70);a=a+1;

} b=b+1;for(c=90;c

} for(d=120;d

} for(e=105;e

} for(f=45;f

} for(g=70;g

setcolor(14);line(c,120,c,135);c=c+1;setcolor(14);line(265,d,280,d);d=d+1;setcolor(14);line(e,180,e,195);e+=1;setcolor(14);line(f,240,f,255);f+=1;

}

} line(177.5,g,192.5,g);g+=1;for(h=243;h

} jian();getch();setcolor(14);line(h,335,h,350);h+=1;/*用横线拼出“见”,并署名*/ void jian(){

int a,b,c,d,e,f,g;for(a=380;a

} for(b=55;b

}

setcolor(14);line(a,55,a,70);a+=1;setcolor(14);line(380,b,395,b);b+=1;

for(c=55;c

} for(d=220;d

} for(e=486;e

} for(f=280;f

} for(g=160;g

setcolor(14);arc(g,90,-90,0,300);g+=1;

setcolor(14);line(540,c,555,c);c+=1;setcolor(14);line(486,d,501,d);d+=1;setcolor(14);line(e,335,e,350);e+=1;setcolor(14);line(597,f,612,f);f+=1;

} } settextstyle(1,0,1);outtextxy(335,420,“TCH was written in 2015-12-12 ”);5 运行结果

开头

开头过渡

一些颜色形状渐变椭圆

颜色渐变同心圆

颜色按顺序变化花瓣+树+月亮

结尾过渡

结尾创新说明

使用for循环语句画出一些形状颜色渐变的椭圆和同心圆;在椭圆里面画圆,并填充颜色,来实现眼睛的效果;使用switch,if判断,和for循环来实现颜色如风车般变化的动画;使用switch判断,for循环和line、数学函数来实现颜色变化的花瓣图案;使用for循环,line函数,计算坐标的方式来画出中文“再见”二字;

参考文献

[1] 全球最大中文IT社区.Turbo C图形函数 [EB/OL],http://www.csdn.net,2005.3

[2] 《C语言图形程序设计指导书》

C语言程序设计报告

C语言程序设计报告(二)第一章:使用数组和指针统计成绩1.设计题目:假设给定班级各科考试平均成绩的原始资料如下数学:75 物理:80 外语:83 政治:85 体育:86 人数:30 要求统计出全班学......

C语言程序设计实习报告

实习报告题 目: C语言程序设计 所属系、部 : 电气工程学院 班 级: 电子商务131 姓 名:贺道君 学号: 20***5 指 导 教 师: 费 玲 玲2014年6月一、实习目的加深理解C......

C语言程序设计

1.Problem A: Hello world! Description Xiao_ming有两个哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放学回家,父母分别跟他们打招呼。Input 无Output 请输出: Hello Da_min, Hello......

1032C语言程序设计

1032]《C语言程序设计》选择题 [单选题]12.关于C语言程序描述正确的是()A:每个函数必须要有return语句 B:主函数必须位于程序的开头 C:程序中每行只能写一条语句 D:一个程序中只......

C 语言程序设计

《C 语言程序设计》主要在计算机软件、计算机网络、计算机应用、通信技术、智能电子、电子信息工程、多媒体以及核工程与核技术等专业中开设,是电子信息类、机械类等工科专业......

下载C语言图形程序设计报告word格式文档
下载C语言图形程序设计报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

热门文章
点击下载本文