




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机实习报告面向过程编程用C语言求解实际问题1/1一、问题描述游戏类第15个任务一一猜数字游戏任务描述:计算机从09这10个数字中任意选择n个不重复数字(nW10)组成一个5位数(0 不岀现在首位),然后让玩家猜该数。若玩家猜对该数,游戏则结束;若玩家猜得不对,则 计算机告知玩家,数字猜对了且位置也正确的数字有几个:数字猜对了但位置不正确的数字 有几个,然后让玩家继续猜。对每个数玩家最多有m (m>0)次猜的机会。功能要求: 玩家可自行设置被猜数的位数n和最多猜测机会数m. 玩家可用键盘输入英所猜数,也可通过鼠标点选数字给岀其所猜数。 当玩家没有猜对时,用不同颜色的文字显示数字猜对了且
2、位置也正确的数字个数和数 字猜对了但位宜不正确的数字个数,且显示文字要直观、易理解。例如,正确答案为52467, 玩家所猜为53269,则有2个数字(即5和6数字对位置也对;有1个数字(即2数字 对但位置对。 玩家猜测m次后仍未猜对,则向玩家公布答案,并询问玩家是否继续进行新游戏。 此时玩家可以选择继续进行新游戏或退出游戏。 当玩家猜对时,输岀“恭喜你猜对了”,并询问玩家是否继续进行新游戏。此时玩家 可以选择继续进行新游戏或退出游戏。 玩家可以在游戏进行过程中选择放弃继续猜数。玩家放弃继续猜数后,询问玩家是否 继续进行新游戏。此时玩家可以选择继续进行新游戏或退出游戏。 若玩家猜对数字后选择退岀
3、游戏时,询问玩家是否记录其成绩,如果选择记录,则进 一步要求玩家输入用户剑;否则,直接退出。 游戏维护一个排行榜,按照猜对一个5位数所用猜测次数由少到多的顺序排序,并在 记录完玩家成绩后显示给玩家。二、需求分析1)猜数字游戏软件的功能有:进入主菜单,输入挑战的次数,输入猜测的数字,若在此次数之内没有猜对,则提示挑 战失败,是否继续挑战。若挑战过程中途放弃,则提示是否继续挑战。若挑战成功,则提示是否记录成绩,输入用户名,计入排行榜。排行榜会按照猜测次数 由小到大进行排序。在猜数字的过程中,每猜一个数字都会提示,数字正确且位置正确的个数是,数字正确 但位巻不正确的个数是,提示用户继续输入。2)输入
4、要求:应用程序运行后,在屏幕上显示一个菜单。用户可以根据需要,选左相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。3)输出要求:(1)应用程序运行后,在屏幕上显示一个菜单。(2)要求用户输入数据时,要给出淸晰、明确的提示信息,包括输入的数据内容、格式 及结束方式等。三、程序设计针对需要做如下设计:(1)数据结构设计1、泄义一个结构体数组,储存用户名。stnict paihangchar nameN;/* 用户名 */sN,sl,s2;2、第一一个全局变量的数组,存储用户输入与系统随机数比较中相同的数字int wN;int q二0;(2)模块设计本模块主要实现功能的
5、选择1. 泄义一个主函数菜单,选择开始游戏,退出,进入排行榜。2. 比较用户输入的数与系统随机数是否相同,利用取余的方法,用用户输入的个位数与系 统随机数的个位相比,十位与十位相比,以此类推,相同记录加一,得到数字相同,位置也 相同的个数。利用取余的方法,用用户输入的个位数与系统随机数的每一位比较,相同加一,并将相 同的数字存储到数组中方便査询。然后,比较输入的数字的每一位,利用取余的方法,用个 位与十位相比,若相同,则比较数组中是否含有这个数,含有则减一,跳岀循环,由十位与 百位相比,不含有则继续,以此类推,得到数字相同的个数,用数字相同的个数减去数字相 同位宜不同的数字个数。3. 建立一个
6、排行榜,将猜对的次数进行保存,并按由小到大的次数进行排行。(3) 主程序设计调用一个菜单函数,显示开始进入游戏,排行榜,退岀游戏,排除非法输入。四、程序实现(这-部分主要是说子程序的实现,以及引用的语言资源。具体来说,就是给出程序模块 的实现)(1) 程序总体思路:进入主页而菜单,选择管理员模式或用户模式。管理员模式要输入密码,方可进入。选 择录入,修改和删除歌曲信息。用户模式中,包含各种查询功能,按编号,属性,歌曲 名笔画,歌手名字的字典顺序,作者劣字的字典顺序进行查询,点播。(2) 各模块函数的实现1. void mcnu()主菜单信息函数进入主菜单,输入挑战的次数,排除非法输入。2. v
7、oid cai()实现猜数字功能函数输入一个五位数,排除非法输入,当玩家没有猜对时,用不同颜色的文字显示数字猜对 了且位置也正确的数字个数和数字猜对了但位置不正确的数字个数。当玩家猜对时,输岀“恭喜你猜对了”,并询问玩家是否继续进行新游戏。此时玩家可 以选择继续进行新游戏或退出游戏。玩家可以在游戏进行过程中选择放弃继续猜数。玩家放弃继续猜数后,询问玩家是否继 续进行新游戏。此时玩家可以选择继续进行新游戏或退岀游戏。若玩家猜对数字后选择退出游戏时,询问玩家是否记录英成绩,如果选择记录,则进一 步要求玩家输入用户名:否则,直接退出。3. void amcnu()排行榜功能函数按照猜对一个5位数所用
8、猜测次数由少到多的顺序排序。4. void jieshu()结束游戏函数提示'谢谢您的参与,再见!1 / 1(3)菜单的实现程序主菜单在主程序中,实现伪代码是:先输岀菜单的基本信息,再进行选择:int numbenret;printf(Mnt* * * * * * * * *nn) printf(Ht * *欢迎进入猜数字游戏* * * * *nnM);printf(Htt3.结束游戏nnM);printf(Htt2.排行榜”);dodoprintf("n 请选择选项(1-3):");ret=scanf(,%d,&number);printfC*输入错误请重
9、新输入”);fflush(stdin);while(ret!=l);)while(number>3);switch(number)case 1: system(”cls”);cai():brcak:开始游戏case 2: systeni(HclsN);anicnu();break7/排行榜case 3: system(,clsH);jieshu();break;/结束游戏1/1五、程序测试用户输入,开始游戏输入挑战次数输入一个五位数判断是否与随机数相同进行下一次判断猜数字游戏主菜单游戏中退出游戏*谢谢您的参与, 再见! ! *?ress any Jey to continue六、设计小结本程序完成了猜数字游戏的功能,可以实现每猜一次数字,都提示数字与位置都相同 和数字相同但位置不同的个数,以及记录成绩,实现排行榜等。优点是,用不同颜色的文字显示数字猜对了且位垃也正确的数字个数和数字猜对了但 位巻不正确的数字个数,且显示文字要直观、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风力发电场运行与维护预案
- 经济法特殊案例试题与答案
- 历史文物保护法的法律条款测试卷
- 工程经济考试中的常见难题解决试题及答案
- 农业经济管理与农民培训合作协议
- 公共关系学的情境领导力考核内容及试题及答案
- 资金管理优化措施计划
- 中考体育考试试题及答案
- 中医药方考试试题及答案
- 项目管理评审协议
- 私人店铺用工合同协议
- 猪保价合同协议
- (二模)2025年汕头市高三普通高考第二次模拟考试英语试卷(含答案)
- 2025年金融科技创新解读试题及答案
- 政协理论知识讲座课件
- 购买学位合同协议
- 消防水池基坑支护方案
- 于项目式学习的初中数学跨学科主题学习设计与实施-以“为校园古银杏树建立生长档案”项目为例
- Unit 7 A Day to Remember Section A (课件)-2024-2025学年英语人教版7年级下册
- 社会风险评估风险报告编制方案(技术方案)
- 教师语言与沟通艺术知到智慧树章节测试课后答案2024年秋温州大学
评论
0/150
提交评论