Mình làm bài tập về nhà về nhập sinh viên đơn giản

sao không nhập được cả họ và tên

ví dụ : Nguyễn Văn A thì chỉ in ra được là Nguyễn thôi

Mọi người giúp mình cái nhé ,thank

Đây là bài của mình

#include <iostream.h>
#include <conio.h>
class sv
{
public:
char name[40];
int stt;
float dtb;
void inra();
void cinn();
};
void sv::inra()
{
cout << "SV " << name << " STT " << stt << " DTB " << dtb << endl;
}
void sv::cinn()
{
cout << "SV : ";cin >> name; //Nếu dùng gets(name) thì cũng thế
cout << "STT : "; cin >> stt;
cout << "DTB : "; cin >> dtb;
}
int main()
{
int n;
cout << "Nhap so luong SV can them : n = ";cin >> n;
sv a[n];
for(int i=0;i<n;i++)
{
a[i].cinn();
}
int j;
float bandau;
for(int i=1;i<n;i++)
{
bandau=a[i].dtb;
for(j=i;j>0 && a[j-1].dtb>bandau;j--)
{
a[j].dtb=a[j-1].dtb;
}
a[j].dtb=bandau;
}
for(int i=0;i<n;i++)
{
a[i].inra();
}
getch();
}