- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC++课程设计报告
圆心沿正弦曲线轨迹移动的实心圆设计
设计任务
※.选题意义
此题选择意义在于设计一个MFC程序Visual C++环境中运行,在在运行时屏幕上出现一个圆心沿一个正弦曲线轨迹移动的实心圆,并且每隔1/8个圆周期,圆的填充色和圆的周边颜色都发生变化,颜色有我自己选取。
※.设计目标
在Visual C++程序编写一个程序,在程序运行时屏幕上出现一个圆沿正弦曲线移动,并且当每隔1/8个圆周期时圆的填充色和周边颜色改变一次。
程序设计与实现
程序结构
本课程设计的结构如图1:
圆心沿正弦曲线移动的实心圆
圆心沿正弦曲线移动的实心圆
正弦曲线
实心圆
起点终点
定义坐标
画笔画刷
定义坐标
画实心圆
1/8周期变色
※.数据和函数功能描述——变量类型定义等说明变色功能圆心移动功能
1.程序中的重要的函数和语句:
OnDraw():
在它中添加了 COLORRE颜色类型,CPoin点, CBrush Brush画刷 ,CPen pen画笔等。两个for循环定义了正弦曲线。
SetTimer(100,90,NULL)是时间函数的调用函数来控制圆在沿正弦曲线移动是圆中的颜色变化快慢。
函数OnTimer():
For循环—— 实现实心圆移动
if语句——实现实心圆及其周边颜色变化
Invalidate()——刷新函数。
2.函数功能进行描述:
OnDraw()——函数包括了坐标,画正弦曲线,画笔画刷画,实心圆
OnTimer()——函数定义一个变量进而使实心圆的移动,定义另一个变量实现实心圆颜色每个1/8圆周期发生变化。
系统总体流程图如下:
OnDraw()函数的流程图2:
开始
开始吃
输入int i
1 i
i722,i++
否
是
定义坐标画正弦
定义坐标画正弦
定义CBrush Brush;CPen Pen及圆心坐标
画正弦上移动的实心圆
结 束
输出结果
OnTimer()函数的流程图3:
开
开 始
0 int j
j720 ; j++
j+=1;
j%45==0
否
是
k+=1
k8
k=0
刷 新
结 束
※.设计难点与解决方法
设计难点:
◆圆心需要沿着正弦曲线轨迹移动,实心圆每隔1/8个圆周期,圆的填充色和周边颜色都要变化。
◆关键是把圆沿正弦曲线运动时留下的影印阴影去掉如图4:
◆去掉阴影后但无法使圆沿正弦曲线运动时圆内的颜色变化速率如图5:
解决策略:
通过定义一个变量将圆心定义在正弦曲线上,定义时间函数使圆心移动,定义画笔画圆,画刷填充,定义一个颜色数组使实心圆以及周边颜色每隔1/8圆周期发生变化。
把程序的那些if语句和for语句进行调整同时添加了Invalidate()刷新函数。
对if语句进行处理后就可以正常运行了。例如:
j+=1;
if(j%45==0)
{
k+=1;
if(k8)
k=0;
}
※.设计效果与不足之处
程序在编译连接运行后效果如图6:
不足之处:
实心圆不能沿正弦曲线反向返回,正弦曲线也状态栏不能显示圆心移动的坐标
※. 学习体会
经过本实验的操作使我感觉到课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着我国的计算机技术的发展使我感觉到学好VC++的重要性。
从选题到编写程序,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,如图4如何去掉阴影,可以说去掉这阴影我是花了九牛二虎之力,老天不负有心人终于还是把那阴影去掉了。在修改的过程中学到很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到困难很多,在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说画刷,画笔的操作以及一些语句掌握得不好。
所以只有反复的看书做题才能够学好VC++这门课程,所以说学好课程的关键是要有学习的兴趣以及持之以恒的学习态度。只有顽强,不怕输的学习态度是做好课程设计、学习以及任何事情关键。
附录1:程序使用说明
为了使用者能够获得正确的程序运行结果,防止未按设计者要求输入,导致程序退出,现在说明内容如下:
程序运行环境: Visual VC++环境
文件组成说明:文件由一个VC单文档程序组成,运行时直接运行即可
您可能关注的文档
最近下载
- 2022年宜春职业技术学院招聘笔试真题含答案详解.docx VIP
- 印花税法解读课件PPT.pptx VIP
- 信息安全培训课件银行.ppt VIP
- 2025年高速公路收费员考试题(附答案+解析).docx VIP
- 抗高血压药物的分类应用抗高血压药物的分类及应用.doc VIP
- 2024年宜春职业技术学院招聘笔试真题含答案详解.docx VIP
- 光伏发电能源项目.docx VIP
- 重症肌无力护理业务学习.pptx VIP
- Razer雷蛇雷蛇幻影战狼 V3 竞技版 8K PC专用 RZ06- 05550 支持和常见问题解答 用户指南 (简体中文)说明书用户手册.pdf
- 塑料件结构的设计规范.ppt VIP
原创力文档


文档评论(0)