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语言填数字游戏求解过程解读,c语言编程--数字游戏.doc相关推荐

  1. c语言是一种面向过程的程序设计语言,C语言实现面向对象的C语言是一种面向过程的语言联合开发网络...

    lw_oopc v1.2 lw_oopc v1.2 \演示 lw_oopc v1.2 \演示\动物 lw_oopc v1.2 \演示\动物\动物.c lw_oopc v1.2 \演示\ Animal ...

  2. python小游戏合集-9个Python编程小游戏,有趣又好玩,简直太棒了

    前言 学习编程对大多数人来说是枯燥而无聊,大家有时候往往会觉得精神崩溃,提不起学习的兴趣,因此从入门到放弃(笑哭),面临这种困境该怎么办呢?这时候就有一些大牛设计出用游戏来学习编程知识点,所以,这世界 ...

  3. python小游戏代码200行左右,python编程小游戏代码

    大家好,本文将围绕python小游戏代码200行左右展开说明,小游戏程序代码python是一个很多人都想弄明白的事情,想搞清楚python编程小游戏代码需要先了解以下几个事情. 1.python简单小 ...

  4. 汉诺塔移动过程c语言,汉诺塔移动过程(C语言)

    分析:假设我们在A柱子上有8个圆盘需要移动到C柱子上面,那么利用递归思想,我们只需要先将上面的7个圆盘移动到B柱子上,然后将最底下的圆盘移动到C柱子上,再将B柱子上的圆盘移动到C柱子上,此时,A盘已经 ...

  5. 硬件描述语言要用计算机吗,非过程计算机硬件描述语言

    非过程计算机硬件描述语言 语音 编辑 锁定 讨论 上传视频 硬件描述语言(Hardware Description Language,HDL)是电子系统硬件行为描述.结构描述.数据流描述的语言.非过程 ...

  6. html传输的数值表示的含义,数字传递游戏的意义与感悟_传数字游戏心得体会

    在大学生入职培训期间,曾组织他们做了一场小游戏,游戏规则如下: 1.80名学生平均分成8组,排成8列,统一面向讲台做好: 2.主持人向每组的最后一名队员提供一个数字(数字一般为3位或4位数,不确定,不 ...

  7. 用计算机语言完成游戏的计算,以计算思维为导向的编程教育游戏的设计

    刘立云 沈航冉 "计算思维"是运用计算机科学的基础概念进行问题求解.系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动,能给与人思考问题的正确方法,对构建算法有着重要的 ...

  8. c语言猜数字游戏用while,用C语言实现猜数字游戏

    本文实例为大家分享了C语言实现猜数字的具体代码,供大家参考,具体内容如下 问题:计算机随机生成一个数字,用户进行猜数字,当用户猜错时,提醒用户猜高/猜低,直到用户猜的数字与计算机给的随机数一致时,提示 ...

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

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

最新文章

  1. leetcode 最长公共前缀
  2. C++中函数的重载和函数指针排序大全
  3. 从C++到Java --理解面向对象是关键所在
  4. python各种数据类型的常用方法_python的基本数据类型:列表的方法
  5. Windows 2000本地路由表
  6. ListView添加headview
  7. 【转】WCF与Web API 区别(应用场景)
  8. python 查询sqlserver 视图_在Python中,将SQL查询的输出显示为表,就像在SQL中一样...
  9. BitMEX将调整Impact Notional和Index Price Protection两个参数
  10. 《C#本质论(第4版)》一1.2 C#语法基础
  11. Eclipse + Gradle实现APK分包
  12. mac电池损耗百分比怎么查看
  13. Windows PowerShell和命令行的区别
  14. vue 浏览器地址是ip_Vue实战041:获取当前客户端IP地址详解(内网和外网)
  15. Unity Container 应用示例
  16. html5 判断手机横竖屏,移动端判断横竖屏的5种解决方案
  17. 分析方法论_用户生命周期的建立
  18. 开源GIS(十八)——分辨率与比例尺
  19. JAVA-银行卡归属地查询
  20. [实习心得]从百草园到三味书屋

热门文章

  1. 云服务器部署SpringBoot工程-瑞吉外卖项目
  2. 没的选择时,存在就是合理的::与李旭科书法字QQ聊天记录
  3. kgdb调试aarch64内核模块
  4. InnoDB: Assertion failure in thread 140536591259392 in file page0zip.ic
  5. react项目中播放音频时扬声器图标动画效果
  6. Win10重装后无法激活问题解决办法
  7. 您有一份《七夕安全须知》待查收
  8. 博主已开启评论精选什么意思_双十一前夕,小红书砸掉了博主的饭碗
  9. Postman中请求体提交方式
  10. 苹果发布会说明了什么?