tu problema es muy sencillo, eso me pasaba a mi hace unos dos años, lo que pasa es que generalmente el primer cin.getline(); en estructuras lo que lee es primeramente el Enter que das.
Lo que debes hacer es simplemente agregar otra linea exacta asi:
Código C++:
Ver originalcout<<"escribe los apellidos del contacto \n";
cin.getline(vector[i].nombre,100);
cin.getline(vector[i].nombre,100);
Así debería estar solucionado tu problema!