模拟人机猜数游戏

设计目的

1、加深学生对该课程基础知识和基本理论的理解和掌握,培养学生综合运用所学知识独立
分析和解决问题的能力;
2、培养学生在计算机软硬件开发、理论计算、查阅资料等方面的能力,使学生逐步树立正
确的设计思想;
3、加强理论联系实际,培养学生科学严谨、实事求是的工作作风和勇于探索的创新精神。

任务描述

为了提高学生编程能力,请设计一款人机猜数游戏程序。该程序主要功能要求如下:
1、游戏开始时,先由计算机“想”一个四位数,然后让人猜这个四位数是多少。
猜数时,计算机先判断输入的四位数猜对几个数字,并且在猜对的这些数字中有几个位置是对的,将统计情况显示出来供猜数人参考;猜数人可据此提示继续猜数,直到猜对为止。2、猜对后,计算机显示本轮猜数一共猜了几次以及获得的分数;
分数计算公式如下:
次数<=3 计100分
5<次数<=10 计60分
3<次数<=5 计80分
10<次数计0分
3、一轮猜数游戏结束后,可重复玩,直到不想再玩为止:
4、开始每轮猜数游戏时,要保证计算机“想”的数和前面“想”的数不同;
5、游戏结束后,可查看每轮猜数历史记录(显示每次计算机“想”的数,人猜数所用次数
和得分)

设计要求

1、要求按照分析、设计、编码、调试和测试的软件开发过程独立完成本任务;

2、应用模块化编程思想。系统的各项功能分别用函数编写,并通过主函数调用实现其所有功
能。
3、系统完成的各项功能要求设计成一个菜单。开始运行程序时,先显示主菜单,然后用户通过菜单项选择操作完成相应操作。例如以下菜单形式:猜数游戏查看历史2竹退出系统请选择[11213]:

源码

