图形变换C语言课程设计材料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016-2017学年第二学期《C语言程序设计》
课程设计报告
题目:图形变换
专业:网络工程
班级:16(3)
姓名:代应豪
指导教师:代美丽
成绩:
计算机学院
2017 年 5月 10日
目录 ............... 错误!未定义书签。
1 设计要求 (3)
2 程序功能 (3)
3 核心算法 (3)
4 程序代码 (3)
5 运行结果 (16)
6 程序创新说明 (20)
参考文献 (20)
C语言图形程序设计主要内容包括图形模式的初始化、基本图形功能、图形窗口以及图形模式下的文本输出等图形函数的使用,以及按键处理和声音等。学生根据C语言图形程序设计指导书,通过编辑、编译、调试、运行示例代码,逐步掌握C语言图形应用程序中常用函数的作用与使用方法,并综合运用《C语言程序设计》课程所学知识,设计、实现具有创新功能的程序。成果物是一个综合性较好的图形应用程序和项目报告。
1 设计要求
设计并实现一个独特的图形应用程序。要求程序功能完整;包含屏幕颜色设置、图形绘制与填充、图形窗口设置、图形模式下文本输出、按键操作等;用户界面友好;代码量500行以上。
2 程序功能
使用if,for,switch,circle,line,arc及另外一些图形化编程函数实现一些画面效果(形状颜色变化,字体颜色大小设置等),最后使用line画线的方法画出中文“再见“二字。
3 核心算法
大量使用for循环,switch、if判断来实现一些画面的变化;大量使用函数调用的方式来保持代码的整洁;使用delay()函数来延迟两幅画面切换的时间;大量使用图形化编程的函数和方法来实现画面效果。
注:流程图无能为力了,不会画。
4 程序代码
#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:\\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);
}
/*开头过渡*/
void start()
{
int gd;
int gm;
gd=DETECT;
initgraph(&gd,&gm,"C:\\TC20\\BGI");
randomize();
cleardevice();
setbkcolor(3);
setcolor(4);
settextstyle(0,0,2);
outtextxy(100,160," \t\t\t\t ARE YOU READY?!");
settextstyle(0,0,2);
outtextxy(100,240," Input any key,let's go!"); }
/*画一些形状颜色渐变椭圆*/
void tuoyuan()
{
int x=360;
int y=160;
int driver;
int mode=VGAHI;
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);