1 / 18
文档名称:

新年好礼:玫瑰花和祝福卡.doc

格式:doc   大小:83KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

新年好礼:玫瑰花和祝福卡.doc

上传人:坐水行舟 2019/2/19 文件大小:83 KB

下载得到文件列表

新年好礼:玫瑰花和祝福卡.doc

相关文档

文档介绍

文档介绍:计算机技术基础课程设计C语言设计报告题目:新年好礼:玫瑰花和祝福卡 学院:化学工程学院专业:制药工程班级:050607姓名:黄晶指导老师:顾煜新日期:2007年1月10日题目:新年好礼:玫瑰花和祝福卡一、选题背景新年将至,送一份祝福给爱你的人和你爱的人,让他(她)们感受到虽然相隔很远,但是我们依然牵挂着他(她)们。玫瑰花是美丽的代表,贺卡是我们发送祝福的最好表现形式。所以我将画图的程序来实现玫瑰花以及贺卡的图像。二、设计思想本程序将利用图形库函数、数学函数和标准I/O函数并初始化图形系统来实现函数的运行。图形中玫瑰花的形状是利用画图函数并根据其坐标来实现的,图形中的弧线是利用曲线函数实现的。贺卡中对月亮升起的实现,引进库函数,利用调用函数的形式,用一个随机函数产生天空中闪烁的星星,并用随机函数产生烟火。用setcolor填充各图形的颜色。用circle函数画圆。o画直线。程序中的的调用函数大多是我们没有学过的。initgraph/*初始化图形系统*/cleardevice/*清除图形屏幕*/hua/*自己定义的函数*/;setcolor/*设置当前画图颜色*/rectangle/*话矩形边框*/getch/*输入字符*/closegraph/*关闭图形系统*/floodfill/*填充一个有界区域*/三、主要解决问题:主要问题及解决方法:(1)一个简单的玫瑰在这个语句(rc(x+64,y-57,300,490,17);)中出现了颜色外泻。解决办法:利用floodfill函数实现填充一个有界函数。(2)图形的绘制用while(!kbhit())来实现循环,用预编译命令引进库函数并通过initgraph初始化图形系统。利用circle函数画圆。(3)颜色的设置: 多次调用函数2、技术关键ü       升起的月亮的实现ü       图形的绘制ü       灵活调用函数  四、程序流程图:Cleardevice/*清除图形屏幕*/Initgraph/*初始化图形系统*/主函数mainElli/*画旋转的椭圆*/ Hua/*自己定义的函数*/Setcolor/*设置当前画图颜色*/通过以下函数来完成玫瑰、花萼、枝叶Arc/*画一弧线*/Closegraph/*关闭图形系统*/Ellipse/*画一椭圆*/Floodfiil/*填充一个有界区域*/start函数调用say调用dmoon调用dstar调用dstar,调用fire函数设置fire函数调用dtext函数 结束 五、程序清单:#include<>#include<>#include<>#include<>35#include""#include""#include""#include""#defineFNX(x)(int)(xo+(x)*)#defineFNY(y)(int)(getmaxy()-(yo+(y)*))#defineFNX2(phi)cos(phi)*ac-sin(phi)*bs#defineFNY2(phi)cos(phi)*as+sin(phi)*bc#{intx;inty;}moon;structdramnstar{intx;inty;intcolor;}star[200];voidstart();voidbgroud();voiddtree();voidboy();voidgirl();voidsay();voiddstar();voidfire();voiddmoon();voiddtext(); voidstart(){intgd=DETECT,gm;initgraph(&gd,&gm,"d:\\tc");randomize();cleardevice();setbkcolor(3);setcolor(4);settextstyle(0,0,2);outtextxy(100,160,"Thereisagiftforyou.");settextstyle(0,0,2);outtextxy(100,240,"Pleaseinputanykeytostart.");}voidbgroud(){cleardevice();setbkcolor(0);setcolor(15);setlinestyle(0,0,3);rectangle(0,400,640,480);setfillstyle(1,15);floodfill(480,450,15);}voiddstar(){inti;for(i=0;i<300;i++){star[i].x=random(640);star[i]