Ciao, dark
Il problema non è il cin, bensì le varie if:
if (f==c)
, ad esempio, compara il contenuto della variabile f con quello della variabile c (che è vuota!)
Se quello che vuoi fare è verificare se f è uguale alla lettera 'c', allora la if che ti serve è
if (f == 'c')
(una lettera fra apici indica che si sta passando un singolo carattere).
Inoltre, noto che hai fatto un errore con le if:
if (f == 'c')
cout << "\n inserisci i dati che possiedi \n";
cin >> x;
...
In questo caso se f è uguale a 'c' viene eseguito il cout, mentre il "cin >> x;" viene eseguito
in ogni caso!
Se tu vuoi fare in modo che molti comandi siano eseguiti solo se una condizione è vera, devi metterli fra parentesi graffe (se le ometti, la if eseguirà solo ultimi primo comando che la segue):
if (f=='c')
{
cout << "\ninserisci i dati che possiedi \n";
cin >> x;
... //Tutta questa parte verrà eseguita solo se la if è vera
}