C语言课程设计报告烟花绽放
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告书设计题目烟花绽放
系别计算机工程系
专业计算机科学与技术
班级
姓名
指导教师
设计任务下达日期2011年 12 月 24 日
设计时间2011年12月26日至 2010年12月30日
课程设计任务书
一、目的和意义
本课程设计是《C语言程序设计》课程的后继教学环节, 通过研究C语言中图形编程技术或者声音控制等其它方面的多媒体编程技术,一方面拓展学生在这些领域的C语言知识,另一方面使学生在运用所学理论知识进行实践开发,更好的培养学生综合学习能力和实践能力。本次课程设计学生可以根据喜好,可以利用复杂的数据类型实现成绩管理系统等小型的综合应用程序。
二、题目(可从下面题目中任选一个)
1、C语言的图形编程应用
设计实现如菜单、图形的显示,再如动画和小游戏。
2、简易电子琴模拟程序的实现
为实现在键盘模拟电子琴设计的程序。由学生自行设计并且实现。
3、成绩管理程序
学生本人设计具体方案,然后改进和编码实现。
三、课程设计报告书应包括的主要内容
1、介绍概要的思路和设计方案,程序的总体功能和模块划分。
2、主要算法的介绍及流程图,主要功能的实现手段的说明文档。
3、对于有设想但最终未实现的功能的大致编程思路的阐述和设计过程中的启发。
四、进度要求
1、设计时间:2011年12月19日至2011年12月25日
2、编写课程设计报告书:2011年12月26日至2011年12月29日
3、提交报告及答辩时间:2011年12月30日
专科
四、进度要求
1、设计时间:2011年12月26日至2011年12月28日
2、编写课程设计报告书:2011年12月29日
3、提交报告及答辩时间:2011年12月30日
目录
一.课程设计目的: (3)
二.课程设计原因 (4)
三.课程设计思路以及方案 (4)
1.基础思路 (4)
2总体功能 (4)
四.课程设计中涉及的知识点 (3)
附录:源代码 (3)
一.课程设计目的:
熟练掌握条件语句、循环、数组、函数操作,将本课程所学的知识合理地运用于实践当中。了解一些书上没有的函数及使用方法。为以后的用C语言乃至其他设计语言解决实际问题打下了一个良好的基础。
二.课程设计原因
对图形图像的操作加以熟悉以掌握和应用
三.课程设计思路以及方案
1.基础思路
以黑色为背景色作为夜空,用两个圆嵌套填充颜色画一个月亮,用数组和for循环按角度画出星星。在固定的几个点上烟花逐渐循环放大。
2功能描述
夜空中悬挂着月亮和零星的几颗星星,烟花逐个绽放而且越变越大。
四.课程设计中涉及的知识点
程序用到了for循环语句、数组、setcolor、setfillstyle、floodfill函数、ellipse、circle、line函数、putpixel、delay 以及rand等函数,还有宏定义和函数调用。动画效果是有for循环实现的大小和色彩不断变化的圆。
附录:源代码
#include
#include
#include
#include
#include
#include
#include
#define PI 3.14159
void moon()
{
int x=50,y=50,n=30; setcolor(YELLOW); setfillstyle(1,YELLOW); ellipse(x,y,0,360,n,n); Fllodfill(x,y,YELLOW); circle(x,y,n);
circle(x+n/2,y,n);
}
void star(int x, int y)
{
int i,a;
int n=5;
int x1[5],y1[5],x2[5],y2[5];
setcolor(YELLOW);
for (i=0;i<5;i++)
{
x1[i]=x+n*cos(i*72*PI/180);
y1[i]=y+n*sin(i*72*PI/180);
x2[i]=x+n/2*cos(i*72*PI/180+PI/5);
y2[i]=y+n/2*sin(i*72*PI/180+PI/5); }
for(i=0;i<5;i++)
{
a=i+1;
if(a>4) a=0;
line(x1[i],y1[i],x2[i],y2[i]);
line(x2[i],y2[i],x1[a],y1[a]);
}
}
void drawstar()
{
int a[]={70,250,190,400,150}; int b[]={43,27,38,79,90},i;
setfillstyle(1,14);
for(i=0;i<5;i++)
{
star(a[i],b[i]);
floodfill(a[i],b[i],YELLOW);
}
}
void starflower()
{
int i=0,j,n=60,n1=2;
int x=200,y=200,size=100;