C ++在前一个cin

时间:2018-03-27 03:15:41

标签: c++ class input visual-studio-2015

请有人通过C ++ [VS 2015]中的用户输入澄清我现在遇到的问题 我有一个简单的课程StudentEntry

const int MAX_STUDENT = 50;
int entryCount = -1;

class StudentEntry {
public:
    StudentEntry(const std::string &s, std::vector<int> li) :   name(s), marks(li) {}
private:
    std::string         name;                                       
    std::vector<int>    marks; 
} 
* entryList[MAX_STUDENT];

两个非会员功能要求用户输入名称[string]并标记[vector<int>]:

std::string getName() {
    std::string input;
    std::cout << "Enter student name: ";
    std::cin >> input;
    return input;
}
std::vector<int> getMarks() {
    std::string line;
    int number;
    std::vector<int> input;

    std::cout << "Enter student marks separated by spaces: ";
    getline(std::cin, line);
    std::istringstream ss(line);
    while (ss >> number) {
        input.push_back(number);
    }
    return input;
}

我的目标是使用addRecord()这样的函数添加新条目。我打算做的是:

int main() 
{
std::string in_name = getName();
std::vector<int> in_marks = getMarks();
entryList[entryCount] = new StudentEntry(in_name, in_marks);
...
}

但是,我无法从用户输入中读取矢量。基本上,如果我评论该行

std::string in_name = getName();

我可以输入一些标记并将其保存到in_marks。但在我阅读in_name后,in_marks向量未从提示中读取 为什么会这样?

0 个答案:

没有答案