猜数字游戏实验报告111Word文档格式.docx
《猜数字游戏实验报告111Word文档格式.docx》由会员分享,可在线阅读,更多相关《猜数字游戏实验报告111Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
4测试结果7
4.1游戏开始界面7
4.2猜中结果7
4.310内未猜中结果8
4.4再次接着猜8
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游戏开始界面
4.2猜中结果
4.310内未猜中结果
4.4再次接着猜
4.5未猜中结束游戏
5程序清单
//bylglpgtx
#include<
stdio.h>
stdlib.h>
time.h>
main()/*函数入口*/
{
intpoint,num=0,count=0;
/*声明变量:
point是产生的随机数,
num是用户猜的数,并初始化为0,
count是猜数的次数*/
charc;
printf("
Ihaveanumberbetween1and100.\n"
);
/*输出提示你要猜一个1到100之间的数*/
Canyouguessmynumber?
\n"
/*输出提示你能否猜出*/
Pleasetypeyourfirstguess.\n"
/*输出提示你开始猜第一个数*/
srand(time(NULL));
/*以当前时间为种子,产生随机数*/
point=1+rand()%100;
/*产生一个1到100的随机数*/
while(num!
=point)
{/*循环的条件是猜的数和随机数不同*/
count++;
/*计数器加一*/
scanf("
%d"
&
num);
/*猜入一个数*/
getchar();
if(count>
=10)
{
printf("
Youshouldbeabletodobetter!
"
Youhaveguess%dtimesinthisgame\n"
count);
Wouldyouliketoplayagain(yorn)?
/*提示是否再来一次*/
%c"
c);
/*输入yorn*/
if(c=='
y'
)
{
count=0;
num=0;
}
elsebreak;
}
elseif(num<
point)/*猜低了显示信息*/
Toolow.Tryagain.\n"
elseif(num>
point)/*猜高了显示信息*/
Toohigh.Tryagain.\n"
elseif(num==point)/*猜对了显示信息*/
{
Excellent!
Youguessthenumber!
if(count<
10)/*10次以内猜对时显示信息*/
Eitheryouknowthesecretoryougotlucky!
elseif(count=10)/*第10次猜对时显示信息*/
Ahah!
Youknowthesecret!
/*游戏结束提示猜的次数*/
/*输入yorn*/
if(c=='
){/*执行语句的条件是输入的为y*/
/*产生一个1到100的随机数*/
/*提示开始猜第一个数*/
}
system("
pause"
/*暂停程序,等待按回车键继续执行下一语句*/
6感想
经过一周的C语言课程设计,我不但掌握了课本的一些基本知识,还自己动手制作出了一个简单的猜数字游戏程序。
虽然在编程过程中经常会犯错,但是这次之后感觉对C语言却有了更深入的了解。
从一开始的没有头绪到最后按照老师的要求逐步完成程序,这中间虽然经历了许多困难,但是经过调试修改后让我掌握了更多正确的语法知识及解决方案。
在设计程序的同时也加强了自己的实践能力及自学能力,培养了自己分析问题、编程和动手能力。
这次实践是我在学习C语言道路上的一次难得的体验。
(余芳芳)
通过C语言课程设计,使我对C语言有了更深入的理解,同时也增强了我独立思考与团队协作的能力,对我来说是一次难忘的经历。
在今后的C语言学习中,我会更加努力培养自己分析问题,解决问题的能力,让自身得到更大的锻炼。
(张亮)
在编写报告的过程中,虽然遇到了很多困难,但是经过查询资料以及和组员的讨论,最终问题得到了圆满的解决。
在这其中让我学到了很多课本上没有的知识,也让我明白了,只有通过实践才能更好的锻炼自己,使自己在C语言的学习道路上取得更大的进步。
(孙玉婷)
时间安排表
时间
内容
责任人
2011/11/20~25
编写程序
余芳芳
2011/11/26
检查程序
孙玉婷张亮
2011/11/27~30
写实验报告
孙玉婷
报告目录,流程图制作及排版
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
查资料讨论后共同解决