1、C语言深入编程期末课程设计报告成功案例北京理工大学珠海学院计算机学院C语言深入编程课程设计报告题目 心算如电 小游戏_ 完成日期: 2009 年 6 月 19 日原创性声明本人郑重声明:所呈交的课程设计报告,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。作者签名:日期:2009 年 6 月 19 日目 录一、序言.04二、课程设计题目.05三、设计算法与思路.05四、采用的变量和数组数据.06五、流程
2、图.08六、源代码.12七、调试分析.17八、个人课程设计心得体会.20九、致谢.21十、参考文献.21教师评语及成绩评定表.22一、 序言进入21世纪以来,社会信息化进程不断加速,信息化范围和个行个业信息化的程度都是空前的且不断的快速推进。C语言功能强大,具有丰富灵活的控制与数据结构、简洁而高效的表达语句、清晰的程序结构、良好的移植性、较小的空间开销等优点,已被广泛应用于将系统软件与应用软件的开发中。C语言是目前流行的通用程序设计语言,之所以成为许多计算机专业人员和计算机爱好者学习程序设计的首选入门语言,除C语言的众多优点外,最主要的还是C语言的实用性。C语言是程序设计的工具,因此学会使用C
3、语言并不是唯一目的,掌握计算机处理问题的思维方式和程序设计的基本方法,用以解决实际问题更为重要。而课程设计是重要环综合性较强的实践环节,它对帮助我们学生全面牢固地掌握课堂教学内容、培养我们学生的实践和实际动手能力、提高我们学生全面素质具有重要的意义。通过课程设计,提高学生在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力以及C/C+语言程序设计能力;同时培养我们学生编写程序设计文档的能力。由于本人水平有限,加上课程设计的时间紧迫,程序仍有很多不足之处,逻辑还不够严密,在算法设计上还有待改善.。希望老师见谅。我会在今后的学习,不断改进改善程序。 二、课程设计题目为小学生设计“
4、心算如电”的竞技游戏,考验学生的加法运算能力,提高学生的心算能力和心理素质,力求达到快、准。要求:1、游戏共两关,第一关,每个加数范围从09;第二关每个加数范围从099;2、必须连续答对10道题,才算通关;错一题,则归零;3、答题期间,不给出已答题数,由学生自动选择退出与否,若选择退出,则显示答题总数和答对总题数,连续答对10题者,外加输出星号三角行;4、若失败则可重新开始,也可继续闯第二关;5、第二关,通关则输出菱形。(注释:为了便于调试可采取答对三题过一关的方法进行程序编写。)3、设计算法与思路该程序是针对小学生设计的简单游戏,共分两关,(初步)决定调用两个函数,由系统自动出题,所以采用r
5、and()提取两个随机数,要答对10题才可以过关,所以可采用先执行后判断的循环控制语句do-while来实现过关与否,星号三角形和菱形可再定义一个函数采用for循环结构输出!我的具体的程序设计思路是这样的:依题注释,采用宏定义,定义T=3,代替10,减化程序调试过程定义一个函数m()来实现每一关的出题和答题,用rand()函数随机提取两个在定义范围内的数,赋值于变量first和变量seconddid即是两个加数。采用if语句判断答题正确与否,定义变量did和和ok,采用自加运算符(+)在函数m()中全程跟踪已答题数和答题正确数。在函数m()中采用先执行后判断的循环控制语句do-while实现局
6、部控制,用字符来实现,接着再使用if语句判断是否输出星号三角形。定义一个函数m1(),采用函数嵌套调用来输出星号三角形,星号三角形用双重for循环结构来实现输出。第一关与第二关类似,即需再定义两个函数n()和n2()主函数void()先输出游戏的一般信息“心算入电”,用getchar()函数来占用一个回车键;调用函数m()实现第一关游戏,(用if语句链接是否进去第二关游戏),调用函数n()来实现第二关游戏。 程序思路简述完毕。四、采用的变量和数据宏定义宏名作用值T控制过关应连续答对的题数3M控制随机数的取值范围10N控制随机数的取值范围10作用区域变量作用类型值主函数Void main()go
7、控制游戏的进程字符型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)五、流程图流程图如:六、源代码#
8、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*
9、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
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1