首页 > 解决方案 > 如何获取字符串数组中的项目数?

问题描述

我正在尝试使用 C++ 中的数组创建一个随机齿轮组。

我希望 Rand%使用数组中的项目动态更新。他们有办法做到这一点吗?

#include <iostream>
#include <string>
#include <stdlib.h>
#include <time.h>

int main() {
    srand(time(NULL)); //random seed usign time

    std::string Helmets[] = {
        "None - Helmet",
        "UNTAR - Helmet",
        "Vulcan - Helmet",
        "SSH-68 - Helmet",
        "LZSh - Helmet",
        "TC 800 - Helmet",
        "Highcom Striker ACHHC IIIA - Helmet",
        "ULACH IIIA - Helmet",
        "LZSh - Helmet",
        "Crye Precision Airframe - Helmet"
    };

    std::string BodyArmour[] = {
        "None - BodyArmour",
        "6B43 Zabralo - BodyArmour",
        "PACA - BodyArmour",
        "6B13 - BodyArmour",
        "Module 3M - BodyArmour",
        "Zhuk-3 Press Armor - BodyArmour",
        "Korund VM - BodyArmour",
        "6B13 M Tan (Killa Armor) - BodyArmour",
        "BNTI Gzhel-K - BodyArmour"
    };

    std::string Gun[] = {
        "None - Primary",
        "ADAR - Primary",
        "M4A1 - Primary",
        "AKM - Primary",
        "ASH 12 - Primary",
        "AS Val - Primary",
        "MCX - Primary",
        "OP SKS - Primary",
        "Vepr Hunter - Primary",
        "P90 - Primary",
        "PPSH - Primary",
        "Vector 9x19 - Primary",
        "M870 - Primary",
        "TOZ-106 - Primary",
        "M700 - Primary",
        "RSASS - Primary"
    };

    std::string Sidearm[] = {
        "None - Sidearm",
        "Glock17 - Sidearm",
        "M1911A1 - Sidearm",
        "FN 57 - Sidearm",
        "None - Sidearm",
        "P226R - Sidearm",
        "PM Pistol (Makarov) - Sidearm",
        "TT - Sidearm"
    };

    std::string Rig[] = {
        "None - TacRig",
        "Bankrobber - TacRig",
        "Triton - TacRig",
        "LBT-1961A - TacRig",
        "WarTech Gear Rig - TacRig",
        "Blackhawk Commando - TacRig",
        "BlackRock - TacRig",
        "Wartech MK3 - TacRig",
        "Velocity Systems Multi-Purpose Patrol Vest - TacRig"
    };

    std::string Backpack[] = {
        "None - Backpack",
        "Blackjack 50 - Backpack",
        "Attack 2 - Backpack",
        "Scav BP - Backpack",
        "Duffle Bag - Backpack",
        "Sanitar Bag - Backpack",
        "VKBO Army Bag - Backpack",
        "LK 3F Transfer Tourists Bag - Backpack",
        "Ana Tactical Beta 2 - Backpack",
        "Camelbak Tri-Zip - Backpack",
        "Oakley Mechanism - Backpack",
        "3V G Paratus - Backpack"
    };

    int randomHelmNum = rand() % sizeof(Helmets);
    int randomBArmourNum = rand() % sizeof(BodyArmour);
    int randomGunNum = rand() % sizeof(Gun);
    int randomSidearmrNum = rand() % sizeof(Sidearm);
    int randomRigNum = rand() % sizeof(Rig);
    int randomBackPackNum = rand() % sizeof(Backpack);

    std::cout << std::endl << std::endl
              << Helmets[randomHelmNum] << std::endl
              << BodyArmour[randomBArmourNum] << std::endl
              << Gun[randomGunNum] << std::endl
              << Sidearm[randomSidearmrNum] << std::endl
              << Backpack[randomBackPackNum] << std::endl
              << Rig[randomRigNum] << std::endl << std::endl;

标签: c++arraysstringrandom

解决方案


推荐阅读