- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言课程设计飘动红旗
成绩 _
西安建筑科技大学
本 科 课 程 设 计 报
题 目: 红旗图案的程序设计
学生姓名:
学 号:
院 (系):
专 业:
指导教师:
20101年 01 月01 日
课程设计任务书
专业班级: 学生姓名: 指导教师:
一、大作业(论文)题目
红旗图案的程序设计
二、本次大作业(论文)应达到的目的
本次课程设计的目的是运用计算机语言设计通信录管理系统,通过此次课程设计,加深学生对本课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、工程设计或撰写小论文的步骤和方法;以提高学生独立分析问题、解决问题的能力,逐步增强实际工程训练。
三、本次大作业(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
要求: 要求学生在认真复习教材的基础上,查阅相关资料、认真阅读相关的设计要求,独立按时完成任务;课程设计的说明书、论文要求简洁、通顺、计算正确,程序完整、清楚、规范。
主要内容: ?
了解c语言图形处理函数的图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数等。
2、 重点考察抓取系统时间模块的使用。
四、应收集的资料及主要参考文献:
《C程序设计》 谭浩强 清华大学出版社
《C语言课程设计》 梁旭 谷晓琳 黄明 电子工业出版社
《C语言课程设计》郭翠英 中国水利水电出版社
五、审核批准意见
教研室主任(签字) 论文题目
红旗图案制作
设计总说明
红旗图案的设计,集中了c语言的精华,它不仅涉及到正弦函数,还有图形的设计,最主要的是动态图形的设计,需要查询大量资料。
在该程序设计中,我们一开始,从基本的做起,先用“*”设计出一个矩形图样,发现与我们想要的效果差距太大,于是查资料设计一个迎风飘展的红旗!我们从《c语言程序设计》的一本书中了解到,通过编程可以输出任意你想要的图形!,这就需要掌握图形函数:arc函数(画弧线),drawpoly函数(化多边形)等等,当然它还可以让图形充满色彩!如,getbkcolor函数(获取当前北疆颜色),getcolor函数(获取当前绘图颜色)······。
掌握这些之后,通过参考其他图形设计程序的方式我们最终设计出来。我们一个个单个设计。我们五个人分工明确,一个人用line函数画矩形,一个用getbkcolor函数和getcolor函数编写一个程序,输出一个圆,他的背景是白色的,里面是红色的,其他几个人寻找让正弦函数图像输出的程序······最后,结合所有简单程序参考资料,设计出一个红旗图案。
在红旗图案制作当中,特别需要注意的是#define宏定义的使用
1. void InitDy(void)
{
float ang;/*定义正弦曲线变化时所对应的角度*/
int i;
for (i=0;iWAVE_WID;i++)
{
ang=(float)i/WAVE_WID*M_PI*2;/*角度的表达式*/
Dy[i]=WAVE_HI*sin(ang);/*数组定义旗面浪的微小变量*/
}
}
2.这一段是利用正弦函数制造出红旗波动,相当困难。
背景颜色和旗面得设置void DrawFlag(int offset)
{
int x,y,dy; int a,b,c,d;
int i,l;
setbkcolor(BACKCOLOR);/*设置背景颜色*/
cleardevice();
setcolor(FLAGCOLOR);/*设置旗面颜色*/
for (i=0;iFLAG_WID;i++)
{
x=FLAG_X+i;
dy=Dy[(i+offset)%WAVE_WID];
y=FLAG_Y+dy;
line(x,y,x,y+FLAG_HI);/*使用画直线函数画旗面*/
}
3.
在实现函数功能的过程中,我们运用了宏定义,循环语句,函数的调用。
付:
宏定义定义红旗左上角的点坐标(FLAG_X, FLAG_Y),红旗旗面的宽(FLAG_WID)、高(FLAG_HI),飘动
文档评论(0)