A me funziona perfettamente sia cin che cout ...
Una cosa che non resco a capire è questa :

strcpy(str,c);
la string copy non richiede come parametri 2 puntatori a carattere ?