C++ 如何使cin接受空格?

C++ 如何使cin接受空格?,c++,cin,C++,Cin,我希望在输入姓名时,代码能够接受全名。如何允许cin接受空格 当我输入一个带有空格的名字时,结果是它假定下一个输入的主题名是姓氏。我怎样才能解决这个问题 #include<iostream> using namespace std; int main() { float mark1, mark2, mark3, mark4; char subject1[25], subject2[25], subject3[25], subject4[25]; char n

我希望在输入姓名时,代码能够接受全名。如何允许cin接受空格

当我输入一个带有空格的名字时,结果是它假定下一个输入的主题名是姓氏。我怎样才能解决这个问题

#include<iostream>
using namespace std;

int main()
{
    float mark1, mark2, mark3, mark4;
    char subject1[25], subject2[25], subject3[25], subject4[25];
    char name;
    float average;

    cout << "Please enter your name"<< endl;
    cin >> name;

    cout << "Please enter the first subject name"<< endl;
    cin >> subject1;

    cout << "Please enter the mark for " <<subject1<< endl;
    cin >>mark1;

    cout << "Please enter the second subject name"<< endl;
    cin >> subject2;

    cout << "Please enter the mark for " <<subject2<< endl;
    cin >>mark2;

    cout << "Please enter the third subject name"<< endl;
    cin >> subject3;

    cout << "Please enter the mark for " <<subject3<< endl;
    cin >>mark3;

    cout << "Please enter the fourth subject name"<< endl;
    cin >> subject4;

    cout << "Please enter the mark for " <<subject4<< endl;
    cin >>mark4;

    average=(mark1+mark2+mark3+mark4) / 4;

    cout << name << "'s " << subject1<< " mark is " <<mark1 <<", " << subject2<< " mark is " << mark2 <<", " <<subject3 <<" mark is " <<mark3 <<", " <<subject4<< " mark is " <<mark4 <<". His/her average is " <<average<< endl;

    cout << endl;

    system("PAUSE");
    return 0;
}
#包括
使用名称空间std;
int main()
{
浮动标记1、标记2、标记3、标记4;
char subject1[25],subject2[25],subject3[25],subject4[25];
字符名;
浮动平均;
姓名;
cout主题1;
请尝试使用
getline(cin,)

例如:

string name;
getline(cin, name);
cout << name;
字符串名;
getline(cin,name);
库特