【发布时间】:2016-09-12 14:15:02
【问题描述】:
当我第一次调用该函数时,它工作正常。
但是当我第二次调用该函数时,它只是跳过了代码的第一部分,我试图在其中向向量 vec_name 添加一个新名称并将我发送到 for 循环。
void addNewStudent(int num)
{
string name;
cout << "Add new student" << endl;
cout << "Name : ";
getline(cin, name);
vec_name.push_back(name);
float avg = 0;
for (int i = 1; i <= num; i++)
{
float temp;
cout << endl << "Enter " << i << " grade : ";
cin >> temp;
avg += temp;
}
avg /= num;
vec_avg.push_back(avg);
}
我做错了什么?
我在函数末尾添加了cin.ignore()。
void addNewStudent(int num)
{
string name;
cout << "Add new student" << endl;
cout << "Name : ";
getline(cin, name);
vec_name.push_back(name);
float avg = 0;
for (int i = 1; i <= num; i++)
{
float temp;
cout << endl << "Enter " << i << " grade : ";
cin >> temp;
avg += temp;
}
avg /= num;
vec_avg.push_back(avg);
cin.ignore();
}
【问题讨论】: