Program pomija cin.getline ()

Zrobiłem ten program, Otrzymuję adres, nazwę i pracę użytkowników. Następnie umieszcza go w jednym ciągu i wyprowadza ten ciąg. (Wiem, że są na to lepsze sposoby)

char str[600];
char adrs[200];
char name[10];
char wrk[200];
cout<<"Enter your name and press ENTER: ";
cin.getline(name,10);
cout<<"\nEnter your adress and press ENTER:";
cin.getline(adrs,200);
cout<<"\nEnter your workplace and press ENTER:";
cin.getline(wrk,200);
strcpy(str,"My name is ");
strcat(str,name);
strcat(str,"\nand i live at ");
strcat(str,adrs);
strcat(str, "\nI also work at ");
strcat(str, wrk); strcat(str, "\n\n");
cout<<str<<endl;

Tutaj, gdy piszę nazwę, która przekracza 10 znaków Program bierze pierwsze 9 znaków, które użytkownik wprowadził zgodnie z oczekiwaniami, ale potem pomija wszystkie następnecin.getline() To jest w programie i przechodzi do wyjściastr i kończy program.

Dlaczego tak się dzieje i jak to naprawić?

questionAnswers(5)

yourAnswerToTheQuestion