首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多维数组的C++集函数

多维数组的C++集函数
EN

Stack Overflow用户
提问于 2022-11-10 11:46:29
回答 1查看 27关注 0票数 0

因此,在这样声明的类中有一个多维数组:

代码语言:javascript
复制
    struct competitors_list_st {
    string competitor_name;
    int competitor_medals;
    };
competitors_list_st competitors_list[2][1000];

我想为这个数组创建一个setter方法,一个我可以从构造函数中调用的方法。

代码语言:javascript
复制
void set_competitors_list(int rows) {         
    
    int rowCounter, colCounter, cols, sum = 0;
    
    for (rowCounter = 0; rowCounter < 2; rowCounter++) { 
        for (colCounter = 0; colCounter < columns; colCounter++) {                
             //???
            cout << "Enter information for sportist:";
            cin >> name >> medals;
            competitors_list[colCounter][rowCounter] = medals, name;
       }
        
    }
    
}

对于第一个循环,我要循环2次,因为我知道列是2,但是行数由用户决定。我在cin>>行上得到一个错误-没有任何操作符匹配这些操作数操作数类型是: Coach::competitors_list_st 2、std::Coach::competitors_list_st。

我基本上希望用户输入列数,然后输入两个需要存储在数组中的值。这是正确的方法吗?我的错误在哪里?

EN

回答 1

Stack Overflow用户

发布于 2022-11-10 17:51:43

我只是不太明白这个数组实现了什么目的,如果我知道,我可以告诉你比我现在更好。

但你可以试试这个:

代码语言:javascript
复制
    #include <iostream>
#include <vector>
#include <string>

using namespace std;

struct competitors_list_st {
    string competitor_name;
    int competitor_medals;

    //Initializator (competitors_list_st("test", 10))
    void setData (string s, int m)
    {
        competitor_name = s; 
        competitor_medals = m;
    }
};
competitors_list_st competitors_list[2][1000];

void set_competitors_list(int rows) {

    int rowCounter, colCounter, cols, sum = 0;

    for (rowCounter = 0; rowCounter < 2; rowCounter++) {
        for (colCounter = 0; colCounter < rows; colCounter++) {
            //???
            cout << "Enter information for sportist:";
            string name;
            int medals;
            cin >> name >> medals;
            competitors_list[rowCounter][colCounter].setData(name, medals);
        }

    }

}

void main() {

    set_competitors_list(1);

    for (int row = 0; row < 2; row++) 
    {
        for (int col = 0; col < 1; col++)
        {
            cout << '\n' << competitors_list[row][col].competitor_name << ' ' << competitors_list[row][col].competitor_medals;
        }
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74388502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档