猜数字游戏实验报告111.docx
- 文档编号:29912238
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:13
- 大小:153.78KB
猜数字游戏实验报告111.docx
《猜数字游戏实验报告111.docx》由会员分享,可在线阅读,更多相关《猜数字游戏实验报告111.docx(13页珍藏版)》请在冰豆网上搜索。
猜数字游戏实验报告111
C语言课程设计报告
题目:
猜数字游戏
班级:
通信工程
组名:
第三组
指导教师:
李梅
日期:
2011/12/1
1需求分析
问题分析
在本次实验中,我们将尝试编写一个猜数游戏程序。
结合现有的我们学过的C语言知识,我们可以编写一段程序,由计算机随机产生一个数字,由玩家输入数字,来实现猜数字游戏的过程。
采用技术
按照实验要求,我们将使用C语言运用TurboC来编写一个程序来实现这个猜数字的过程。
在程序中,我们将用到学过的while等C语言常用语句,调用rand()%100产生随机数等各类函数来完成猜数字实验程序。
设计目标
实现计算机产生随机正整数功能;实现对猜数字大小提示功能;实现提示所猜的次数;实现猜数字次数上限功能;实现对不同次数得到结果评定功能;实现再次开始游戏功能;
2总体设计
程序设计思路简介
编程先由计算机“随机生成”一个1~100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,则结束游戏;否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则停止本次猜数,然后继续猜下一个数。
每次运行程序可以反复猜多个数,直到操作者想停止时才结束。
系统模块设计
本次程序主要分为三个模块进行设计。
分别为随机产生被猜数字模块,程序主体循环猜数字模块,最后输出模块。
3详细设计
模块功能说明
模块1:
随机产生数字
该模块使用1+rand()%100函数产生最初的随机数字,并将其赋给point作为被猜数字。
模块2:
该模块为本程序主要部分,将以是否猜对为判断条件,是否大于10次为循环上限,使用while循环及if·else语句来完成猜数字的过程。
模块3:
该模块用于猜数字最终结果及成绩判定的输出。
程序设计模块流程
系统流程图
4测试结果
游戏开始界面
猜中结果
10内未猜中结果
再次接着猜
未猜中结束游戏
5程序清单
n");/*输出提示你要猜一个1到100之间的数*/
printf("Canyouguessmynumber\n");/*输出提示你能否猜出*/
printf("Pleasetypeyourfirstguess.\n");/*输出提示你开始猜第一个数*/
srand(time(NULL));/*以当前时间为种子,产生随机数*/
point=1+rand()%100;/*产生一个1到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("Tooagain.\n"); elseif(num>point)/*猜高了显示信息*/ printf("Tooagain.\n"); elseif(num==point)/*猜对了显示信息*/ { printf("Excellent! Youguessthenumber! \n"); if(count<10)/*10次以内猜对时显示信息*/ printf("Eitheryouknowthesecretoryougotlucky! \n"); elseif(count=10)/*第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%) 总成绩 个人成绩(百分制) 学号 姓名 组长评定 项目成绩 总成绩 张亮 良好 孙玉婷 良好 余芳芳 良好 附录1每周工作记录 组名 第三组 日期 2011/11/20 编号 003 本 周 工 作 概 要 程序的编写审查及实验报告的编写审查 下 周 工 作 计 划 PPT的制作及审查等后续工作 是否按计划完成 是 责任人 余芳芳 建 议 建议大家以后无论做什么工作都要先独立思考,然后再和大家讨论。 自己能做的要尽量独立完成。 附录2问题记录 序号 问题描述 日期 解决方案 1 连续猜数的实现 2011/11/23 查资料后调试解决 2 流程图的制作 2011/11/28 查资料讨论后共同解决
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 游戏 实验 报告 111