perchè hai definito char risposta[20] e non ad esempio string risposta? che differenza c'è?
Un programmatore C userebbe un array di char, un programmatore C++ la classe string. Stesso discorso per

codice:
strcmp(risposta,"NO")
dove sbaglio?
Mostra tutto il codice.