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];