- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言编程—猜数字游戏
计算机实习报告
面向过程编程
用C语言求解实际问题
一、问题描述
游戏类第15个任务——猜数字游戏
计算机从0~9这10个数字中任意选择n个不重复数字(n≤10)组成一个5位数(0不出现在首位),然后让玩家猜该数。若玩家猜对该数,游戏则结束;若玩家猜得不对,则计算机告知玩家,数字猜对了且位置也正确的数字有几个;数字猜对了但位置不正确的数字有几个,然后让玩家继续猜。对每个数玩家最多有m(m>0)次猜的机会。
功能要求:
?玩家可自行设置被猜数的位数n和最多猜测机会数m。
?玩家可用键盘输入其所猜数,也可通过鼠标点选数字给出其所猜数。
?当玩家没有猜对时,用不同颜色的文字显示数字猜对了且位置也正确的数字个数和数字猜对了但位置不正确的数字个数,且显示文字要直观、易理解。例如,正确答案为52467,玩家所猜为53269,则有2个数字(即5和6)数字对位置也对;有1个数字(即2)数字对但位置对。
?玩家猜测m次后仍未猜对,则向玩家公布答案,并询问玩家是否继续进行新游戏。此时玩家可以选择继续进行新游戏或退出游戏。
?当玩家猜对时,输出“恭喜你猜对了”,并询问玩家是否继续进行新游戏。此时玩家可以选择继续进行新游戏或退出游戏。
?玩家可以在游戏进行过程中选择放弃继续猜数。玩家放弃继续猜数后,询问玩家是否继续进行新游戏。此时玩家可以选择继续进行新游戏或退出游戏。
?若玩家猜对数字后选择退出游戏时,询问玩家是否记录其成绩,如果选择记录,则进一步要求玩家输入用户名;否则,直接退出。
?游戏维护一个排行榜,按照猜对一个5位数所用猜测次数由少到多的顺序排序,并在记录完玩家成绩后显示给玩家。
二、需求分析
1)猜数字游戏软件的功能有:
进入主菜单,输入挑战的次数,输入猜测的数字,若在此次数之内没有猜对,则提示挑战失败,是否继续挑战。
若挑战过程中途放弃,则提示是否继续挑战。
若挑战成功,则提示是否记录成绩,输入用户名,计入排行榜。排行榜会按照猜测次数由小到大进行排序。
在猜数字的过程中,每猜一个数字都会提示,数字正确且位置正确的个数是,数字正确但位置不正确的个数是,提示用户继续输入。
2)输入要求:
应用程序运行后,在屏幕上显示一个菜单。用户可以根据需要,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。
输出要求:
(1)应用程序运行后,在屏幕上显示一个菜单。
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
三、程序设计
针对需要做如下设计:
(1)数据结构设计
1、定义一个结构体数组,储存用户名。
struct paihang
{
char name[N];/*用户名*/
}s[N],s1,s2;
int w[N];
int q=0;
(2)模块设计
本模块主要实现功能的选择
1. 定义一个主函数菜单,选择开始游戏,退出,进入排行榜。
2. 比较用户输入的数与系统随机数是否相同,利用取余的方法,用用户输入的个位数与系统随机数的个位相比,十位与十位相比,以此类推,相同记录加一,得到数字相同,位置也相同的个数。
利用取余的方法,用用户输入的个位数与系统随机数的每一位比较,相同加一,并将相同的数字存储到数组中方便查询。然后,比较输入的数字的每一位,利用取余的方法,用个位与十位相比,若相同,则比较数组中是否含有这个数,含有则减一,跳出循环,由十位与百位相比,不含有则继续,以此类推,得到数字相同的个数,用数字相同的个数减去数字相同位置不同的数字个数。
3. 建立一个排行榜,将猜对的次数进行保存,并按由小到大的次数进行排行。
(3)主程序设计
调用一个菜单函数,显示开始进入游戏,排行榜,退出游戏,排除非法输入。
四、程序实现
(这一部分主要是说子程序的实现,以及引用的语言资源。具体来说,就是给出程序模块的实现)
(1)程序总体思路:
进入主页面菜单,选择管理员模式或用户模式。管理员模式要输入密码,方可进入。选择录入,修改和删除歌曲信息。用户模式中,包含各种查询功能,按编号,属性,歌曲名笔画,歌手名字的字典顺序,作者名字的字典顺序进行查询,点播。
(2)各模块函数的实现
1. void menu()主菜单信息函数
进入主菜单,输入挑战的次数,排除非法输入。
void cai()实现猜数字功能函数
输入一个五位数,排除非法输入,当玩家没有猜对时,用不同颜色的文字显示数字猜对了且位置也正确的数字个数和数字猜对了但位置不正确的数字个数。
当玩家猜对时,输出“恭喜你猜对了”,并询问玩家是否继续进行新游戏。此时玩家可以选择继续进行新游戏或退出游戏。
玩家可以在游戏进行过程中选择放弃继续猜数。玩家放弃继续猜数后,询问玩家是否继续进行新游戏。此时玩家可以选择继续进行
您可能关注的文档
最近下载
- 采购合同结清证明模板.doc VIP
- 对乡镇领导班子干部成员的批评意见范文.pdf VIP
- 各类骨折病人的体位护理.pptx VIP
- 机动车检测人员试题库(附答案).pdf VIP
- 2025年安徽工业经济职业技术学院单招职业技能测试题库带答案(综合题).docx VIP
- 工学院机械电子工程专业留学生培养方案.docx VIP
- 2025年湖南高速铁路职业技术学院单招职业适应性测试题库及一套完整答案.docx VIP
- 2023年蚌埠市从优秀村(社区)干部中考试录用乡镇机关公务员加分考试真题及答案.pdf VIP
- 【教学创新大赛】《数字信号处理》教学创新成果报告.docx
- 学习领会二十届中央纪委四次全会上重要讲话心得体会.docx VIP
文档评论(0)