我刚开始学习C ++几周前,我正在努力制作一个二十一点游戏。 我试图做的是创建一个包含所有卡的变量的数组,如:h1,hj,c4,ck;这些代表着心灵1,心灵杰克,俱乐部4和俱乐部之王。
我希望这些变量包含一个字符串(卡的名称)和一个整数(用于添加的数字的值)。
有没有办法让变量包含两个值?
感谢。
答案 0 :(得分:9)
您可以为所需的变量创建结构。
struct card
{
string name;
int value;
};
然后按如下方式使用:
card.name = "hearts";
card.value = 1;
答案 1 :(得分:6)
简单地说,有两种解决方案:
1)使用元组
std::tuple<std::string,int> Hearts1=std::make_tuple("h1", 12);
std::tuple<std::string,int> Clubs1=std::make_tuple("c1", 13)
查看更多:http://en.cppreference.com/w/cpp/utility/tuple
2)使用对象
class Hearts
{
std::string name;
int value;
};
class Clubs
{
std::string name;
int value
};
int main()
{
Clubs CO; CO.name="abc"; CO.value=12;
Hearts HO; HO.name="dce"; HO.value=13;
}
我建议在进行这样的项目之前学习C ++编程的基础知识。我强烈推荐“The C ++ Programming Language”(B.Stroustrup)来开始使用。
答案 2 :(得分:0)
您还可以使用具有相同索引的两个数组。只要您确保同时创建和更新它们,以便具有相同索引的元素引用同一张卡。