《C语言程序课程设计报告书分糖游戏.doc》由会员分享,可在线阅读,更多相关《C语言程序课程设计报告书分糖游戏.doc(17页珍藏版)》请在三一办公上搜索。
1、吉林工程技术师范学院C语言程序课程设计报告书设计题目: 分 糖 游 戏 专 业: 计算机应用 班级: C1021 学生姓名: 学号: 19 指导教师: 2010年12月信息工程学院摘 要分糖游戏是以培养学生的C语言应用能力为主,实现开发智力的挖掘过程。本报告主要介绍了在这个程序的编写和设计过程中的所有记录,包括:程序的设计思想、程序的整体结构设计、编写程序过程中遇到的问题和采取的对策、程序运行通过后的结果等内容。简易的分糖游戏程序的实现有利与在以后的游戏开发项目中提供良好的思维方式,且运用身边的数学问题,把抽象的问题实际化,使知识能更好的理解与加深印象。课程设计是培养学生综合运用所学知识,发现
2、,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,游戏程序已经成为当今计算机应用中空前活跃的领域,在生活中可供人们放松娱乐。因此作为二十一世纪的大学生来说掌握例如分糖果的小游戏程序的开发技术是十分重要的。关键字:函数 数组 c语言 循环语句I目 录摘 要I第1章 概述1第2章 系统分析22.1 技术分析22.2 功能分析2第3章 总体设计与详细设计33.1 系统总体设计33.2 详细设计4第4章 编码实现54.1 数据输入部分代码设计54.2 运算部分代码设计54.3 输出部分代码设计6第5章 系统调试75.1 程序运行结
3、果75.2 调试过程中的问题与对策7第6章 设计总结9参考资料12致谢12附录:1 源代码13信息工程学院 C语言课程设计报告第1章 概述C语言是一种结构化设计语言,它兼顾有高级语软件,又可用于设计制作系统软件。同时,C语言是一种较为通用的编程软件,在目前的软件行业中使用也是十分广泛。虽然现在大多数的软件设计是通过其他高级语言以及采用系统集成润健编译,但它们的核心还是离不开使用C语言来构建。C语言程序设计作为一门专业基础课,必须理论与实践并重必须充分考虑学生的学习基础、学习习惯与培养目标。简易的分糖游戏程序的实现有利与在以后的游戏开发项目中提供良好的思维方式。除此之外,分糖游戏也是运用身边的数
4、学问题,培养学生“用数学的眼光看生活”的意识。把抽象的“平均分”的意义蕴涵在具体的生活中,使数学生活化。在解决分糖果的过程中,体会到:在分较大数目的物品时,一次分不完,可以分步分;每次不必一块一块的分,边分边根据剩下的数量来确定下次分多少更合适。再将糖的增加,依次循环进行,培养学生有依据的进行估计活动,创设了一次提高估计意识、增强数感的机会。培养学生思维的灵活性以及学生的估计意识和勇于创新的精神。第2章 系统分析2.1 技术分析程序总体思路:1. 定义函数a b j2. 在主函数中定义静态变量m 和整型变量I,t,l3. 输出提示语句4. 调用函数a5. 用循环语句,进行循环6. 再次调用函数
5、 a b 7. 输出结果本程序主要用静态变量、循环语句,调用函数。主要是需要语句的多重循环,反复的赋值递数,以实现程序的顺利运行。软件系统采用Turbo C2.0作为题目的设计平台,在这个平台上进行程序的调试。2.2 功能分析分糖游戏的主要功能是输出分糖的人数,分糖过程中滚动的次数,以及输出提示信息等。第3章 总体设计与详细设计3.1 系统总体设计1设计流程图系统总体结构图如3-1所示。开始定义函数void a (int s ) int b (int c ) int d=0定义静态数组m 输出次数 调用函数a ( m )While 循环输出提示语句调用函数并输出结束用for 输入初数 判断数字
6、是否为偶数将数的一半赋给下个数将数增大一的和的一半赋给下个数 是否用for 输入总数图3-1 总体设计流程图3.2 详细设计1定义整型函数 void a ( int s ); int b (int c ) ; int d=0;2主函数. 定义静态变量 m 并初始化. 输出序号以及滚动的次数. 调用函数a. While循环包括for 循环且带有输出信息提示3调用的函数 a和b函数中都用for循环 输出结果第4章 编码实现4.1 数据输入部分代码设计在程序中数据的输入使用了数组,程序如下:void a (int s);int b (int c);int d=0;void main() static
7、 int m5=1,2,2,3,2, i,t5,l; clrscr();4.2 运算部分代码设计在程序中数据的输入使用了函数、数据交换,程序如下:1a(m); while( b (m) for (i=0;i5;i+) if (mi%2=0) mi=mi/2; ti=mi; else mi=(mi+1+1)/2; ti=mi; for (l=0;l4;l+) ml+1=ml+1+tl; m0=m0+t4; a(m); 2int b(int c) int i; for (i=0;i5;i+) if(c0!=cj) return 1; return 0; 4.3 输出部分代码设计在程序中数据的输入使
8、用了数组、循环,程序如下:void a(int s) int k; printf( “ %2d ”,d+); for (k=0;k5;k+) printf( %4d ,sk); printf(n);第5章 系统调试5.1 程序运行结果系统调试通过后的运行界面如图5-1所示。图5-1 程序运行结果图本程序中输入的数据只限糖果的块数即分别为1 、2 、2 、3、2 5.2 调试过程中的问题与对策1问题(1)把赋值号“=”错用为“=”,改正后运行正常。(2)for循环体包含了两条及两条以上的语句,语句为复合语句,必须用 括起来。(3)调试中变量必须先定义后使用。(4)函数的调用顺序出现错误。2对策在
9、运行中不断出现错误,查找资料,再次的查阅课本资料,加深对基础知识的理解印象,向老师与同学请教,经过自己的反复思考,直到程序运行成功,磨练了自己的耐心。一个好的程序员需要有更好的耐心及严谨的编程风格 ,经过一次一次反复的修改,得到老师及同学的帮助,以及自己的反复思考,查找资料,最后程序运行成功。丰富知识,吸取更多的经验,在以后的编程中我会不断的改进,更好的完善自己。第6章 设计总结通过本次C程序课程设计,我觉得对自己提高很大:克服了我的偷懒的毛病,这在我以后的学习和工作中的心理定位与调节有很大的帮助。我感受到了编程是一项非常烦琐周密的活动,它不但需要一个人周密的思考问题的能力,处理问题的能力,还
10、需要有足够的耐心和严谨治学的作风,不得有半点马虎。通过本次C程序课程设计,我初步学会了课程设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道如何去查找资料和集合处理这些资料的能力,这为以后的大学设计报告打下了一个初步的基础,使我收益最大的是享受到了一种成功的喜悦,在这一个星期之中从开始的确定课程设计题目,然后是上网和上图书馆查找资料,编写C语言源程序,然后是进行编译,这个环节是一个非常痛苦和艰难的,常常会因为一小点的错误而在编译失败与再次修改的漫漫循环之路中,但失败的越多,对人的考验就越多,在编译运行成功之后的享受成功的喜悦也就越多,另外在调试程序的过程中不断的思考和运用已经学到的知识,这
11、对于自己是有很大的提高的。这个分糖果游戏源程序的最大特点是采用了在主函数中调用子函数思想,每一种功能都是用子函数的办法来进行处理,简洁,清晰,方便,不容易出现错误。但还有许多过程还有待于在以后的学习中不断提高和改进,使程序更加完美。 回顾起此次分糖果游戏课程设计,至今我仍感慨颇多,的确从选题到定稿,从理论到实践,在整整一个星期的过程中,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时
12、在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说数据结构,多个函数的调用通过这次课程设计之后,一定把以前所学过的知识重新温故。设计中我学到了很多知识,在操作过程中,同学之间的互相探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之间的感情。希望以后还会有更多类似的课程设计,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础。经此次C课程设计可以跟大家说几点经验:1.在学习的时候一定要注意这几点,不会的一定要问明白,不管谁能让他教会你知识就是你的了,要学会让知识为我所用。在看书的时候一定要做好标记,
13、特别是不懂的地方一定要标明是什么意思。2.在学习语言的时候一定要记住动手,不要只说不做,这样会行成眼高手低,不管什么样的程序都要亲手做过才能说会了,不要整天说我不会学不会,其实是你不想学,只是你下决心抄一个月程序,我保证能有大的进步,其实当你抄到一周到两周的时候你就会特想抄,因为你会发现程序你能看懂了,能帮别人调程序了,有一种成就感!它会让你更加努力的去学习。3.再一点是我建议大家在上课的时候少看课本,课本要在下课的时候看特别是上课前一定要先看看课本,上课的时候就不要看了,不要老师讲到那个问题了你马上在书上找,这样不好,会影响你的注意力,其实还真不如注意听老师讲,因为你要是一边听一边看课本,你
14、是看到了书上的答案但是老师的思路你没有听到,而要是你不看的话,你听明白了思路,一定是想迫切的看到结果,这个时候看课本才是记的最死的时候,学习要的就是个效率。4.提醒大家学习要讲效率,我发现有很多同学天天学习,每天最早到教室,走的又最晚,别人玩他在学,别人学他也学,可是别人的一天30%的学习时间却比他们一天50%以上的学习时间的效率要高上不仅仅是几倍的问题,所以我要说的是不要对别人说你天天在学习,要说你天天在进步,学习不是要你学习了多久,是要你学了多少东西的,你学一小时还没有别人学一分钟的效率高,是自己在浪费时间,不想学的时候就不要学,出去休息一会再来学说不定会有更好的效果在人生的每一个漂流中,
15、可能会远离我们的人生坐标。问题在于,我们应该学会在远离目标的时侯,去创造条件,接近目标。所谓创造条件,本身就是一种进取,一种求索,一种心向即定目标的执着,一种坚忍不拔的追求。把这种精神用于每一个程序之中,在并不断的积累中去领悟一个伟大程序员的艰辛与喜悦。人的一生是漫长的,更是变动的。外在条件的变化,家境的变迁,突发事件的出现,都会使我们的境遇变得困难起来。在艰难困苦面前,我们要以乐观豁达的心情直面人生;以艰韧不拔的毅力支撑自我;以正确的价值取向占据灵魂。把艰难困苦当成是一种磨炼,一种积垫和一种成熟。用耐心和信心去设计出更好的程序,享受成功的喜悦。参考文献1 乌云高娃等.C语言程序设计.北京:高
16、等教育出版社,2007.72 何光明等.C语言使用培训教程.人民邮电出版社,2003.1致 谢在课程设计即将完成之际,我想向曾经给我帮助和支持的人们表示衷心的感谢。首先要感谢我的老师王少华,她在学习和实践方面给了我大量的指导,并为我们提供了良好的学习环境,让我学到了知识,掌握了C语言程序设计的方法,也获得了实践锻炼的机会。除此之外她对我学习的关心和照顾也使得我得以顺利完成此次课程设计。在此祝愿她身体健康,全家幸福!感谢在此次C语言课程设计中的同学,他们在我第一次课程设计的过程中给了我莫大的帮助和鼓励。特别要感谢我的好朋友周丹丹,王莹,钟成浩,她们给了我无数的关心和鼓励,也让我的生活充满了温暖和
17、欢乐。我非常珍视和他们的友谊!是他们的信任给了我很多锻炼的机会,也一直对她们给予我的生活上的照顾心存感激。和她们一起为此次课设的奋斗是我人生中一段难忘的经历。感谢生我养我的父母,他们给了我无私的爱,我深知他们为我求学所付出的巨大牺牲和努力,而我至今仍无以为报。祝福他们,以及那些给予我关爱的长辈,祝他们幸福、安康!最后,还有很多我无法一一列举姓名的师长和友人给了我指导和帮助,在此衷心的表示感谢,他们的名字我一直铭记在心!附录1源代码void a (int s );int b (int c );int d=0;void main ()static int m5=1,2,2,3,2,i,t5,l;
18、clrscr(); printf(child no. 1 2 3 4 5n); printf(round no.1n); a(m); while(b (m) for (i=0;i5;i+)if (mi%2=0) mi=mi/2; ti=mi; Else mi=(mi+1+1)/2;ti=mi; for(l=0;l4;l+)ml+1=ml+1+tl; m0=m0+t4; a(m); printf(n press any key to quit.); getch(); int b(int c) int i; for(i=0;i5;i+) if(c0!=ci) return 1; return 0;
19、 void a(int s) int k; printf( %2d ,d+); for (k=0;k5;k+) printf( %4d ,sk); printf(n); ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOu
20、ijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMw
21、L3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx
22、0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7
23、moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA3
24、7lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ14