C ++没有接受所有输入

时间:2015-08-03 07:29:51

标签: c++ cin

我正在创建一个简单的c ++程序。要将用户输入为字符串。我的程序运行正常,但是当我输入带有空间控制台的名称时,跳过下一个输入就是我的代码。

#include <iostream>

using namespace std; // So the program can see cout and endl

class Etradehouse
{  
 private:
    string cnic,name,fname, dob,qua, des,join_date , number , address;
    int sal;    
 public:
     void getData(){ 
   cout<<"\nPlease enter National identity Card number : \n";
    cin >>cnic ; 
   cout<<"Please enter name: \n";
   cin >> name; 
   cout<<"Please enter father name : \n";
   cin >> fname; 
   cout<<"Please enter Date of birth : \n";
   cin >> dob; 
   cout<<"Please enter qualification : \n";
   cin >> qua; 
   cout<<"Please enter designation : \n";
   cin >> des; 
  }
}; // Class ends here

int main()
{
 Etradehouse obj;
  obj.getData();  

}

1 个答案:

答案 0 :(得分:1)

它没有跳过,只是在遇到空格后才停止阅读。

使用std::getline(std::cin, name);