将结构的向量推向结构

pushing a vector of structures into a structure?

本文关键字:结构 向量      更新时间:2023-10-16

我需要创建一个结构学生,该结构将嵌套另一个称为课程的结构。然后填写"课程"的结构,并在其ID和名称

中注册了多少学生

我不确定如何将结构"课程"属性推到结构学生中,该结构已经将结构课程作为其作为矢量

    #include <iostream>
    #include <string>
    #include<vector>
    using namespace std;
    struct course{
        int ID;
        string name;
    };
    struct student{
        int ID;
        string name;
        vector <course> ofcourses;

    };
    void studentDeclare(student &B1){
        int coursecount;
        cout <<" Student ID: " <<endl;
        cin>>B1.ID;
        cout <<" Student name: " <<endl;
        cin>>B1.name;
        cout <<" How many courses?: " <<endl;
        cin >> coursecount;
        int TempID;
        string TempName;
        for(int i = 0; i<coursecount;i++)
        {
            cout <<" Enter course ID: " <<endl;
            cin >> TempID;
            B1.ofcourses.ID.push_back[TempID];
            cout <<" Enter course name: " <<endl;
            string TempName;
            cin>>TempName;
            B1.ofcourses.name.push_back[TempName];
        }
    };
    int main()
{
    student boy;
    studentDeclare(boy);
    print(boy);
    system("pause");
}
B1.ofcourses.ID.push_back[TempID];
B1.ofcourses.name.push_back[TempName];

不对。

B1.ofcoursesstd::vector<course>。它没有名为IDname的成员。

您需要构造course对象并将其推到B1.ofourses

for(int i = 0; i<coursecount;i++)
{
    course c;
    cout <<" Enter course ID: " <<endl;
    cin >> c.ID;
    cout <<" Enter course name: " <<endl;
    cin >> c.name;
    B1.ofcourses.push_back(c);
}