2024新版 黑马程序员《C++零基础入门》笔记——第二章09逻辑判断的综合案例

1.案例需求

2.代码参考

//
// Created by cc on 24-8-5.
//
#include "iostream"
#include "random"
using namespace std;

int get_random_num(int min , int max)
{
    // 创建一个随机数生成器
    random_device rd;
    mt19937 gen(rd());

    // 定义一个均匀分布的整数范围
    uniform_int_distribution<> dis(min, max);

    // 生成一个随机数并输出
    int random_number = dis (gen);
    return random_number;
}

int main()
{
    // int num = get_random_num(1,10);
    // cout << num << endl;
    // 第一份信息 1~10的数字,代表扑克1~10
    int num = get_random_num(1,10);
    // 第二份信息:字符串,红色或者黑色,代表扑克牌的花色
    string color = get_random_num(0,1) ? "红色" : "黑色";
    // 第三份信息:字符串,如果是红色产出红桃或方块,如果是黑色产出黑桃或梅花
    string suit;
    if (color == "红色") {
        suit = get_random_num(0,1) ? "红桃" : "方块";
    } else {
        suit = get_random_num(0,1) ? "梅花" : "黑桃";
    }
    cout << num << ":" << color <<":" << suit << endl;

    // 先猜数字,成功后猜颜色,再成功猜测具体花型
    int guess_num;
    cout << "请输入猜测的扑克牌数字:" << endl;
    cin >> guess_num;
    if (guess_num == num) {
        // 数字对了就要猜颜色了
        cout << "请猜测颜色,红色输入1,黑色输入0:" << endl;
        int color_num;
        cin >> color_num;
        if ((color_num?"红色":"黑色")==color) {
            // 颜色猜对了,该猜具体花色
            if(color == "红色") {
                // 要猜测是否是红桃或方块
                cout << "请猜测花形,红桃输入1,方块输入0:" << endl;
                int suit_num;
                cin >> suit_num;
                if ((suit_num?"红桃":"方块")==suit) {
                    // 猜对了
                    cout << "恭喜你,猜对了!游戏的花型是:" << suit <<endl;
                } else {
                    // 猜错了
                    cout << "很遗憾,猜错了。游戏的花型是:" << suit <<endl;
                }
            }else {
                // 要猜测是否是黑桃或梅花
                cout << "请猜测花形,黑桃输入1,梅花输入0:" << endl;
                int suit_num;
                cin >> suit_num;
                if ((suit_num?"黑桃":"梅花")==suit) {
                    // 猜对了
                    cout << "恭喜你,猜对了!游戏的花型是:" << suit <<endl;
                } else {
                    // 猜错了
                    cout << "很遗憾,猜错了。游戏的花型是:" << suit <<endl;
                }
            }
        }
    }else {
        cout << "很遗憾,猜错了。请继续努力。" << endl;
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值