A parte la faccenda del "si" e "no" di cui ti ho scritto e che non hai neanche commentato, quel codice è sbagliato.
Se non vuoi che il programma termini mai il ciclo deve essere infinito e non deve prevedere i return
while (1)
{
cin >> c;
if ( c=='s') cout << "questo";
if ( c=='n') cout << "altro";
}
se vuoi che termini solamente con s o n allora la while deve essere diversa
while (c != 's' && c!= 'n')
{
cin >> c;
if ( c=='s') cout << "questo";
if ( c=='n') cout << "altro";
}