1存档资料成绩:华东交通大学课程设计报告书所属课程名称C程序设计题目出圈游戏的程序设计院(系)信息工程学院班级通信一班学号20140610080126学生姓名郑坚指导教师刘媛媛辅导教师刘媛媛2015年6月27日1课程设计(论文)任务书信息工程学院通信工程专业14-1班一、课程设计(论文)题目:出圈游戏的程序设计二、课程设计(论文)工作自2015年6月22日起至2015年6月27日止三、课程设计(论文)地点:8-602四、课程设计(论文)内容要求:1.本课程设计的目的(1)进一步巩固和加深对“C程序设计”课程基本知识的理解和掌握,了解C语言在项目开发中的应用。(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。2.课程设计的任务及要求1)基本要求:(1)对系统功能进行需求分析;(2)使用VisualC++编译器进行程序编译;(3)提出系统的设计方案;(4)编写源程序代码并进行调试。2)创新要求在基本要求达到后,可进行创新设计。3)课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。报告按如下内容和顺序用A4纸进行打印并装订成册。(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。(2)设计任务书(3)评阅书(4)目录(5)正文2(6)主要参考文献4)课程设计评分标准:每人按指定题目进行设计,严禁抄袭,各选题2人/组。要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2)能正确回答设计的中老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。5)课程设计进度安排(1)准备阶段(3学时):选择设计题目、了解设计目的要求、查阅相关资料。(2)程序模块设计分析阶段(4学时):程序总体设计、详细设计。(3)代码编写调试阶段(10学时):程序模块代码编写、调试、测试。(4)撰写论文阶段(3学时):总结课程设计任务和设计内容,撰写课程设计论文。6)课程设计题目具体要求:假设有人数为n个人的一人小组,他们按顺时针方向围坐一圈。一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报数到m时停止报数。报数m的人出列,然后从他原来所在的、顺时针方向的下一个人开始重新从1报数,报到m时停止报数并出列。如此下去,直至所有人全部出列为止。学生签名:_____________2015年6月22日3课程设计(论文)评阅意见序号项目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5设计中创新性评价6论文书写规范化评价综合评定等级评阅人职称讲师2015年6月29日4目录一、需求分析.....................................................错误!未定义书签。二、概要设计.....................................................错误!未定义书签。三、详细设计.....................................................错误!未定义书签。四、设计和调试分析.........................................错误!未定义书签。五、用户手册.....................................................错误!未定义书签。六、测试结果.....................................................错误!未定义书签。七、参考文献.....................................................错误!未定义书签。5第1章需求分析出圈游戏可用于年龄较小的孩童的智力游戏,从而锻炼他们的心智,该种游戏简单易懂.操作简单,随即就能玩.问题描述:假设有n个人按顺时针围成一圈,一开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始报数,报到m时停止报数。报到m的人出列,然后从他原来所在的顺时针方向的下一个开始重新从1报数,报到m时停止报数并出列。如此下去,直至所有的人全部出列为止。要求按他们出列的顺序输出他们原来的序号和名字。问题的解决方案:本课程设计任务描述中,要实现从键盘随机输入这两个数据完成出圈游戏。因此,需要根据运行时的实际要求,分配适当大小的存储区。当回答参加游戏的人数之后,即可为程序分配一块内存块,用来存入游戏者的名字和序号。但在计算中,需要将点到的人出圈,这是通过将对象的序号均变为0实现的。基本要求:(1)源代码程序要求必要的注释。(2)每个模块存入一个文件中,以多文件模式存储并调试程序。创新要求在基本要求达到后,可以进行创新设计,如使用动态存储管理(使用动态数组接收输入,并且参加游戏的人数和间隔可变)。6第2章概要设计内容说明:根据系统设计要求,给出程序设计的总体基本框架、主要算法思想原理,建议用流程框图、类图等进行描述。7第3章详细设计给出程序实现的全部源代码,要求:(1)要求采用模块化程序设计,锯齿型书写格式。(2)程序清单中的各函数模块都要注释说明其功能。(3)代码一律采用courierNew字型,五号字体(4)两人一组的必须要写出各自具体分工。(*)示范:(航空定票系统的菜单设计的详细设计)/****************************************/#includestdio.h#includestdlib.hintmain(){charplayers[20][10];intn,M,S,i,j,k,m=1,a[20];while(m){printf(请输入参加出圈游戏人数:\n);scanf(%d,&n);printf(请输入参加出圈游戏人员名单:\n);for(i=0;in;i++){printf(第%d位:,i+1);scanf(%s,players[i]);8if(players[i][0]=='!')break;}printf(请输入出圈数字:);scanf(%d,&M);printf(请输入起始位置:);scanf(%d,&S);printf(共有%d人参加游戏,出圈数字是%d,起始位置:%d(%s)\n,n,M,S,players[S-1]);printf(\n开始游戏...\n);for(i=0;in;i++)a[i]=i+1;k=1;i=S-2;while(1){if(kn)break;for(j=0;jM;){i=(i+1)%n;if(a[i]!=0)j++;}printf(%s出圈!\n,players[i]);a[i]=0;k++;}printf(\n%s是胜利者!\n,players[i]);9getchar();getchar();system(cls);}return0;}第四章运行结果及分析内容说明:(1)给出程序运行后的实际结果,建议用界面图形描述。(2)对结果要进行简洁的分析说明。1011121314第5章课程设计心得经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。在我们小组有解决不了的问题时,我们会主动查阅相关的资料,或向其他同学询问,这不仅丰富了我们的知识,还增进了我们同学之间的友谊。在学习过程中发现学习耐心与细心不足,如scanf(“%d”,&n);中的“&”经常忘记,有很多有用但不做考试要求的书中内容没有学好,认识程度不够深刻。就算以后C语言这门课程结束后也应多看相关东西,多上机练习,才能真正从本质上提高自己。15参考文献[1]谭浩强.C语言程序设计教程[M].清华大学出版社.2007.6[2]《C语言程序设计》精品课程[3]严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,2007[2]张长海.C语言程设计[M].北京:高等教育出版社,2006[4陈建新,李志敏.数据结构实验指导与课程设计教程.北京:科学出版社,2010[4]吴玉蓉,李劲.数据结构(C语言版).北京:中国水利水电出版社,2008