为什么getline不会在第二次迭代时执行?

时间:2015-09-20 14:03:29

标签: c++ loops void-pointers

我正在尝试使用for循环在main函数中重复更改变量的值,第一次它正常工作但在第二次迭代时它跳过getline命令并转到下一行。我还是编程新手而且没有经验。

#include <iostream>
#include <string>
using namespace std;

void getname(string &ss, float &num)
{

    cout << "Type name "<< endl;

    getline(cin, ss, '\n');
    cout << "enter number " << endl;
    cin >> num;
}

int main()
{
    string ss;
    float num;
    for (int i = 0; i < 3; i++)
    {
        getname(ss, num);
        cout << ss << endl;
        cout << num << endl;
    }
    return 0;
}

0 个答案:

没有答案