толкая вектор структур в структуру? - PullRequest
0 голосов
/ 06 марта 2019

Мне нужно создать студента, который вложит другую структуру, называемую курсом.а затем заполните структуру «курс» количеством студентов, на которых зарегистрировано его имя и имя

. Я не уверен, как я могу перенести атрибуты «курса» структуры в структуру студента, который уже имеетструктура курса как вектор в нем

    #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");
}

1 Ответ

2 голосов
/ 06 марта 2019
B1.ofcourses.ID.push_back[TempID];
B1.ofcourses.name.push_back[TempName];

не правы.

B1.ofcourses - это std::vector<course>.У него нет члена с именем ID или name.

. Вам необходимо создать объект 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);
}
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...