c语言课程设计 雪花飘落,c雪花飘落课程设计.doc

计算机技术基础课程设计

C语言

设计报告

题目: 雪花飘落

专业: 网络工程

班级: 16(3)班

姓名:

指导教师:

成绩:

一、选题背景:

本例实现一个综合的雪花飘落现象,用户可以观察到雪花飘落的过程、用户通过控制输入雪花的大小,雪花的数量,飘落的速度等实现雪花飘落。

二、设计思想:

编程思路:首先在程序开始处,开通语句#include引入头函数,建立函数,然后定义结构体变量Snow,并且编写雪花的一系列操作的函数;最后在main函数的内部实现对各子函数的调用,实现雪花飘落的过程。

三.主要解决问题的方法及技术关键

用keyx,keyy函数完成对内存空间保存,用DrawSnow函数完具体实现,change函数改变雪的颜色,Choose选择演示内容Init(void),Close(void)函数完成图形驱动和关闭等。

结构体函数实现图形的关闭,区域保存,在雪中输出文字等.用While,for循环,If语句等完成雪花的设计,包括速度、颜色、显示标题、闪烁效果等 。

用起泡排序、汉诺塔、双链表、起泡排序、基数排序、二分查找、二叉树遍历等设置雪花颜色。

四.程序流程图

五、程序清单:

/* 源程序*//***dsdemo.c演示系统***/#include#include#define ESC 0x011b#define ENTER 0x1c0d#define DOWN 0x5000#define UP 0x4800struct Snow/*雪的一些参数*/{?? int x;?? int y;?? int speed;/*雪花的速度*/}snow[100];struct Star/*星星的一些参数*/{?? int x;?? int y;?? int color;}star[200];int key;/*按键变量*/int keyx,keyy;/*选项键的坐标*/int snownum=0;/*雪的个数*/int size;/*保存区域的大小*/int change=10;/*变颜色有关*/void *save1,*save2;/*保存空间*/void Copy(void);/*保存区域*/void DrawSnow(void);/*具体实现*/void Pr(void);/*输出字体*/void Choose(void);/*选择演示内容*/void DrawStar(void);/*最后的星星效果*/void DrawBall(int x,int y,int color);/*画选择的球体*/void Init(void);/*图形驱动*/void Close(void);/*图形关闭*/void main(void){?? Init();?? Copy();?? DrawSnow();/*雪花飘动*/?? Choose();/*选择演示内容*/?? DrawStar();/*结束画面*/?? Close();?? exit(0);}void Init(void){?? int gd=DETECT,gm;?? initgraph(&gd,&gm,"c:\\tc");?? cleardevice();}void Close(void)/*图形关闭*/{?? getch();?? closegraph();}void Copy(void)/*保存区域*/{?? setcolor(0);?? setfillstyle(SOLID_FILL,15);?? fillellipse(200,200,4,4);?? size=imagesize(196,196,204,204);/*定义保存图象区域大小*/?? save1=malloc(size);/*申请空间*/?? save2=malloc(size);?? getimage(196,196,204,204,save1);/*保存雪花*/?? getimage(96,96,104,104,save2); /*保存背景黑色*/}void Pr(void)/*在雪中输出文字*/{?? settextstyle(0,0,1);?? if(change>=20&&change<=30||change>=50&&change<=60||???? change>=100&&change<=110)/*闪烁效果*/????? setcolor(YELL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值