大连东软信息学院电子工程系2015级本科C语言图形程序设计报告系所:电子工程系专业:通信工程学生姓名:汤程皓学生学号:15161300106完成日期:2015年12月大连东软信息学院DalianNeusoftUniversityofInformation目录目录..............................................................................................................................................-1-1设计要求...................................................................................................................................-2-2程序功能...................................................................................................................................-2-3核心算法...................................................................................................................................-2-4程序代码...................................................................................................................................-2-5运行结果................................................................................................................................-22-6程序创新说明........................................................................................................................-28-参考文献....................................................................................................................................-28-C语言图形程序设计主要内容包括图形模式的初始化、基本图形功能、图形窗口以及图形模式下的文本输出等图形函数的使用,以及按键处理和声音等。学生根据C语言图形程序设计指导书,通过编辑、编译、调试、运行示例代码,逐步掌握C语言图形应用程序中常用函数的作用与使用方法,并综合运用《C语言程序设计》课程所学知识,设计、实现具有创新功能的程序。成果物是一个综合性较好的图形应用程序和项目报告。1设计要求设计并实现一个独特的图形应用程序。要求程序功能完整;包含屏幕颜色设置、图形绘制与填充、图形窗口设置、图形模式下文本输出、按键操作等;用户界面友好;代码量500行以上。2程序功能使用if,for,switch,circle,line,arc及另外一些图形化编程函数实现一些画面效果(形状颜色变化,字体颜色大小设置等),最后使用line画线的方法画出中文“再见“二字。3核心算法大量使用for循环,switch、if判断来实现一些画面的变化;大量使用函数调用的方式来保持代码的整洁;使用delay()函数来延迟两幅画面切换的时间;大量使用图形化编程的函数和方法来实现画面效果。注:流程图无能为力了,不会画。4程序代码#includestdio.h#includegraphics.h#includestdlib.h#includemath.h/*模块化编程*//*函数调用*/voidstart();voidtuoyuan();voidguochang();voidkaitou();voidhuaban();voidtree();voidmoon();voidend();voidzai();voidjian();main(){intgdriver;intgmode;inti;intline;clrscr();gdriver=DETECT;initgraph(&gdriver,&gmode,C:\\TC20\\BGI);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=30;i++){setcolor(i);circle(320,240,20+i*10);delay(80);}delay(800);guochang();delay(1000);cleardevice();huaban();moon();tree();delay(500);cleardevice();end();setbkcolor(6);zai();delay(1000);}/*开头过渡*/voidstart(){intgd;intgm;gd=DETECT;initgraph(&gd,&gm,C:\\TC20\\BGI);randomize();cleardevice();setbkcolor(3);setcolor(4);settextstyle(0,0,2);outtextxy(100,160,\t\t\t\tAREYOUREADY?!);settextstyle(0,0,2);outtextxy(100,240,Inputanykey,let'sgo!);}/*画一些形状颜色渐变椭圆*/voidtuoyuan(){intx=360;inty=160;intdriver;intmode=VGAHI;intnum=20;inti;intt;intb;driver=DETECT;initgraph(&driver,&mode,C://TC20//BGI);t=y-30;b=y-30;setbkcolor(0);for(i=0;inum;i++){setcolor(i+2-1);ellipse(200,230,0,360,t,b);t-=5;b+=5;}delay(300);for(i=0;i20;i++){setcolor(i+2-1);ellipse(470,240,0,360,t,b);t+=5;b-=5;}}/*画变色圆周运动*/voidguochang(){intgdriver;inti;intb;intc;intgmode;gdriver=DETECT;initgraph(&gdriver,&gmode,C:\\TC20\\BGI);setbkcolor(13);for(c=1;c9;c++){switch(c){case1:for(i=1;i640;i++){if(i==1){setcolor(14);for(b=1;b240;b++)line(320,240,1,b);}else{}}break;case2:for(i=1;i640;i++){if(i==1){setcolor(4);for(b=240;b480;b++)line(320,240,1,b);}else{}}break;case3:for(i=1;i640;i++){if(i320&&i1){setcolor(6);line(320,240,i,479);}else{}}break;case4:for(i=1;i640;i++){if(i640&&i=320){setcolor(5);line(320,240,i,479);}else{}}break;case5:for(i=640;i0;i--){if(i==639){setcolor(10);for(b=480;b240;b--)line(320,240,639,b);}else{}}break;case6:for(i=640;i0;i--){if(i==639){setcolor(3);for(b=240;b0;b--)line(320,240,639,b);}else{}}break;case7:for(i=640;i0;i--){if(i640&&i=320){setcolor(9);line(320,240,i,1);}else{}}break;case8:for(i=640;i0;i--){if(i320&&i0){setcolor(12);line(320,240,i,1);}else{}}break;}}}/*开头*/voidkaitou(){inti;inta;intb;intc;intgdriver;intgmode;chars[30];clrscr();gdriver=DETECT;initgraph(&gdriver,&gmode,C:\\TC20\\BGI);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,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;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=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);settextstyle(4,0,8);outtextxy(20,20,TCH