运动的小球.doc

上传人:大张伟 文档编号:7186632 上传时间:2020-11-04 格式:DOC 页数:15 大小:118.50KB
返回 下载 相关 举报
运动的小球.doc_第1页
第1页 / 共15页
运动的小球.doc_第2页
第2页 / 共15页
运动的小球.doc_第3页
第3页 / 共15页
运动的小球.doc_第4页
第4页 / 共15页
运动的小球.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《运动的小球.doc》由会员分享,可在线阅读,更多相关《运动的小球.doc(15页珍藏版)》请在三一文库上搜索。

1、C程序设计课程设计报告(20 14 2015 学年第 2 学期)题 目: 运动的小球 学 院: 电气与电子工程学院 班 级: 电气1305班 学 号: 1304080192 姓 名: 梅文杰 指导教师: 罗涛华 时 间:起 2015.4.13 止 2015.4.17 一、 课程设计基本信息课程代码:05190124课程名称:计算机基础课程设计课程英文名称: Computer-based Course Design课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群课程面向专业:食品科学与工程学院、机械工程学院、电气与电子工程学院、土建学院、动物科学与营养工程学院、化学与环境工程学

2、院、工商管理类、国际经济与贸易、旅游管理、金融学、行政管理、汉语言文学、英语、护理学、康复治疗专业、生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理课程类型:必修课先修课程:大学计算机基础通识选修课程、程序设计课程学分:1 总学时:1周二、 课程设计目标掌握所学语言程序设计的方法,熟悉 所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能:1培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2通过对所选题目方案分析

3、比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。4根据个人的设计调试过程,撰写设计报告。三、 课程设计内容熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。四、 课程设计要求1. 要

4、求每个同学都要认真对待,积极参与。2. 课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完成课程设计报告册。3. 不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参与的将作不及格处理。五、 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,百分制计算,具体考核标准主要包含以下几个部分:1. 程序运行情况20分2. 程序功能的完善程度10分3. 程序结构的合理性10分4. 对问题的答辩情况20分5. 创新情况10分6. 学生的工作态度与独立工作能力10分7. 设计报告内容的规范性20分备注:1

5、. 按规定时间填写各阶段文档,学习态度加5分2. 设计报告内容雷同扣40分,无调试过程问题分析扣10分,无参考文献扣10分3. 源程序无注释则在程序结构合理性扣10分六、 课程设计主要参考资料1. 谭浩强著. C程序设计(第3版). 北京:清华大学出版社,2005.72. 刘光蓉、汪靖、陆登波主编. C程序设计实验与实践教程. 北京:清华大学出版社,2011.23. 游洪跃主编. C语言程序设计实验与课程设计教程. 北京:清华大学出版社,2011.54. (美)PerterVan DerLinden著,徐波译. C 专家编程(C编程语言经典之作) . 北京:人民邮电出版社,2008.25. 凯

6、尼格 著,高巍 译. C陷阱与缺陷. 北京:人民邮电出版社,2008.26. Mark de Berg等著,邓俊辉译,计算几何-算法与应用(第3版),清华大学出版社,2009年8月7. 杨克昌编著,计算机程序设计典型例题精解,国防科技大学大学出版社,1999年3月七、 课程设计计划安排时 间任 务课程设计前一周选择课程设计题目,分析课题的要求,确定设计方案,完成报告册中“课程设计概述”课程设计第1天按功能模块编写详细设计说明,完成报告册中“总体设计”课程设计第2天编写程序、调试程序课程设计第3天编写程序、调试程序,完成报告册中“详细设计”课程设计第4天调试程序,完成报告册中“调试分析过程”课程

7、设计第5天完成报告册中“总结”、“参考文献”、“课程设计评审表”部分内容,提交课程设计报告、源程序、面试或答辩一、课程设计概述课程设计问题描述 编程绘制小球的动态碰撞轨迹。在屏幕的同一水平线上(设备坐标系)有两个小球,当第一个小球撞击另一个小球后,前者静止,后者将沿前一个小球的运动方向继续运动。设计要求1运动过程是连续的; 2小球撞击到屏幕的边界后应该返回(沿发射方向); 3任何时刻只有一个小球在动。设计目的利用所学知识,开发小型应用系统以验证动量守恒定律。开发环境操作系统:Windows7 软件环境:Microsoft Visual C+ 6.0二、总体设计(1)系统功能需求分析 由题目设计

