Va bene la strada della variabile ma tieni presente che una variabile char non e' una stringa ma un solo carattere. Non puo' quindi contenere 'si' o 'no' ma semplicemente un carattere ...
Quindi, in C++, utilizza una
string risp;
oppure una stringa del C fatta da tre caratteri (2 per la risposta e uno per il terminatore)
char risp[3];