程序不允许2个输入?

时间:2013-10-29 16:12:06

标签: c++ input

所以我试图让用户输入他们的名字和身高。

我有其他代码。

我有这个。

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

int main() 
{ 
int name1; 
cout << "What's your name?"; 
cin >> name1; 

int height1; 
cout << "What's your height?"; 
cin >> height1; 

return 0; 
} 

问题在于它不允许用户输入他们的身高。有任何想法吗?

1 个答案:

答案 0 :(得分:6)

问题是,你使用的是int变量而不是std :: string。但是,您已经包含了<string>头文件,因此您可能希望这样做:

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

int main() 
{ 
std::string name1; 
cout << "What's your name?"; 
cin >> name1; 

std::string height1; 
cout << "What's your height?"; 
cin >> height1; 

return 0; 
} 

否则它仅在您输入整数时才有效 - 但对于'名称'输入没有多大意义。

修改:如果您还需要输入带有空格的名称,则可以使用std::getline

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

int main() 
{ 
std::string name1; 
cout << "What's your name?"; 
getline(cin, name1);

std::string height1; 
cout << "What's your height?"; 
getline(cin, height1);

return 0; 
}