C语言深入编程期末课程设计报告成功案例.doc_第1页
C语言深入编程期末课程设计报告成功案例.doc_第2页
C语言深入编程期末课程设计报告成功案例.doc_第3页
C语言深入编程期末课程设计报告成功案例.doc_第4页
C语言深入编程期末课程设计报告成功案例.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

北京理工大学珠海学院计算机学院C语言深入编程课程设计报告题目 心算如电 小游戏_ 完成日期: 2009 年 6 月 19 日原创性声明本人郑重声明:所呈交的课程设计报告,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。作者签名:日期:2009 年 6 月 19 日目 录一、序言.04二、课程设计题目.05三、设计算法与思路.05四、采用的变量和数组数据.06五、流程图.08六、源代码.12七、调试分析.17八、个人课程设计心得体会.20九、致谢.21十、参考文献.21教师评语及成绩评定表.22一、 序言进入21世纪以来,社会信息化进程不断加速,信息化范围和个行个业信息化的程度都是空前的且不断的快速推进。C语言功能强大,具有丰富灵活的控制与数据结构、简洁而高效的表达语句、清晰的程序结构、良好的移植性、较小的空间开销等优点,已被广泛应用于将系统软件与应用软件的开发中。C语言是目前流行的通用程序设计语言,之所以成为许多计算机专业人员和计算机爱好者学习程序设计的首选入门语言,除C语言的众多优点外,最主要的还是C语言的实用性。C语言是程序设计的工具,因此学会使用C语言并不是唯一目的,掌握计算机处理问题的思维方式和程序设计的基本方法,用以解决实际问题更为重要。而课程设计是重要环综合性较强的实践环节,它对帮助我们学生全面牢固地掌握课堂教学内容、培养我们学生的实践和实际动手能力、提高我们学生全面素质具有重要的意义。通过课程设计,提高学生在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力以及C/C+语言程序设计能力;同时培养我们学生编写程序设计文档的能力。由于本人水平有限,加上课程设计的时间紧迫,程序仍有很多不足之处,逻辑还不够严密,在算法设计上还有待改善.。希望老师见谅。我会在今后的学习,不断改进改善程序。 二、课程设计题目为小学生设计“心算如电”的竞技游戏,考验学生的加法运算能力,提高学生的心算能力和心理素质,力求达到快、准。要求:1、 游戏共两关,第一关,每个加数范围从09;第二关每个加数范围从099;2、 必须连续答对10道题,才算通关;错一题,则归零;3、 答题期间,不给出已答题数,由学生自动选择退出与否,若选择退出,则显示答题总数和答对总题数,连续答对10题者,外加输出星号三角行;4、 若失败则可重新开始,也可继续闯第二关;5、 第二关,通关则输出菱形。(注释:为了便于调试可采取答对三题过一关的方法进行程序编写。)3、 设计算法与思路该程序是针对小学生设计的简单游戏,共分两关,(初步)决定调用两个函数,由系统自动出题,所以采用rand()提取两个随机数,要答对10题才可以过关,所以可采用先执行后判断的循环控制语句do-while来实现过关与否,星号三角形和菱形可再定义一个函数采用for循环结构输出!我的具体的程序设计思路是这样的:依题注释,采用宏定义,定义T=3,代替10,减化程序调试过程定义一个函数m()来实现每一关的出题和答题,用rand()函数随机提取两个在定义范围内的数,赋值于变量first和变量seconddid即是两个加数。采用if语句判断答题正确与否,定义变量did和和ok,采用自加运算符(+)在函数m()中全程跟踪已答题数和答题正确数。在函数m()中采用先执行后判断的循环控制语句do-while实现局部控制,用字符来实现,接着再使用if语句判断是否输出星号三角形。定义一个函数m1(),采用函数嵌套调用来输出星号三角形,星号三角形用双重for循环结构来实现输出。第一关与第二关类似,即需再定义两个函数n()和n2()主函数void()先输出游戏的一般信息“心算入电”,用getchar()函数来占用一个回车键;调用函数m()实现第一关游戏,(用if语句链接是否进去第二关游戏),调用函数n()来实现第二关游戏。 程序思路简述完毕。四、采用的变量和数据宏定义宏名作用值T控制过关应连续答对的题数3M控制随机数的取值范围10N控制随机数的取值范围10作用区域变量作用类型值主函数Void main()go控制游戏的进程字符型go的判断值为g分函数Void m()分函数Void n()ok计算答题正确数整形ok的初值为0did计算答题总数整形did的初值为0first实参(加数)整形随机数second实参(加数)整形随机数answer给学生的答案赋值整形输入correct计算两实参的和整形contin控制游戏的进程字符型contin的初值为y分函数Void m1()i循环变量整形i从1到3自增j循环变量整形j从1自增到(202*i)和(2*i1)分函数Void n2()i循环变量整形i从1到4自增i从3到1自减j循环变量整形j从1自增到(202*i)和(2*i1)五、流程图流程图如:printf(欢迎使用 心算如电 益智游戏 按Enter键开始n)getchar()m()printf(进入下一关,你准备好了吗?(go or not) )scanf(%s,&go)go=gn()printf(Game Over!n)char contin=ysrand(unsigned)time(NULL)first=rand()%Nsecond=rand()%Mprintf(Game Over!n); getchar();scanf(%d,&answer); did+;correct=first+secondanswer=correctYes printf(好样的!答对了!n); ok+;printf(NO! 正确答案是 %dn,correct); scanf(%s,&contin) printf(n); printf(继续答题?(y,n) )contin=ycontin= =Ycontin=y printf(做了%d道题n,did); printf(答对%d道题,ok); printf(n);ok=T&ok%did= =0Yes m1()i=3i=1i+j=20-2*ij=1j+j=T&ok%did=0printf(恭喜你!成功了!n)n2()i=4i=1i+j=20-2*ij=1j+printf(%c, )j=1i=3i-j=20-2*ij=1j+printf(%c, )j=2*i-1j=1j+printf(%2c,*); printf(n)六、源代码#include#include#include#define T 3#define M 10#define N 10void m1() int i,j; for(i=1;i=3;i+) for(j=1;j=20-2*i;j+) printf(%c, ); for(j=1;j=T&ok%did=0) m1(); else printf(请重新开始n); printf(n); getchar(); void n2()int i,j;for(i=1;i=4;i+) for(j=1;j=20-2*i;j+) printf(%c, ); for(j=1;j=1;i-) for(j=1;j=20-2*i;j+) printf(%c, ); for(j=1;j=T&ok%did=0) printf(恭喜你!成功了!n); n2(); void main()char go;printf(欢迎使用 心算如电 益智游戏 按Enter键开始n);getchar();m(); printf(进入下一关,你准备好了吗?(go or not) ); scanf(%s,&go); if(go=g) n(); printf(Game Over!n); getchar();七、调试分析此程序在“C与C+程序设计学习与实验系统2008.10”与“VC6.0”上调试皆通过,其结果如下:1、主界面 2、游戏开始3、第一关失败4、第一关成功5、闯第二关6、第二关功成7、第二关失败八、个人课程设计心得体会 回顾起此次课程设计,至今我仍感慨颇多,从老师出题,到自己选题,然后确定题目直到完成整个编程,从理论到实践,在整整两个多星期的日子里,我沉浸在编程的乐趣里,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过本次论文设计,我初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和整合处理这些资料的能力,这为以后的大学毕业设计论文打下了一个初步的基础使我收益最大的是享受到了一种成功的喜悦 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动。 同时,我也感到了想要学好C语言还有很长一段路要走,要想真正掌握好编程技术一定要付出更多的努力,当然基本的C语言知识一定要学好,而不是只知道皮毛而已。对于今后的学习我觉得要做好一下几点: 1加深对课堂讲授内容的理解课堂上要老师讲授许多关于c语言的语法规则,听起来有点枯燥无味,也不容易记住,死记硬背是不可取的。课后通过多次上机练习,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定; 2熟悉程序开发环境一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行;3学会上机调试程序,学会自己找出问题的关键并解决; 因为程序编写完后,决不意味着万事大吉。往往自己认为万无一失的程序,实际上机运行时可能不断出现麻烦。 最后,我觉得课程设计需要一定的耐心才能做好。坚持就是胜利!我们绝不能中途放弃,要用心做好每一个设计。 九、致谢 能做好这个程序设计离不开丁老师的谆谆教导,丁老师这一个学期的教导,不仅让我对C语言有了更深入的了解,自己完成此次的课程设计,同时,也让我更深刻的明白了一些道理。丁老师严谨求实的教学态度、强烈的时间观念都对我产生了重大影响

温馨提示

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

评论

0/150

提交评论