运动的小球.doc_第1页
运动的小球.doc_第2页
运动的小球.doc_第3页
运动的小球.doc_第4页
运动的小球.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计课程设计报告(20 14 2015 学年第 2 学期)题 目: 运动的小球 学 院: 电气与电子工程学院 班 级: 电气1305班 学 号: 1304080192 姓 名: 梅文杰 指导教师: 罗涛华 时 间:起 2015.4.13 止 2015.4.17 15一、 课程设计基本信息课程代码:05190124课程名称:计算机基础课程设计课程英文名称: Computer-based Course Design课程所属单位(院(系)、教研室):数学与计算机学院计算机基础课程群课程面向专业:食品科学与工程学院、机械工程学院、电气与电子工程学院、土建学院、动物科学与营养工程学院、化学与环境工程学院、工商管理类、国际经济与贸易、旅游管理、金融学、行政管理、汉语言文学、英语、护理学、康复治疗专业、生物科学类、制药工程、制药工程(生物制药)、药物制剂、物流管理课程类型:必修课先修课程:大学计算机基础通识选修课程、程序设计课程学分:1 总学时:1周二、 课程设计目标掌握所学语言程序设计的方法,熟悉 所学语言的开发环境及调试过程,熟悉所学语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。通过综合设计要求达到下列基本技能:1培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。 2通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。 3系统设计编程简练,可用,功能全面,并有一定的容错能力。用户界面良好,有较好的输出功能。在完成课题基本要求后,具有创新型设计,具有一定的实用价值。4根据个人的设计调试过程,撰写设计报告。三、 课程设计内容熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。四、 课程设计要求1. 要求每个同学都要认真对待,积极参与。2. 课程设计结束时,提交完成的所有源程序、相关文件和可执行文件。同时填写并完成课程设计报告册。3. 不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参与的将作不及格处理。五、 考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,百分制计算,具体考核标准主要包含以下几个部分:1. 程序运行情况20分2. 程序功能的完善程度10分3. 程序结构的合理性10分4. 对问题的答辩情况20分5. 创新情况10分6. 学生的工作态度与独立工作能力10分7. 设计报告内容的规范性20分备注:1. 按规定时间填写各阶段文档,学习态度加5分2. 设计报告内容雷同扣40分,无调试过程问题分析扣10分,无参考文献扣10分3. 源程序无注释则在程序结构合理性扣10分六、 课程设计主要参考资料1. 谭浩强著. C程序设计(第3版). 北京:清华大学出版社,2005.72. 刘光蓉、汪靖、陆登波主编. C程序设计实验与实践教程. 北京:清华大学出版社,2011.23. 游洪跃主编. C语言程序设计实验与课程设计教程. 北京:清华大学出版社,2011.54. (美)PerterVan DerLinden著,徐波译. C 专家编程(C编程语言经典之作) . 北京:人民邮电出版社,2008.25. 凯尼格 著,高巍 译. C陷阱与缺陷. 北京:人民邮电出版社,2008.26. Mark de Berg等著,邓俊辉译,计算几何-算法与应用(第3版),清华大学出版社,2009年8月7. 杨克昌编著,计算机程序设计典型例题精解,国防科技大学大学出版社,1999年3月七、 课程设计计划安排时 间任 务课程设计前一周选择课程设计题目,分析课题的要求,确定设计方案,完成报告册中“课程设计概述”课程设计第1天按功能模块编写详细设计说明,完成报告册中“总体设计”课程设计第2天编写程序、调试程序课程设计第3天编写程序、调试程序,完成报告册中“详细设计”课程设计第4天调试程序,完成报告册中“调试分析过程”课程设计第5天完成报告册中“总结”、“参考文献”、“课程设计评审表”部分内容,提交课程设计报告、源程序、面试或答辩一、课程设计概述课程设计问题描述 编程绘制小球的动态碰撞轨迹。在屏幕的同一水平线上(设备坐标系)有两个小球,当第一个小球撞击另一个小球后,前者静止,后者将沿前一个小球的运动方向继续运动。设计要求1运动过程是连续的; 2小球撞击到屏幕的边界后应该返回(沿发射方向); 3任何时刻只有一个小球在动。设计目的利用所学知识,开发小型应用系统以验证动量守恒定律。开发环境操作系统:Windows7 软件环境:Microsoft Visual C+ 6.0二、总体设计(1)系统功能需求分析 由题目设计要求小球沿直线运动就需要做主函数来显示小球,然后擦去小球,确定运动轨迹,光标移动,擦去光标可分解为这几大步骤。 在小球运动上可设计一变量记录小球位置,然后定义速度变量控制位置变量。根据位置变量来判断小球的位置是否碰撞,再定义一个变量来控制小球的运动方向。在大体上可以就此控制小球的运动。 在小球颜色和背景颜色上可以用 void far setbkcolor( int color)设置作图色。 对于小球的运动是连续的定义延时变量显示内容刷新间隔时间的设定来完成。二、总体设计(2)系统总体设计框架开始主函数画球和擦球(擦球是用“”将“ ”覆盖确定小球的轨迹产生动画(用sleep函数使程序停止运行,产生延迟,做出动画效果)光标移动隐藏光标结束三、详细设计(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 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();system(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 HideCursor()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)调试过程出现的问题及解决方法在程序运行后出来的图像出现底色不断闪烁,而且小球的运动速度过快的现象。而且在前几次运行时在第一个小球撞击后一个小球时,在后一个小球运动时会一直向右没有撞击右侧边缘,直到第二个小球不见。在出现这些问题后,在调整背景颜色时选择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)测试数据及测试结果调试过后的运行截图 在调试各种数据后,运行的结果如上图基本上满足题目的设计要求五、总结设计用到的知识点 1.图形函数的使用; 2.图形函数库的使用方法; 3.系统函数功能的使用(小球颜色,背景颜色的设置); 4.显示内容刷新时间间隔的设定;收获与体会在此次的C 语言的课程设计中,我不仅学到了许多有庆这方面的专业知识,更重要的是我学会了如何在拿到一个题目时进行简单的程序分析,并编译出一些相对简单的程序,当然了,对自己编译出的不对的程序,我也能进行一些分析,并对其进行完善。不足与努力方向 在自己刚刚知道题目的时候还是对此不知道从何处 找到突破口,只是在网络上找到一些资料后才有些眉目,但还是有些构成不是很懂,这就是我对C语言运用的不熟练之处。在以后的学习之中要多多练习做到看到设计要求就能够有程序设计的思路,做到熟能生巧。六、参考文献参考书籍及参考论文与网址1.谭浩强著. C程序设计(第3版). 北京:清华大学出版社,2005.72.刘光蓉、汪靖、陆登波主编. C程序设计实验与实践教程. 北京:清华大学出版社,2011.23 .游洪跃主编. C语言程序设计实验与课程设计教程. 北京:清华大学出版社,2011.54.(美) Perter Van Der Linden著,徐波 译. C 专家编程(C编程语言经典之作) . 北京:人民邮电出版社,2008.25.凯尼格 著,高巍 译. C陷阱与缺陷. 北京:人民邮电出版社,2008.26.Mark de Berg等著,邓俊辉译,计算几何-算法与应用(第3版),清华大学出版社,2009年8月7.杨克昌编著,计算机程序设计典型例题精解,国防科技大学大学出版社,1999年3月课程设计成绩评审表姓名梅文杰学号1304080192班级电气1305班设计题目运动的小球作品描述编程绘制小球的动态碰撞轨迹。在屏幕的同一水平线上(设备坐标系)有两个小球,当第一个小球撞击另一个小球后,前者静止,后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论