void display_menu()
{
    puts("1、猜数游戏");
    puts("2、查看历史");
    puts("3、退出系统");
    puts("请选择[1/2/3]: ");
}
int get_choise()
{
    int i;
    CLS;
    display_menu();
    scanf("%d", &i);
    CLS;
    return i;
}
void game()
{
    int flag = 1;
    while (flag)
    {
        int num = get_random();
        int step = 0;
        puts("我准备好了一个数字,快来猜猜看吧!");
        int g_num = -1;
        while (g_num != num)
        {
            if (g_num != -1)
            {
                printf(g_num > num ? "大了" : "小了");
            }
            step++;
            puts("请输入数字:");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

邦芒支招:职场高效沟通的6个秘诀

​​俗话说得好“良言一句三冬暖&#xff0c;恶语伤人六月寒。”无论在什么单位&#xff0c;社会上竟是形形色色的人等&#xff0c;人过一百&#xff0c;形形色色。每个人都想得到他人赏识、挥洒才华、争得提升。但是&#xff0c;要和陌生的人融洽相处、沟通合作&#xff0c;是…

Android 蓝牙语音通话调试

首先要清楚蓝牙语音通话属于蓝牙得哪一个协议 1、HEADSET 耳机和免提模式,用于蓝牙耳机 2、A2DP (advanced audio distribution profile)高级音频及立体声规范,包括A2DP SINK和A2DP SOURCE 3、HEALTH 健康设备规范,和一些健康设备进行通信 4、OPP (object push profi…

概率论期末速成(知识点+例题)

考试范围 一&#xff1a; 事件关系运算性质全概率公式、贝叶斯公式古典概型 二&#xff1a; 离散分布律连续密度函数性质 -> 解决三个问题&#xff08;求待定系数、求概率、求密度函数&#xff09;分布函数 -> 解决三个问题常用分布&#xff08;最后一节课的那几个分…

手电筒的光能飞到宇宙尽头吗

如果我们打开手电筒向夜空照一秒再关掉&#xff0c;我们将会看到&#xff0c;在关掉手电筒的一瞬间&#xff0c;手电筒发出的光束也会消失&#xff0c;那么&#xff0c;它发出的光哪去了呢&#xff1f;下面我们就来聊一下这个话题。实际上&#xff0c;我们看到的光束&#xff0…

Spark SQL 概述

Spark SQL 概述 Spark SQL 是 Apache Spark 的一个模块&#xff0c;专门用于处理结构化数据。它集成了 SQL 查询和 Spark 编程的强大功能&#xff0c;使得处理大数据变得更加高效和简便。通过 Spark SQL&#xff0c;用户可以直接在 Spark 中使用 SQL 查询&#xff0c;或者使用 …

ubuntu16.04安装低版本cmake(安装cmake安装)

文章目录 ubuntu16.04安装低版本cmake&#xff08;安装cmake安装&#xff09;1. **下载并解压CMake压缩文件**&#xff1a;- 首先&#xff0c;你需要从CMake的官方网站或其他可靠来源下载cmake-2.8.9-Linux-i386.tar.gz文件。- 然后在终端中使用以下命令解压文件&#xff1a; 2…

BFS:多源BFS问题

一、多源BFS简介 超级源点&#xff1a;其实就是把相应的原点一次性都丢到队列中 二、01矩阵 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:const int dx[4]{1,-1,0,0};const int dy[4]{0,0,1,-1};vector<vector<int>> updateMatrix(vector…

Makefile--自动识别编译环境(x86还是arm)进行编译

在日常工作中&#xff0c;我们会在虚拟机下的x86系统进行架叉编译&#xff0c;有时需要在arm上直接进行编译。但工程都是一样的&#xff0c;只是Makefile不一样&#xff0c;这时就涉及到Makefile的灵活运用了。以下是一个自动识别编译环境的通用Makefile&#xff1a; TARGET_A…

headerpwn:一款针对服务器响应与HTTP Header的模糊测试工具

关于headerpwn headerpwn是一款针对服务器响应与HTTP Header的模糊测试工具&#xff0c;广大研究人员可以利用该工具查找网络异常并分析服务器是如何响应不同HTTP Header的。 功能介绍 当前版本的headerpwn支持下列功能&#xff1a; 1、服务器安全与异常检测&#xff1b; 2、…

PyTorch 1-深度学习

深度学习-PyTorch 一: Pytorch1> pytorch简介2> PyTorch 特点&优势3> pytorch简史4> pytorch 库5> PyTorch执行流程6> PyTorch 层次结构二: PyTorch常用的高级API和函数1> 自动求导(Autograd)2> 模型容器(Module)3> 优化器(Optimizer)4&g…

Java Stream API详解:高效处理集合数据的利器

引言 Java 8引入了许多新特性&#xff0c;其中最为显著的莫过于Lambda表达式和Stream API。Stream API提供了一种高效、简洁的方法来处理集合数据&#xff0c;使代码更加简洁明了&#xff0c;且具有较高的可读性和可维护性。本文将深入探讨Java Stream API的使用&#xff0c;包…

QFileDialog的简单了解

ps&#xff1a;写了点垃圾&#xff08;哈哈哈&#xff09; 它继承自QDialog 这是Windows自己的文件夹 这是两者的对比图&#xff1a; 通过看QFileDialog的源码&#xff0c;来分析它是怎么实现这样的效果的。 源码组成&#xff1a; qfiledialog.h qfiledialog_p.h&#xff…

Python面试宝典第11题:最长连续序列

题目 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;…

微信小程序中的数据通信

方法1: 使用回调函数 在app.js中:可以在修改globalData后执行一个回调函数,这个回调函数可以是页面传递给app的一个更新函数。// app.js App({globalData: {someData: ,},setSomeData(newData, callback) {this.globalData.someData = newData;if (typeof callback === funct…

打造热销爆款:LazadaShopee店铺测评与关键词策略

面对Lazada和Shopee平台上店铺销量难以突破的困境&#xff0c;卖家们往往寻求各种解决方案。其中&#xff0c;店铺测评作为提升店铺信誉、优化产品排名及增加曝光度的有效手段&#xff0c;正逐渐成为卖家关注的焦点。以下将深入探讨店铺测评的好处、实施技巧及自养号的关键要素…

提升校园效率:智慧校园后勤管理中的寻物管理功能

在智慧校园后勤管理体系中&#xff0c;寻物管理功能扮演着连接遗失与找回的桥梁角色&#xff0c;它充分利用现代信息技术&#xff0c;为校园内的师生提供了一套高效、便捷的失物招领解决方案。此功能围绕以下几个核心方面展开。 首先&#xff0c;它支持在线报失与信息登记。一旦…

如何连接到公司的服务器?

1.下载FileZilla FileZilla的下载与安装以及简单使用&#xff08;有图解超简单&#xff09;-CSDN博客 2.打开 3.输入主机 用户名 密码 端口 注&#xff1a;主机支持的协议类型&#xff1a; 4.连接成功 其他方式也有很多&#xff0c;比如通过cmd&#xff0c;html网页等等 3个…

昇思25天学习打卡营第19天|ShuffleNet图像分类

今天是参加昇思25天学习打卡营的第19天&#xff0c;今天打卡的课程是“ShuffleNet图像分类”&#xff0c;这里做一个简单的分享。 1.简介 在第15-18日的学习内容中&#xff0c;我们陆陆续续学习了计算机视觉相关的模型包括图像语义分割、图像分类、目标检测等内容&#xff0c…

面试迟到了怎么办

嗨&#xff0c;我是兰若姐姐。作为一名面试官&#xff0c;最近面试了很多的测试候选人&#xff0c;有了很多感慨&#xff0c;借此抒发一下&#xff0c;我不知道别人面试更看重的是什么&#xff0c;但是在我这里&#xff0c;我最看重的是态度&#xff0c;其次才是技能 我觉得作…

vivado EXTRACT_ENABLE、EXTRACT_RESET

可提取 EXTRACT_ENABLE控制寄存器推断是否启用。通常&#xff0c;Vivado工具 提取或不提取基于启发式方法&#xff0c;通常有利于最大程度的 设计。如果Vivado的行为不符合预期&#xff0c;此属性将覆盖 工具的默认行为。如果有不希望的启用连接到CE引脚 触发器&#xff0c;此属…