【小超嵌入式】猜数字游戏详细分析

一、程序源码

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int main() {
    srand(static_cast<unsigned int>(time(0)));  // 随机数种子

    int targetNumber = rand() % 100 + 1;  // 生成 1 到 100 之间的随机数
    int guess;
    int attempts = 0;

    cout << "欢迎来到猜数字游戏!请猜测一个 1 到 100 之间的数字。" << endl;

    do {
        cout << "请输入您的猜测: ";
        cin >> guess;
        attempts++;

        if (guess > targetNumber) {
            cout << "您猜的数字太大了!" << endl;
        } else if (guess < targetNumber) {
            cout << "您猜的数字太小了!" << endl;
        }
    } while (guess!= targetNumber);

    cout << "恭喜您猜对了!您一共猜了 " << attempts << " 次。" << endl;

    return 0;
}

二、程序详细分析

#include <iostream>
#include <cstdlib>
#include <ctime>
  • 这三行包含了程序需要使用的标准C++库:
    • <iostream> 提供了输入输出流的功能,例如 cin 和 cout
    • <cstdlib> 包含了通用的函数,如 exit 和 rand,其中 rand 用于生成随机数。
    • <ctime> 提供了与时间相关的函数,例如 time,它被用来作为随机数生成器的种子。
using namespace std;
  • 这行告诉编译器使用 std 命名空间,这样就可以直接使用如 cout 和 cin 而不需要每次都写 std::cout 或 std::cin
int main() {
  • 这是主函数的开始,每个C++程序都必须有一个 main 函数。
srand(static_cast<unsigned int>(time(0)));  // 随机数种子
  • srand 函数设置随机数生成器的种子,time(0) 返回从纪元开始(通常是1970年1月1日)到现在的秒数。static_cast 是为了确保类型匹配(将 time(0) 返回的 time_t 类型(通常是一个长整型)转换成无符号整型 unsigned int)。
int targetNumber = rand() % 100 + 1;  // 生成 1 到 100 之间的随机数
  • 这行创建了一个整型变量 targetNumber,并将其初始化为一个介于1和100之间的随机数。rand() 返回一个大范围内的随机数,取模 % 100 可以得到0至99的随机数,再加上1则可以得到1至100的随机数。
int guess;
int attempts = 0;
  • 这里声明了两个整型变量:guess 用于存储玩家的猜测,attempts 用于记录玩家尝试的次数。
cout << "欢迎来到猜数字游戏!请猜测一个 1 到 100 之间的数字。" << endl;
  • 输出欢迎信息并提示玩家猜测数字。
    do {
        cout << "请输入您的猜测: ";
    cin >> guess;
       attempts++;
}
  • 开始一个 do...while 循环,这个循环至少执行一次,玩家在此输入他们的猜测,并且每次猜测后 attempts 自增1。
        if (guess > targetNumber) {
            cout << "您猜的数字太大了!" << endl;
        } else if (guess < targetNumber) {
            cout << "您猜的数字太小了!" << endl;
        }
  • 这段条件语句检查玩家的猜测是否大于或小于目标数字,并给出相应的反馈。
     while (guess != targetNumber);
  • 如果玩家的猜测不等于目标数字,循环将继续。
   cout << "恭喜您猜对了!您一共猜了 " << attempts << " 次。" << endl;
  • 当玩家猜中数字时,显示恭喜信息并告知玩家他们总共尝试了多少次。
    return 0;
  • 主函数结束,返回值0表示程序正常终止。

相关推荐

  1. 嵌入数字游戏详细分析

    2024-07-13 01:12:03       19 阅读
  2. 数字游戏

    2024-07-13 01:12:03       32 阅读
  3. c#数字游戏

    2024-07-13 01:12:03       21 阅读
  4. PyQt6数字游戏

    2024-07-13 01:12:03       34 阅读
  5. [C++] 游戏 数字 zty出品

    2024-07-13 01:12:03       29 阅读
  6. LeetCode:数字游戏

    2024-07-13 01:12:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 01:12:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 01:12:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 01:12:03       58 阅读
  4. Python语言-面向对象

    2024-07-13 01:12:03       69 阅读

热门阅读

  1. 基于深度学习的文本分类

    2024-07-13 01:12:03       19 阅读
  2. VRRP虚拟路由器协议的基本概述

    2024-07-13 01:12:03       21 阅读
  3. ubuntu服务器部署vue springboot前后端分离项目

    2024-07-13 01:12:03       19 阅读
  4. c++二分算法

    2024-07-13 01:12:03       19 阅读
  5. try catch 解决大问题

    2024-07-13 01:12:03       20 阅读
  6. [C++]多态

    2024-07-13 01:12:03       23 阅读
  7. [Python学习篇] Python Socket网络编程

    2024-07-13 01:12:03       24 阅读
  8. 洛谷 P1506 拯救 oibh 总部

    2024-07-13 01:12:03       22 阅读
  9. 「AIGC」TDSQL技术详解

    2024-07-13 01:12:03       19 阅读