注册 登录
编程论坛 C++教室

请教关于字符串的输入问题

yxq211046 发布于 2014-05-15 09:50, 460 次点击
程序代码:
#include<iostream>
#include<string>
using namespace std;
class stu
{
public:
    void set();
    void put();
private:
    int num;
    string name;
    string phone;
};
void stu::set()
{
    cout << "num is:";
    cin >> num;
    cout << "name is:";
    cin>>name;
    cout << "phone is:";
    cin >> phone;
    cout<<endl;
}
void stu::put()
{
    cout << "num\t" << "name\t" << "phone" << endl;
    cout << num << "\t" << name << "\t" << phone << endl;
}
int main()
{
    class stu student1;
    student1.set();
    student1.put();
    return 0;
}

输入 1 li ming 124345时,来不及输入12345就直接得到结果了,书上好像看到过,但找不到了,请问该如何修改
8 回复
#2
wp2319572014-05-15 10:02
没啥问题啊
#3
jjfai2014-05-15 10:27
确实是这样的::“输入 1 li ming 124345时,来不及输入12345就直接得到结果了,书上好像看到过,但找不到了,请问该如何修改”
看一下,怎么解决!!
#4
wp2319572014-05-15 10:28
以下是引用jjfai在2014-5-15 10:27:08的发言:

确实是这样的::“输入 1 li ming 124345时,来不及输入12345就直接得到结果了,书上好像看到过,但找不到了,请问该如何修改”
看一下,怎么解决!!

li ming  之间不能有空格  你这个相当于4个输入项
#5
i802862014-05-15 10:32
cin>>name改成getline(cin,name)
#6
yxq2110462014-05-15 10:58
还是不行
[local]1[/local]
#7
yxq2110462014-05-15 10:59
num is:1
name is:phone is:
#8
i802862014-05-15 11:08
在getline之前再加一句cin.sync()
#9
yxq2110462014-05-15 14:06
嗯,行了!谢谢!
1