8、要求小球沿直线运动就需要做主函数来显示小球,然后擦去小球,确定运动轨迹,光标移动,擦去光标可分解为这几大步骤。 在小球运动上可设计一变量记录小球位置,然后定义速度变量控制位置变量。根据位置变量来判断小球的位置是否碰撞,再定义一个变量来控制小球的运动方向。在大体上可以就此控制小球的运动。 在小球颜色和背景颜色上可以用 void far setbkcolor( int color)设置作图色。 对于小球的运动是连续的定义延时变量显示内容刷新间隔时间的设定来完成。二、总体设计(2)系统总体设计框架开始主函数画球和擦球(擦球是用“”将“ ”覆盖确定小球的轨迹产生动画(用sleep函数使程序停止运行,产

9、生延迟,做出动画效果)光标移动隐藏光标结束三、详细设计(1)主要功能模块 的算法设计一:定义延时时间,运动区的宽度和高度。二:定义局部变量(1) 位置(便于控制小球运动);(2) 速度;三:主函数(1) 接收键盘数据的变量;(2) 设置背景颜色;(3) 修改窗口名称;(4) 隐藏光标;(5) 作图Esc退出;(6) 结束程序; 四:计算球轨迹(1) 画球;(2) 延时;(3) 擦球;(4) 触界反弹;(5) 碰撞守恒;(6) 计算下一周期; 三、详细设计(1)主要功能模块源程序#include #include #include #include #define DELAY 10#define

10、 WIDTH 80#define HEIGHT 24int X1 = 0, Y1 =12, X2 = 40, Y2 = 12;int Vx1 = 1, Vy1 = 0, Vx2 = 1, Vy2 = 0;int t,i=1;void Ball();void HideCursor();void GotoXy(int x, int y);int main(void)char ch = 0;system(color 2C); system(title 运动的小球-动量守恒);HideCursor();while(ch != 27)Ball();if(kbhit()ch = getch();syste

11、m(cls);return 0;void Ball()GotoXy(X1, Y1);printf();GotoXy(X2, Y2);printf();Sleep(DELAY);GotoXy(X1, Y1);printf( );GotoXy(X2, Y2);printf( );If( 0 = X1 & Vx1 0)Vx2 *= -1;putchar(007);if(X1=X2-2)t=Vx1;Vx1=Vx2;Vx2=t;i*=-1;putchar(007);switch(i)case 1:X1 += 2 * Vx1;break;case -1:X2 += 2 * Vx2;break;void H

12、ideCursor()CONSOLE_CURSOR_INFO cursor_info = 1, 0; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);void GotoXy(int x, int y)HANDLE hout;COORD coord;coord.X = x;coord.Y = y;hout = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hout, coord);四、调试分析过程(1)调试过程出现的问题及解决方法在程序运行后

13、出来的图像出现底色不断闪烁,而且小球的运动速度过快的现象。而且在前几次运行时在第一个小球撞击后一个小球时,在后一个小球运动时会一直向右没有撞击右侧边缘,直到第二个小球不见。在出现这些问题后,在调整背景颜色时选择system(color 2C);运动速度选择(/定义全局变量,位置和速度)int X1 = 0, Y1 =10, X2 = 40, Y2 = 10;int Vx1 = 1, Vy1 = 0, Vx2 = 1, Vy2 = 0;int t,i=1;而且在程序之前设置运动区的高度和宽度#define WIDTH 80 #define HEIGHT 50。四、调试分析过程(2)测试数据及测试

14、结果调试过后的运行截图 在调试各种数据后,运行的结果如上图基本上满足题目的设计要求五、总结设计用到的知识点 1.图形函数的使用; 2.图形函数库的使用方法; 3.系统函数功能的使用(小球颜色,背景颜色的设置); 4.显示内容刷新时间间隔的设定;收获与体会在此次的C 语言的课程设计中,我不仅学到了许多有庆这方面的专业知识,更重要的是我学会了如何在拿到一个题目时进行简单的程序分析,并编译出一些相对简单的程序,当然了,对自己编译出的不对的程序,我也能进行一些分析,并对其进行完善。不足与努力方向 在自己刚刚知道题目的时候还是对此不知道从何处 找到突破口,只是在网络上找到一些资料后才有些眉目,但还是有些

15、构成不是很懂,这就是我对C语言运用的不熟练之处。在以后的学习之中要多多练习做到看到设计要求就能够有程序设计的思路,做到熟能生巧。六、参考文献参考书籍及参考论文与网址1.谭浩强著. C程序设计(第3版). 北京:清华大学出版社,2005.72.刘光蓉、汪靖、陆登波主编. C程序设计实验与实践教程. 北京:清华大学出版社,2011.23 .游洪跃主编. C语言程序设计实验与课程设计教程. 北京:清华大学出版社,2011.54.(美) Perter Van Der Linden著,徐波 译. C 专家编程(C编程语言经典之作) . 北京:人民邮电出版社,2008.25.凯尼格 著,高巍 译. C陷阱

16、与缺陷. 北京:人民邮电出版社,2008.26.Mark de Berg等著,邓俊辉译,计算几何-算法与应用(第3版),清华大学出版社,2009年8月7.杨克昌编著,计算机程序设计典型例题精解,国防科技大学大学出版社,1999年3月课程设计成绩评审表姓名梅文杰学号1304080192班级电气1305班设计题目运动的小球作品描述编程绘制小球的动态碰撞轨迹。在屏幕的同一水平线上(设备坐标系)有两个小球,当第一个小球撞击另一个小球后,前者静止,后者将沿前一个小球的运动方向继续运动。运动过程是连续的;小球撞击到屏幕的边界后应该返回(沿发射方向); 任何时刻只有一个小球在动。通过此程序可以验证动量守恒定理。指导教师评语观测内容分值评 分(上限)得 分ABCDE程序运行情况2020151053程序功能的完善程度10108642程序结构的合理性10108642对问题的答辩情况2020151053创新情况10108642工作态度与独立工作能力10108642设计报告内容的规范性2020151053指导教师评定成绩 指导教师(签名) 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1