El Hm, de que no debe suceder - puede usted intentar especificar explícitamente una línea del delimitador
getline (cin, productName, “\ n ");
o
buf del carbón de leña [255];
cin.getline (buf, 255);
productName = buf;
¿?
(apesadumbrado, tienen que ser fuera de línea para un poco mientras que ahora)