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()实现猜数字功能函数

输入一个五位数,排除非法输入,当玩家没有猜对时,用不同颜色的文字显示数字猜对了且位置也正确的数字个数和数字猜对了但位置不正确的数字个数。

当玩家猜对时,输出“恭喜你猜对了”,并询问玩家是否继续进行新游戏。此时玩家可以选择继续进行新游戏或退出游戏。

玩家可以在游戏进行过程中选择放弃继续猜数。玩家放弃继续猜数后,询问玩家是否继续进行新游戏。此时玩家可以选择继续进行

c语言编程题猜数字游戏6题,c语言编程—猜数字游戏.doc相关推荐

  1. 用python做C语言的猜数字游戏,[Python3 练习] 007 简单的猜数字小游戏

    题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...

  2. C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)

    题目描述:输入1-100之间的数字,进行猜数字游戏,猜大猜小有提示,直至才对为止,游戏可以重复游玩. 算法思路: 1.用void函数分别写出菜单程序与游戏进程程序. 2.用switch-case-de ...

  3. 分析并实现 —— 猜数字小游戏(利用C语言实现)

    实现猜数字的游戏: 要用程序完成以下几步: 1.电脑自动生成随机数(1到100之间的数字) 2.玩家输入自己猜的数字(输入0 -- 100之间的数字) 3.猜对了就输入:猜对了 猜错了就输入:猜大了, ...

  4. cpp判断输入为数字_猜数字小程序带你C语言入门

    学习编程注重实践,不少同学书看了好几章,等动手开始自己写的时候,发现还是不知从何下手.今天,我们以一个猜数字的小程序为例,带大家了解一下. 首先,看下题目: 这个游戏大家应该不陌生,留点时间大家思考下 ...

  5. [GO语言基础] 三.变量声明、数据类型、标识符及编程练习12题

    作为网络安全初学者,会遇到采用Go语言开发的恶意样本.因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识:另一方面是分享与读者,希望大家一起进步.前文介绍了Go的编译运行 ...

  6. 《看聊天记录都学不会C语言?太菜了吧》(5)打了一把游戏我学会了一个编程知识?

    好消息2020年4月13日晚7.30我在CSDN开播,等你来聊天 预约连接:https://live.csdn.net/room/A757291228/MJWK0Gem 本系列文章将会以通俗易懂的对话 ...

  7. java猜数字游戏实验报告_Java实现的猜数字游戏示例

    本文实例讲述了Java实现的猜数字游戏.分享给大家供大家参考,具体如下: 这里演示一段java语言猜数字代码,流程如下: 系统随机生成0-9中的不重复四位数字. 然后用户输入四个数字 如果数字对了,位 ...

  8. c语言输入若干数输出最小值循环结构,C语言循环结构程序设计编程题

    <C语言循环结构程序设计编程题>由会员分享,可在线阅读,更多相关<C语言循环结构程序设计编程题(3页珍藏版)>请在人人文库网上搜索. 1.实验3循环结构程序设计.实验目的:1 ...

  9. python数字推盘游戏怎么显示步数_python初学---猜数字游戏(游戏与AI,原创)

    最近在学习python,并用python写了一个小时候玩的益智游戏,猜数字游戏,python语言真的是简洁啊,上来就是写代码逻辑,不用加一堆外壳的东西,话不多说,贴代码,取个名字叫guessL1.py ...

最新文章

  1. MVC3----筛选数据(BeginForm:输出form表单)
  2. mvc ajax教程,MVC3----AJAX辅助方法
  3. [总结] 平衡树总结
  4. DeepWriterID:不依赖书写内容的书写人识别
  5. 7-9 职工排序题 (20 分)
  6. 4-8 string
  7. TensorFlow 2.0 —— 模型训练
  8. 倍投计算器工具_天天基金网上实用的小工具
  9. 用python进行股票数据分析_利用python进行股票数据分析
  10. 嵌入式和单片机的区别在哪?
  11. ps曲线操作(转载)
  12. html脚注如何设置,word2010脚注文本怎么设置
  13. NB-IoT、LoRa逐渐商用 连接物联网长尾效应凸显
  14. P7369 [COCI2018-2019#4] Elder 题解
  15. [Power Query] 汇总表
  16. oracle修改用户system密码忘记,Oracle System密码忘记 密码修改、删除账号锁定lock (转) - mano...
  17. 单相远程费控智能电表使用指南
  18. java自动生成物流单号
  19. 静态路由出接口和下一跳
  20. 一位父亲给儿女的九条人生忠告(看看吧,受用一生,适用于任何人)

热门文章

  1. unity3d触摸屏手势控制镜头旋转与缩放
  2. Python在Jupyter上使用HMM进行中文分词,将新闻文本分词后提取其中的高频词
  3. SharePoint 2010 安装错误:请重新启动计算机,然后运行安装程序以继续
  4. JPEG-LS压缩算法研究
  5. 自动登录武汉理工大学鉴湖宿舍校园网的方式-苹果/ipad端
  6. DevOps 3355
  7. 主板和bsd小板传输的数据采样问题
  8. Android单元测试中AndroidJUnit4获取context
  9. ChatGPT到底是什么
  10. 减法公式运算法则_小学数学加减乘除计算运算法则