1

我目前正在一个月前买的一本书上学习 C++。所以现在我在这里,研究关于结构的新章节。书中提出了一个问题:编写一个程序,允许用户输入游戏的高分,并跟踪用户的姓名和分数。添加显示每个用户的最高分数、特定用户的所有分数、所有用户的所有分数以及用户列表的功能。

我的问题是......如何使用结构存储同一玩家的大量分数。我想是这样的:

struct my_string
{
    string name;
    int score[100];
    int lvp;
};

在结构中声明一个数组,这是可以做到的吗?我不完全确定。之后,在主函数中,我声明了一个 my_string 类型的数组。

像这样:

my_string name_score[100];

我正在考虑使用 2 个计数器,一个与名称有关,另一个与分数有关。像这样的东西:

name_score[0].score[2];

所以,这段代码应该给我第三个分数,名字(玩家)。我是在胡说八道,还是可以这样做?

4

2 回答 2

0

在我看来,你是完全正确的!那应该可以完美地工作。

基本上,您的第一个右括号将为您提供播放器,而 .score[] 将为您提供他们的条目。

于 2013-04-24T16:59:02.350 回答
0

所以这段代码是有效的代码:

#include <iostream>
#include <string>

struct my_string
{
    std::string name;
    int score[100];
    int lvp;
};

int main()
{
    my_string name_score[100];

    //Initializing of data in name_score assumed here

    std::cout << name_score[0].score[2] << std::endl ;
}

由于这是 C++,您可能需要考虑使用std::vector<int> score而不是使用 C++11,int score[100]或者即使std::array您使用的是 C++11,它们都优于旧的 C 样式数组。my_string尽管您可能想选择一个更具描述性的名称,但也是如此。

于 2013-04-24T16:59:44.170 回答