猜数字游戏实验报告111.docx
- 文档编号:25795292
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:16
- 大小:47.91KB
猜数字游戏实验报告111.docx
《猜数字游戏实验报告111.docx》由会员分享,可在线阅读,更多相关《猜数字游戏实验报告111.docx(16页珍藏版)》请在冰豆网上搜索。
猜数字游戏实验报告111
色西安欧亚学院
tUtfA'biiA*aUrlB
C语言课程设计报告
题目:
班级:
组名:
指导教师:
日期:
猜数字游戏通信工程第三组
李梅
2011/12/1
C语言课程设计报告1
目录2
1需求分析3
1.1问题分析3
1.2采用技术3
1.3设计目标3
2总体设计4
2.1程序设计思路简介4
2.2系统模块设计4
3详细设计5
3.1模块功能说明5
3.2程序设计模块流程5
3.3系统流程图6
4测试结果7
4.1游戏开始界面7
4.2猜中结果8
4.310内未猜中结果8
4.4再次接着猜9
4.5未猜中结束游戏9
5程序清单10
6感想12
时间安排表13
时间13
内容13
责任人13
课程设计评定表14
附录2问题记录17
1需求分析
1.1问题分析
在本次实验中,我们将尝试编写一个猜数游戏程序。
结合现有的我们学过的C
语言知识,我们可以编写一段程序,由计算机随机产生一个数字,由玩家输入数字,来实现猜数字游戏的过程。
1.2采用技术
按照实验要求,我们将使用C语言运用TurboC来编写一个程序来实现这个猜数字的过程。
在程序中,我们将用到学过的while等C语言常用语句,调用rand()%100产生随机数等各类函数来完成猜数字实验程序。
1.3设计目标
实现计算机产生随机正整数功能;实现对猜数字大小提示功能;实现提示所猜的次数;实现猜数字次数上限功能;实现对不同次数得到结果评定功能;实现再次开始游戏功能;
2总体设计
2.1程序设计思路简介
编程先由计算机“随机生成”一个1〜100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。
每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
2.2系统模块设计
本次程序主要分为三个模块进行设计。
分别为随机产生被猜数字模块,程序主体循环猜数字模块,最后输出模块。
3详细设计
3.1模块功能说明
模块1:
随机产生数字
该模块使用1+rand()%100函数产生最初的随机数字,并将其赋给point作为被猜数字。
模块2:
该模块为本程序主要部分,将以是否猜对为判断条件,是否大于10次为循环上限,使用while循环及if•else语句来完成猜数字的过程。
模块3:
该模块用于猜数字最终结果及成绩判定的输出。
3.2程序设计模块流程
猜数字游戏
输出猜数字结果
猜数字循环
随机产生数字
3.3系统流程图
4测试结果
4.1游戏开始界面
91User5\ha\De5l IhaveanuifTiJbei'between1and100.Cariii/ouguessnyniLinher? Fleasetypeyourfii*stguess. 4.2猜中结果 *'C: \Users\hp';Desktop\Cebuc: \S.exe' IliAueaniimbei'hetueen1and100.Canyou.guessmynumber? Pleasetype^rourfirstcfuess. 30 Tdqhigh-Tzy■ 19 Toohigh.Tryagaiin・ 15 Toohigh-T^yaqain. 10 Toolow.Tri/ag&in. 14 Excellent? Vouguessthenuunbei'? FitzlieT*^inuknnLJtlieseni*Rtnvi/nu{/n't1nrk^f ¥ouliaues(uss5timesinthisgan)E Mouldyouliketopla,y画gaintyorn>? 4.310内未猜中结果 4.4再次接着猜 TD: \ProgramFiles\MicrossftVisualStodio\MyProjects\mmn\Deb Ihaueanuniherbetween1and100. CaiRilm卽nnnh#v? Ploac®ty卫口 II Tmuluw.Ti'y 平 Tooloy.lry 13 Toolow.Try 10 Tddlou.Ti*y ctyctlni・ a^ain・ again. Tuu 14 Idd 13 Tdd 12 Too 11 Too 12 You a«jaJirii. asgalm・ agaim・ agiain・ shouldteabletodohettep? Jfouliaveguss10€linesInthisgame WouldyouIxketopla%/di*nJ? V Please Tdqlou^Try Toolou«Tv*j/ yourfirstguess.12amain卡 B'Qii-azn申 4.5未猜中结束游戏 D: \Prograrri]Files\MicrosoftVisualStudio\MyProjects\rnrmn\Debug\mmn.exe Fean90ugfue^smynumber? LPleac#type UJ1 Too 帆 Too 13 Too 14 Too yoiii*fii*ctgfuecc. low.Try lou■Ti*# Ibu-Try low.T^y lou-Try low-Tri/ again. again. agfainB CrainB a<(ain■ again■ low.Try again■ You Would2/ouliketopla«/agrainCyorn》? 審按任意键纟蝮•… shouldbeabletodobetter! ¥omhauequss18tinnesInthisgame 5程序清单 //byIglpgtx #include #include #include main()/*函数入口*/ { /*声明变量: point是产生的随机数, num是用户猜的数,并初始化为0, count是猜数的次数*/ intpoint,num=0,count=0; charc; printf("Ihaveanumberbetween1and100.\n"); printf("Canyouguessmynumber? \n"); printf("Pleasetypeyourfirstguess.\n"); /*输出提示你要猜一个1到100之间的数*/ /*输出提示你能否猜出*/ /*输出提示你开始猜第一个数*/ /*以当前时间为种子,产生随机数*/ /*产生一个1到100的随机数*/ srand(time(NULL));point=1+rand()%100; while(num! =point) {/*循环的条件是猜的数和随机数不同*/ count++;/*计数器加一*/ scanf("%d",&num);/*猜入一个数*/ getchar(); if(count>=10) { printf("Youshouldbeabletodobetter! "); printf("Youhaveguess%dtimesinthisgame\n",count); printf("Wouldyouliketoplayagain(yorn)? \n");/*提示是否再来一次*/ scanf("%c",&c);/*输入yorn*/ if(c=='y') { count=0; num=0; point=1+rand()%100; printf("Pleasetypeyourfirstguess.\n"); } elsebreak; } elseif(num printf("Toolow.Tryagain.\n"); elseif(num>point)/*猜高了显示信息*/ printf("Toohigh.Tryagain.\n”); elseif(num==point)/*猜对了显示信息*/ { printf("Excellent! Youguessthenumber! \n"); if(count<10)/*10次以内猜对时显示信息*/ printf("Eitheryouknowthesecretoryougotlucky! \n"); elseif(count=1O)/*第10次猜对时显示信息*/ printf("Ahah! Youknowthesecret! \n"); printf("Youhaveguess%dtimesinthisgame\n",count);/*游戏结束提示猜的次数*/ printf("Wouldyouliketoplayagain(yorn)? \n");/*提示是否再来一次*/ scanf("%c",&c);/*输入yorn*/ if(c=='y'){/*执行语句的条件是输入的为y*/ count=0; num=0; point=1+rand()%100;/*产生一个1到100的随机数*/ printf("Pleasetypeyourfirstguess.\n");/*提示开始猜第一个数*/ } } /*暂停程序,等待按回车键继续执行下一语句*/ } system("pause"); 6感想 经过一周的C语言课程设计,我不但掌握了课本的一些基本知识,还自己动手制作出了一个简单的猜数字游戏程序。 虽然在编程过程中经常会犯错,但是这次之后感觉对C语言却有了更深入的了解。 从一开始的没有头绪到最后按照老师的要求逐步完成程序,这中间虽然经历了许多困难,但是经过调试修改后让我掌握了更多正确的语法知识及解决方案。 在设计程序的同时也加强了自己的实践能力及自学能力,培养了自己分析问题、编程和动手能力。 这次实践是我在学习C语言道路上的一次难得的体验。 (余芳芳) 通过C语言课程设计,使我对C语言有了更深入的理解,同时也增强了我独立思考与团队协作的能力,对我来说是一次难忘的经历。 在今后的C语言学习中,我会更加努力培养自己分析问题,解决问题的能力,让自身得到更大的锻炼。 (张亮) 在编写报告的过程中,虽然遇到了很多困难,但是经过查询资料 以及和组员的讨论,最终问题得到了圆满的解决。 在这其中让我学到了很多课本上没有的知识,也让我明白了,只有通过实践才能更好的锻炼自己,使自己在C语言的学习道路上取得更大的进步。 (孙玉婷) 时间安排表 时间 内容 责任人 2011/11/20~25 编写程序 余芳芳 2011/11/26 检杳程序 孙玉婷张亮 2011/11/27~30 写实验报告 孙玉婷 2011/12/1 报告目录,流程图制作及排版 余芳芳: 2011/12/2 制作PPT 张亮 2011/12/3~4 修改PPT 余芳芳 课程设计评定表 项目名称 猜数字游戏 项目组 第三组项目组长余芳芳 组成员 张亮余芳芳孙玉婷 个人工作简介 余芳芳: 编写程序 孙玉婷、张亮: 检查程序 孙玉婷: 写实验报告 余芳芳: 报告目录、流程图制作及排版 张亮: PPT的制作 余芳芳: PPT的修改 组 长 评 语 在制作过程中大家都很有团队协作精神,认真学习,努力解决困难,共同学习进步,每个人的收获都很多。 教 师评语 项目成绩(百分制) 作品(30%) 报告(30%) ppt(15%) 表达(10%) 提问(15%) 总成绩 个人成绩(百分制) 学号 姓名 组长评定 项目成绩 总成绩 103250010125 张亮 良好 103250010102 孙玉婷 良好 103250010104 余芳芳 良好 附录1每周工作记录 组名 第三组 日期2011/11/20编号003 本周工作概要 程序的编写审查及实验报告的编写审查 下周工作计划 PPT的制作及审查等后续工作 是否按计划完成? 是 责任人余方方 建 议 建议大家以后无论做什么工作都要先独立思考,然后再和大家讨论。 自己能做的要尽量独立完成。 附录2问题记录 序号 问题描述 日期 解决方案 1 连续猜数的实现 2011/11/23 查资料后调试解决 2 流程图的制作 2011/11/28 查资料讨论后共同解决
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 游戏 实验 报告 111